mirror of
https://github.com/FlightControl-Master/MOOSE.git
synced 2025-08-15 10:47:21 +00:00
AIRBOSS v0.3.5
This commit is contained in:
parent
8cea501748
commit
58886dc42d
@ -1380,16 +1380,15 @@ end
|
|||||||
--- Smokes the zone boundaries in a color.
|
--- Smokes the zone boundaries in a color.
|
||||||
-- @param #ZONE_POLYGON_BASE self
|
-- @param #ZONE_POLYGON_BASE self
|
||||||
-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color.
|
-- @param Utilities.Utils#SMOKECOLOR SmokeColor The smoke color.
|
||||||
|
-- @param #number Segments (Optional) Number of segments within boundary line. Default 10.
|
||||||
-- @return #ZONE_POLYGON_BASE self
|
-- @return #ZONE_POLYGON_BASE self
|
||||||
function ZONE_POLYGON_BASE:SmokeZone( SmokeColor )
|
function ZONE_POLYGON_BASE:SmokeZone( SmokeColor, Segments )
|
||||||
self:F2( SmokeColor )
|
self:F2( SmokeColor )
|
||||||
|
|
||||||
local i
|
Segments=Segments or 10
|
||||||
local j
|
|
||||||
local Segments = 10
|
|
||||||
|
|
||||||
i = 1
|
local i=1
|
||||||
j = #self._.Polygon
|
local j=#self._.Polygon
|
||||||
|
|
||||||
while i <= #self._.Polygon do
|
while i <= #self._.Polygon do
|
||||||
self:T( { i, j, self._.Polygon[i], self._.Polygon[j] } )
|
self:T( { i, j, self._.Polygon[i], self._.Polygon[j] } )
|
||||||
@ -1410,6 +1409,38 @@ function ZONE_POLYGON_BASE:SmokeZone( SmokeColor )
|
|||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
--- Flare the zone boundaries in a color.
|
||||||
|
-- @param #ZONE_POLYGON_BASE self
|
||||||
|
-- @param Utilities.Utils#FLARECOLOR FlareColor The flare color.
|
||||||
|
-- @param #number Segments (Optional) Number of segments within boundary line. Default 10.
|
||||||
|
-- @return #ZONE_POLYGON_BASE self
|
||||||
|
function ZONE_POLYGON_BASE:FlareZone( FlareColor, Segments )
|
||||||
|
self:F2(FlareColor)
|
||||||
|
|
||||||
|
Segments=Segments or 10
|
||||||
|
|
||||||
|
local i=1
|
||||||
|
local j=#self._.Polygon
|
||||||
|
|
||||||
|
while i <= #self._.Polygon do
|
||||||
|
self:T( { i, j, self._.Polygon[i], self._.Polygon[j] } )
|
||||||
|
|
||||||
|
local DeltaX = self._.Polygon[j].x - self._.Polygon[i].x
|
||||||
|
local DeltaY = self._.Polygon[j].y - self._.Polygon[i].y
|
||||||
|
|
||||||
|
for Segment = 0, Segments do -- We divide each line in 5 segments and smoke a point on the line.
|
||||||
|
local PointX = self._.Polygon[i].x + ( Segment * DeltaX / Segments )
|
||||||
|
local PointY = self._.Polygon[i].y + ( Segment * DeltaY / Segments )
|
||||||
|
POINT_VEC2:New( PointX, PointY ):Flare(FlareColor)
|
||||||
|
end
|
||||||
|
j = i
|
||||||
|
i = i + 1
|
||||||
|
end
|
||||||
|
|
||||||
|
return self
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
--- Returns if a location is within the zone.
|
--- Returns if a location is within the zone.
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user