diff --git a/Moose Development/Moose/Wrapper/Positionable.lua b/Moose Development/Moose/Wrapper/Positionable.lua index c815b7bfb..fa554dad9 100644 --- a/Moose Development/Moose/Wrapper/Positionable.lua +++ b/Moose Development/Moose/Wrapper/Positionable.lua @@ -1,25 +1,4 @@ ---- This module contains the POSITIONABLE class. --- --- 1) @{Positionable#POSITIONABLE} class, extends @{Identifiable#IDENTIFIABLE} --- =========================================================== --- The @{Positionable#POSITIONABLE} class is a wrapper class to handle the POSITIONABLE objects: --- --- * Support all DCS APIs. --- * Enhance with POSITIONABLE specific APIs not in the DCS API set. --- * Manage the "state" of the POSITIONABLE. --- --- 1.1) POSITIONABLE constructor: --- ------------------------------ --- The POSITIONABLE class provides the following functions to construct a POSITIONABLE instance: --- --- * @{Positionable#POSITIONABLE.New}(): Create a POSITIONABLE instance. --- --- 1.2) POSITIONABLE methods: --- -------------------------- --- The following methods can be used to identify an measurable object: --- --- * @{Positionable#POSITIONABLE.GetID}(): Returns the ID of the measurable object. --- * @{Positionable#POSITIONABLE.GetName}(): Returns the name of the measurable object. +--- **Wrapper** -- This module contains the POSITIONABLE class. -- -- === -- @@ -31,11 +10,34 @@ -- @field #string PositionableName The name of the measurable. -- @field Core.Spot#SPOT Spot The laser Spot. -- @field #number LaserCode The last assigned laser code. + +--- # POSITIONABLE class, extends @{Identifiable#IDENTIFIABLE} +-- +-- The POSITIONABLE class is a wrapper class to handle the POSITIONABLE objects: +-- +-- * Support all DCS APIs. +-- * Enhance with POSITIONABLE specific APIs not in the DCS API set. +-- * Manage the "state" of the POSITIONABLE. +-- +-- ## POSITIONABLE constructor +-- +-- The POSITIONABLE class provides the following functions to construct a POSITIONABLE instance: +-- +-- * @{Positionable#POSITIONABLE.New}(): Create a POSITIONABLE instance. +-- +-- ## POSITIONABLE methods +-- +-- The following methods can be used to identify an measurable object: +-- +-- * @{Positionable#POSITIONABLE.GetID}(): Returns the ID of the measurable object. +-- * @{Positionable#POSITIONABLE.GetName}(): Returns the name of the measurable object. +-- +-- +-- @field #POSITIONABLE POSITIONABLE = { ClassName = "POSITIONABLE", PositionableName = "", } - --- A DCSPositionable -- @type DCSPositionable -- @field id_ The ID of the controllable in DCS @@ -207,6 +209,28 @@ function POSITIONABLE:GetVec3() return nil end + +--- Get the bounding box of the underlying POSITIONABLE DCS Object. +-- @param #POSITIONABLE self +-- @return Dcs.DCSTypes#Distance The bounding box of the POSITIONABLE. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetBoundingBox() --R2.1 + self:F2() + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionableDesc = DCSPositionable:getDesc() --Dcs.DCSTypes#Desc + if PositionableDesc then + local PositionableBox = PositionableDesc.box + return PositionableBox + end + end + + return nil +end + + --- Returns the altitude of the POSITIONABLE. -- @param Wrapper.Positionable#POSITIONABLE self -- @return Dcs.DCSTypes#Distance The altitude of the POSITIONABLE. @@ -303,6 +327,29 @@ function POSITIONABLE:GetVelocity() return nil end + +--- Returns the POSITIONABLE height in meters. +-- @param Wrapper.Positionable#POSITIONABLE self +-- @return Dcs.DCSTypes#Vec3 The height of the positionable. +-- @return #nil The POSITIONABLE is not existing or alive. +function POSITIONABLE:GetHeight() --R2.1 + self:F2( self.PositionableName ) + + local DCSPositionable = self:GetDCSObject() + + if DCSPositionable then + local PositionablePosition = DCSPositionable:getPosition() + if PositionablePosition then + local PositionableHeight = PositionablePosition.p.y + self:T2( PositionableHeight ) + return PositionableHeight + end + end + + return nil +end + + --- Returns the POSITIONABLE velocity in km/h. -- @param Wrapper.Positionable#POSITIONABLE self -- @return #number The velocity in km/h @@ -600,3 +647,6 @@ function POSITIONABLE:GetLaserCode() --R2.1 return self.LaserCode end + + + diff --git a/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv b/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv index 11299e7e5..94fc57631 100644 --- a/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv +++ b/Utils/Slate Documentation Generator/bin/TreeHierarchy.csv @@ -4,19 +4,19 @@ @K=function, @M=Task_A2G, @N=onafterRouteToTarget, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=6536, @K=function, @M=Task_A2G, @N=onafterRouteToTargets, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_A2G.lua, @C=7408, @K=function, @M=Task_Cargo, @N=onafterSelectAction, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=10439, -@K=function, @M=Task_Cargo, @N=OnLeaveWaitingForCommand, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=13082, -@K=function, @M=Task_Cargo, @N=onafterRouteToPickup, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=13858, -@K=function, @M=Task_Cargo, @N=onafterArriveAtPickup, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=14477, -@K=function, @M=Task_Cargo, @N=onafterRouteToDeploy, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=15018, -@K=function, @M=Task_Cargo, @N=onafterArriveAtDeploy, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=15465, -@K=function, @M=Task_Cargo, @N=onafterLand, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=15895, -@K=function, @M=Task_Cargo, @N=onafterLanded, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=16854, -@K=function, @M=Task_Cargo, @N=onafterPrepareBoarding, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=17620, -@K=function, @M=Task_Cargo, @N=onafterBoard, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=18080, -@K=function, @M=Task_Cargo, @N=onafterBoarded, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=19021, -@K=function, @M=Task_Cargo, @N=onafterPrepareUnBoarding, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=19704, -@K=function, @M=Task_Cargo, @N=onafterUnBoard, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=20664, -@K=function, @M=Task_Cargo, @N=onafterUnBoarded, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=21539, +@K=function, @M=Task_Cargo, @N=OnLeaveWaitingForCommand, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=13084, +@K=function, @M=Task_Cargo, @N=onafterRouteToPickup, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=13860, +@K=function, @M=Task_Cargo, @N=onafterArriveAtPickup, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=14479, +@K=function, @M=Task_Cargo, @N=onafterRouteToDeploy, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=15020, +@K=function, @M=Task_Cargo, @N=onafterArriveAtDeploy, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=15467, +@K=function, @M=Task_Cargo, @N=onafterLand, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=15897, +@K=function, @M=Task_Cargo, @N=onafterLanded, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=16856, +@K=function, @M=Task_Cargo, @N=onafterPrepareBoarding, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=17622, +@K=function, @M=Task_Cargo, @N=onafterBoard, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=18082, +@K=function, @M=Task_Cargo, @N=onafterBoarded, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=19023, +@K=function, @M=Task_Cargo, @N=onafterPrepareUnBoarding, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=19706, +@K=function, @M=Task_Cargo, @N=onafterUnBoard, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=20666, +@K=function, @M=Task_Cargo, @N=onafterUnBoarded, @P=Fsm, @F=../../../MOOSE/Moose Development/Moose\Tasking\Task_CARGO.lua, @C=21541, @K=function, @M=Designate, @N=OnBeforeLaseOn, @P=DESIGNATE , @F=../../../MOOSE/Moose Development/Moose\Functional\Designate.lua, @C=12232, @K=function, @M=Designate, @N=OnAfterLaseOn, @P=DESIGNATE , @F=../../../MOOSE/Moose Development/Moose\Functional\Designate.lua, @C=12480, @K=function, @M=Designate, @N=LaseOn, @P=DESIGNATE , @F=../../../MOOSE/Moose Development/Moose\Functional\Designate.lua, @C=12701, diff --git a/docs/Documentation/AI_Patrol.html b/docs/Documentation/AI_Patrol.html index a349f1b11..af53dd252 100644 --- a/docs/Documentation/AI_Patrol.html +++ b/docs/Documentation/AI_Patrol.html @@ -953,6 +953,9 @@ Use the method AIPATROLZONE.M + +

This table contains the targets detected during patrol.

+
diff --git a/docs/Documentation/Cargo.html b/docs/Documentation/Cargo.html index 8b2fbef53..849e4255a 100644 --- a/docs/Documentation/Cargo.html +++ b/docs/Documentation/Cargo.html @@ -2921,6 +2921,7 @@ The range till cargo will board.

+ CARGO_UNIT.CargoCarrier @@ -3046,7 +3047,6 @@ The range till cargo will board.

- #number CARGO_UNIT.RunCount diff --git a/docs/Documentation/Designate.html b/docs/Documentation/Designate.html index d8950ff85..9133c530d 100644 --- a/docs/Documentation/Designate.html +++ b/docs/Documentation/Designate.html @@ -892,7 +892,6 @@ function below will use the range 1-7 just in case

- DESIGNATE.LaserCodes diff --git a/docs/Documentation/Detection.html b/docs/Documentation/Detection.html index 6770c840c..b60e01592 100644 --- a/docs/Documentation/Detection.html +++ b/docs/Documentation/Detection.html @@ -2324,7 +2324,6 @@ The index of the DetectedItem.

- #number DETECTION_BASE.DetectedItemCount @@ -2338,7 +2337,6 @@ The index of the DetectedItem.

- #number DETECTION_BASE.DetectedItemMax diff --git a/docs/Documentation/Fsm.html b/docs/Documentation/Fsm.html index c8c189c3e..9f6365bca 100644 --- a/docs/Documentation/Fsm.html +++ b/docs/Documentation/Fsm.html @@ -1624,7 +1624,7 @@ A string defining the start state.

- #string + FSM._StartState @@ -1923,6 +1923,7 @@ A string defining the start state.

+ FSM.current diff --git a/docs/Documentation/Movement.html b/docs/Documentation/Movement.html index 45c002a4d..ab459b6d5 100644 --- a/docs/Documentation/Movement.html +++ b/docs/Documentation/Movement.html @@ -215,6 +215,7 @@ on defined intervals (currently every minute).

+ #number MOVEMENT.AliveUnits @@ -223,6 +224,9 @@ on defined intervals (currently every minute).

+ +

Contains the counter how many units are currently alive

+
diff --git a/docs/Documentation/Positionable.html b/docs/Documentation/Positionable.html index 196457991..e9d8defe0 100644 --- a/docs/Documentation/Positionable.html +++ b/docs/Documentation/Positionable.html @@ -97,34 +97,10 @@

Module Positionable

-

This module contains the POSITIONABLE class.

+

Wrapper -- This module contains the POSITIONABLE class.

-

1) Positionable#POSITIONABLE class, extends Identifiable#IDENTIFIABLE

-

The Positionable#POSITIONABLE class is a wrapper class to handle the POSITIONABLE objects:

- -
    -
  • Support all DCS APIs.
  • -
  • Enhance with POSITIONABLE specific APIs not in the DCS API set.
  • -
  • Manage the "state" of the POSITIONABLE.
  • -
- -

1.1) POSITIONABLE constructor:

-

The POSITIONABLE class provides the following functions to construct a POSITIONABLE instance:

- - - -

1.2) POSITIONABLE methods:

-

The following methods can be used to identify an measurable object:

- - -
@@ -133,7 +109,13 @@ POSITIONABLE +

POSITIONABLE class, extends Identifiable#IDENTIFIABLE

+

The POSITIONABLE class is a wrapper class to handle the POSITIONABLE objects:

+ +
    +
  • Support all DCS APIs.
  • +
@@ -150,12 +132,6 @@

Type POSITIONABLE

- - - - + + + + @@ -177,6 +159,12 @@ + + + + @@ -372,6 +360,37 @@
+

POSITIONABLE class, extends Identifiable#IDENTIFIABLE

+ +

The POSITIONABLE class is a wrapper class to handle the POSITIONABLE objects:

+ +
    +
  • Support all DCS APIs.
  • +
+ + +
    +
  • Enhance with POSITIONABLE specific APIs not in the DCS API set.
  • +
  • Manage the "state" of the POSITIONABLE.
  • +
+ +

POSITIONABLE constructor

+ +

The POSITIONABLE class provides the following functions to construct a POSITIONABLE instance:

+ + + +

POSITIONABLE methods

+ +

The following methods can be used to identify an measurable object:

+ + +
@@ -405,20 +424,6 @@
- #string - -POSITIONABLE.ClassName - -
-
- - - -
-
-
-
- POSITIONABLE:GetAltitude() @@ -465,6 +470,34 @@ Radio

+ +POSITIONABLE:GetBoundingBox() + +
+
+ +

Get the bounding box of the underlying POSITIONABLE DCS Object.

+ +

Return values

+
    +
  1. + +

    Dcs.DCSTypes#Distance: +The bounding box of the POSITIONABLE.

    + +
  2. +
  3. + +

    #nil: +The POSITIONABLE is not existing or alive.

    + +
  4. +
+
+
+
+
+ POSITIONABLE:GetCoordinate() @@ -521,6 +554,34 @@ The POSITIONABLE is not existing or alive.

+ +POSITIONABLE:GetHeight() + +
+
+ +

Returns the POSITIONABLE height in meters.

+ +

Return values

+
    +
  1. + +

    Dcs.DCSTypes#Vec3: +The height of the positionable.

    + +
  2. +
  3. + +

    #nil: +The POSITIONABLE is not existing or alive.

    + +
  4. +
+
+
+
+
+ POSITIONABLE:GetLaserCode() diff --git a/docs/Documentation/Spawn.html b/docs/Documentation/Spawn.html index 81de94c32..5c66f6f52 100644 --- a/docs/Documentation/Spawn.html +++ b/docs/Documentation/Spawn.html @@ -2944,7 +2944,7 @@ Spawn_BE_KA50 = SPAWN:New( 'BE KA-50@RAMP-Ground Defense' ):Schedule( 600, 0.5 ) -

When the first Spawn executes, all the Groups need to be made visible before start.

+

Flag that indicates if all the Groups of the SpawnGroup need to be visible when Spawned.

diff --git a/docs/Documentation/Spot.html b/docs/Documentation/Spot.html index 3ba35dc6d..5befab5b3 100644 --- a/docs/Documentation/Spot.html +++ b/docs/Documentation/Spot.html @@ -763,7 +763,6 @@ true if it is lasing

- SPOT.ScheduleID @@ -777,7 +776,6 @@ true if it is lasing

- SPOT.SpotIR @@ -791,7 +789,6 @@ true if it is lasing

- SPOT.SpotLaser @@ -805,7 +802,6 @@ true if it is lasing

- SPOT.Target diff --git a/docs/Documentation/Task_Cargo.html b/docs/Documentation/Task_Cargo.html index 3895f8162..deba519e2 100644 --- a/docs/Documentation/Task_Cargo.html +++ b/docs/Documentation/Task_Cargo.html @@ -503,7 +503,7 @@ based on the tasking capabilities defined in Task#TA
- Core.Cargo#CARGO_GROUP + FSM_PROCESS.Cargo @@ -517,7 +517,6 @@ based on the tasking capabilities defined in Task#TA
- FSM_PROCESS.DeployZone diff --git a/docs/Documentation/Zone.html b/docs/Documentation/Zone.html index f18faf4f3..38eeb7d9b 100644 --- a/docs/Documentation/Zone.html +++ b/docs/Documentation/Zone.html @@ -97,10 +97,6 @@

Module Zone

-

Core - ZONE classes define zones within your mission of various forms, with various capabilities.

- - -

Banner Image


@@ -109,6 +105,10 @@
  • Test if an object is within the zone boundaries.
  • +
+ + +
  • Provide the zone behaviour. Some zones are static, while others are moveable.
diff --git a/docs/Documentation/index.html b/docs/Documentation/index.html index a5fc2bf03..ec204dbb4 100644 --- a/docs/Documentation/index.html +++ b/docs/Documentation/index.html @@ -433,7 +433,7 @@ are design patterns allowing efficient (long-lasting) processes and workflows.
@@ -586,7 +586,15 @@ which are excellent tools to be reused in an OO environment!.

POSITIONABLE.ClassName - -
POSITIONABLE:GetAltitude()

Returns the altitude of the POSITIONABLE.

@@ -165,6 +141,12 @@
POSITIONABLE:GetBeacon()

Create a Radio#BEACON, to allow this POSITIONABLE to broadcast beacon signals

+
POSITIONABLE:GetBoundingBox() +

Get the bounding box of the underlying POSITIONABLE DCS Object.

POSITIONABLE:GetHeading()

Returns the POSITIONABLE heading in degrees.

+
POSITIONABLE:GetHeight() +

Returns the POSITIONABLE height in meters.

Positionable -

This module contains the POSITIONABLE class.

+

Wrapper -- This module contains the POSITIONABLE class.

Zone -

Core - ZONE classes define zones within your mission of various forms, with various capabilities.

+

Banner Image

+ +
+ +

There are essentially two core functions that zones accomodate:

+ +
    +
  • Test if an object is within the zone boundaries.
  • +