43 virtual bool init()
override;
47 virtual const char*
type()
const override;
58 virtual void tick()
override;
65 static void routeChangedCallback(
const DtSimObject* obj,
void * usr);
66 virtual void processRouteChanged(
const DtSimObject* obj);
92 virtual bool setupRoute();
106 virtual double findDesiredSpeed(
const double maxAcceleration = 0.0)
override;
116 virtual double nextVertexSpeedForDownstreamRoute(
const double maxVertexSpeed,
const double maxLatAccel,
const double maxDecel,
const double cruiseSpeed)
const;
119 virtual double nextTurnAngle()
const;
126 virtual void stop(
bool success =
true)
override;
150 virtual void buildLocalRoute();
154 virtual void emptyVertexList();
176 const DtVector& testPoint,
double& closestDistance,
177 double& segmentDistance);
bool myWaitingForDiscovery
Definition: groundMoveAlongControllerComponent.h:195
virtual void stop(bool success=true)
Set port values for stopping, and mark the task complete.
virtual const char * type() const override
Returns a string identifies the class type of component. Type values are defined in compTypes...
virtual DtAutomotivePSR * getPSR()
Gets the process state repository for purposes of providing attributes.
Definition: groundMoveAlongControllerComponent.h:75
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
virtual double findDesiredSpeed(const DtVector &localDestination, const double stoppingAcceleration=0.0)
Determines how fast we should go. Considers ordered speed and task speed. Gets the final speed desire...
DtAutomotivePSR * myProcessState
Pointer to a process state repository used to store state data associated with this component...
Definition: groundAutoControllerComponent.h:388
virtual void tick() override
Looks at the value on #myCollisionAvoidancePort, and if there is a value and the destination point is...
File: lclVecIter.h.
Definition: localVectorIterator.h:25
virtual void setupDestinationVector()
Sets up a vector from the current destination location to the entity's location to use in determining...
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
DtGroundMoveAlongControllerComponent is a controller that models movement of a ground entity along a ...
Definition: groundMoveAlongControllerComponent.h:25
Definition: readerWriter.h:85
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
std::shared_ptr< DtSimTaskState > DtSimTaskStatePtr
Definition: taskAndTaskStateDefines.h:18
virtual void clearTask() override
Releases the nav interface and then calls the parent clearTask().
virtual bool beginProcessingTask(const DtTaskMessage &task, DtSimTaskStatePtr taskState) override
Called by the task manager when this controller should start executing the specified task...
DtVectorOutputPort * myCurrentVertexLocationOutputPort
Output Port Name: current-vertex-location Output Port Description: Specifies the current vertex locat...
Definition: groundMoveAlongControllerComponent.h:193
double myTimeStartedWaiting
Definition: groundMoveAlongControllerComponent.h:196
DT_DLL_vrfutil const DtRailSegment * findClosestSegment(const DtVector &pos, const DtRailSegmentList *rails, const Coordinate_System &coordinateSystem, double &distanceSqAlongClosest)
virtual bool init() override
Initializes modifyVrfObjectCallback.
Instances of DtAutomotivePSR are used to hold the shared/checkpointable data for an automotive system...
Definition: automotivePSR.h:45
DtGroundMoveToDestinationControllerComponent is a controller that provides a kinematics-based model o...
Definition: groundMoveToDestinationControllerComponent.h:40
Instances of DtVectorOutputPort are output ports through which data producers can send a DtVector...
Definition: vectorIOPort.h:52
virtual void processSetLocation(DtSimMessage *msg)
Resets the destination vector when the location of the entity to which this controller is attached is...
const DtGroundMoveToDestinationControllerComponent & operator=(const DtGroundMoveToDestinationControllerComponent &orig)
assignment operator; see comments on copy constructor!
File: simMsg.h.
Definition: simMessage.h:35
int myPreviousVertex
Definition: groundMoveAlongControllerComponent.h:186
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
virtual bool decideToGiveUpTask() const override
Checks to see if destination is inside an obstruction. If it is, returns true. Otherwise it returns t...
virtual void registerTaskMsgCallbacks() override
Overridden to register interest in move to and set location commands.
virtual DtSimTaskStatePtr currentTaskState() const
bool myResetVertex
Definition: groundMoveAlongControllerComponent.h:184
virtual double destinationSpeed(const double cruiseSpeed) const
Determines the appropriate final speed at the destination. Considers whether the continueFlag has bee...
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
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:80
virtual bool setupDestination()
= "BlockedByWall";
static void setLocationCallback(DtSimMessage *msg, void *usr)
Calls processSetLocation.
bool myRouteHasChanged
This gets set to true when a modifyRoute message for the route we're following is received...
Definition: groundMoveAlongControllerComponent.h:183
class DtLocalVertexList:
Definition: localVertexList.h:20
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
virtual void processEstimatedTotCalculation()
calculate estimated tot
virtual void updateTaskVisualizations() override
Draw task visualizations. By default, the following are drawn:
virtual bool createPorts() override
Overridden to create the automotive ports.
A locally simulated VRF object.
Definition: localObject.h:98