24 #include "matrix/coordTransform.h"
58 virtual bool init()
override;
61 virtual bool isRunningSubtask();
67 virtual void sendNextMovementTask();
71 virtual const char*
type()
const override;
76 virtual void tick()
override;
82 static void maneuverInFormationCallback(
DtSimMessage * msg,
void * usr);
96 void cleanFollowInFormation();
99 virtual void endFollowInFormation(
bool taskSuccess =
true);
118 virtual int adjustStartPoint(
const std::vector<DtVector>& routeVertices,
119 const DtVector& entityLocation);
129 virtual void doFollowerMoving();
130 virtual void doLeaderMoving();
135 virtual bool checkTaskEndCondition();
138 virtual double headingTo(DtVector localDestination);
141 virtual bool isLeader()
const;
144 virtual bool isLeaderCapable()
const;
147 virtual double horizDistBetweenPoints(DtVector, DtVector);
151 virtual double horizDistBetweenPoints(
DtPoint loc1,
DtPoint loc2);
160 virtual int findClosestSegmentIndex(DtVector testPoint, std::vector<DtVector> testRoute,
161 DtPoint& closestSegmentLoc,
double& distanceToSegment,
int indexSegmentFloor = 0);
166 virtual double findDesiredAcceleration(
double targetSpeed,
double targetHeading,
167 double currentHeading,
double disToTarget);
174 virtual bool createFollowerOffsetRoute(
const std::vector<DtVector>& localPoints,
175 float rightOffset,
float forwardOffset,
DtUUID& routeUUID);
181 virtual void processManeuverInFormation(
const DtTaskMessage& msg);
191 virtual bool makeTopographicVertices();
194 virtual double taskSpeedOrOrderedSpeed()
const;
202 virtual bool getValidDestinationFor(
const DtVector& localPositionIn, DtVector& localPositionOut);
206 virtual bool publishFormationRoutes()
const;
220 virtual double distanceBehind(
const DtVector topoRefPos,
221 const DtVector leaderDir,
const DtVector topoCurrentPosition);
222 virtual bool isPastDestination(
const int currentIndex);
225 virtual void reinitializeTemporaryVariables();
231 virtual DtVector shiftLocationAlongRoute(
double shiftDistance,
232 std::vector<DtVector> testRoute, DtVector initalLoc,
int segmentIndex);
236 virtual void startObstacleSearch(
const DtVector& localPosition,
double radius);
238 static void taskCompleteReportCallback(
DtSimMessage* msg,
void* usr);
239 virtual void processTaskCompleteReport(
DtSimMessage* msg);
UUID is a unique ID wrapper class.
Definition: uuid.h:59
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual bool init() override
Initializes myGroundVehicleState.
virtual void registerTaskMsgCallbacks()
File: lclVecIter.h.
Definition: localVectorIterator.h:25
Instances of DtRailMovementControllerPSR are used to hold the shared/checkpointable data for a rail m...
Definition: railMovementControllerPSR.h:48
virtual void clearTask() override
Overridden to deactivate the port group when this controller completes a task.
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Definition: readerWriterRegistry.h:39
const DtGroundAutoControllerComponent & operator=(const DtGroundAutoControllerComponent &orig)
assignment operator; not implemented
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick. Implemented by subclasses. ...
Definition: simComponent.h:443
virtual bool postAddComponentsInit() override
Calls lookupAndCacheProcessSR(), to look up our process state repository after all of the components ...
virtual void onRestore() override
Override to iterate over the descriptor to see if there are any targeting control tables...
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
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 ...
This is a convenience list that will add DtSimObjectReference objects and modify the list as objects ...
Definition: simObjectReferenceList.h:25
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
A DtTaskMsg is a DtRadioMsg with a pointer to a task. The type of the taskMsg is just the type of the...
Definition: taskMessage.h:21
DtGroundAutoControllerComponent is a base controller that holds capabilitites common to all automotiv...
Definition: groundAutoControllerComponent.h:34
A locally simulated VRF object.
Definition: localObject.h:98