18 #include <vlutil/vlConfig.h>
93 virtual bool init()
override;
97 virtual void tick()
override;
101 virtual const char*
type()
const override;
120 static void setFormationCallback(
DtSimMessage * msg,
void * usr);
128 static void setFormationTypeCallback(
DtSimMessage * msg,
void * usr);
135 static void setHeadingCallback(
DtSimMessage * msg,
void * usr);
142 static void setLocationCallback(
DtSimMessage * msg,
void * usr);
149 static void snapIntoFormationCallback(
DtSimMessage * msg,
void * usr);
152 virtual void enable()
override;
155 virtual void disable()
override;
170 virtual void checkForFormationStateUpdate();
175 virtual bool formationUpdateIsNeeded() ;
191 virtual void processSetFormationType(
DtSimMessage * msg);
211 virtual void processSnapIntoFormation(
DtSimMessage * msg);
221 virtual void processSubordinateAdded(
const DtUUID& info);
222 virtual void processSubordinateRemoved(
const DtUUID& info);
223 virtual void processDesignatorOrderChanged();
243 virtual void snapIntoFormation(
const DtString& formation,
244 const DtVector& location,
double heading,
bool applyHeading);
288 virtual std::vector<int> assignPromotionIdsToSubordinates(
289 std::vector<DtUUID>& subordinateList,
290 DtFormation& formation,
const std::string formationName,
291 const bool doPromote =
false);
294 virtual std::vector<int> generateFormationIndices(
299 virtual int findPositionInVector(
const std::vector<DtUUID> subordinateList,
300 const DtUUID& entityId)
const;
309 virtual void extendFormation(
DtFormation& formation,
310 const std::string formationName,
const int size);
323 virtual void generateFormationAtPositionAndOrientation(
const DtVector& geocentricOrigin,
324 const DtTaitBryan& geocentricOrientation, std::vector<DtVector> geocentricPositions,
338 virtual void updateFormationState();
353 const DtUUID& subordinate)
const;
360 virtual bool createPSR();
373 static void requestAvailableFormationsCallback(
const DtVrfObjectMessage* msg,
void* usr);
378 virtual void addSetDataCallbacks();
382 void removeSetDataCallbacks();
437 bool myFirstTimedTick =
true;
467 virtual const char*
type()
const override;
UUID is a unique ID wrapper class.
Definition: uuid.h:59
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Objects may contain a collection of other objects, such as overlays or pseudo-aggregate entities...
Definition: subordinateManager.h:43
Definition: organizationManagerNode.h:40
Definition: organizedManagedObjectList.h:17
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
Definition: simRadio.h:30
virtual void timedTick()
This version of tick checks to see if the time to tick has arrived. It checks to see if myNextTickTim...
virtual void setRadio(DtSimRadio *radio)
virtual void enable() override
Enables the component and resends capable tasks and sets.
voidpf void uLong size
Definition: ioapi.h:39
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
virtual const char * type() const override=0
This returns a string from compTypes.h, and identifies the type of component.
Definition: readerWriterRegistry.h:39
virtual void disable()
Is this component enabled or not. If enabled, component's tick function will be called, otherwise it will not. Default is true (enabled).
virtual bool init() override
Calls setRadio()
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component. The component is ticked once each simulation from ...
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:31
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:96
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:89
This class manages the distribution of DtSetDataRequests within a single DtLocalObject. Components of the object, or other parts of the code, register interested in particular types of set data messages and when such a message is processed by the DtSetDataManager, each of the registered parties is notified.
Definition: setDataManager.h:48
void processSetLocation(DtSetDataRequest *set, const DtVertexList &vertices, double position, DtMoveAlongRouteTimeEstimator *est)
Instances of DtManagedObjectList are created and maintained by a DtManagedObjectListManager. The lists contains a subset of the objects in DtSimObjectManager that meet the specified predicate. If specified at creation time, the list automatically updates itself periodically. The lists should be handled though shared pointers.
Definition: managedObjectList.h:45
Definition: vrfAggregateStateRepository.h:21
Contains the set of readable/writeable parameters associated with a pseudo-aggregate entities...
Definition: aggregateObjectParameters.h:29
DtCompatibilityRadio.
Definition: compatibilityRadio.h:30
A locally simulated VRF object.
Definition: localObject.h:98