15 #include <matrix/vlVector.h>
19 #include <boost/shared_ptr.hpp>
86 virtual bool createPSR();
96 virtual const char*
type()
const;
101 static void taskCompleteReportCallback(
DtSimMessage* msg,
void* usr);
103 virtual void processTaskCompleteReport(
DtSimMessage* msg);
105 static void destinationChangedCallback(
const DtVrfObject* obj,
void* usrData);
111 virtual void processDestinationChanged(
const DtVrfObject* obj);
116 static void objectAboutToBeRemovedCallback(
const DtVrfObject* obj,
void* usr);
117 virtual void processObjectAboutToBeRemoved(
const DtVrfObject* obj);
124 static void setLocationCompleteCallback(
const DtVrfObject*,
void* usr);
125 virtual void processSetLocationComplete();
134 virtual void clearCurrentPath();
139 virtual bool isEntityCloseEnoughToRoad(
143 virtual bool isEntityOnRoad(
DtRailSegment* railSegment)
const;
150 virtual void registerDestinationChangedCallback();
154 virtual void unregisterDestinationChangedCallback();
163 virtual void removeDebugPath();
166 virtual bool setupPathToDestination(
const DtVector& start,
const DtVector& end);
173 static void destinationDiscovered(
void*);
174 virtual void processDestinationDiscovered();
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
bool myDestinationChangedCallbackRegistered
Definition: railPathController.h:196
std::list< DtRailSegment * > DtRailSegmentList
Definition: railSegment.h:197
virtual void registerTaskMsgCallbacks()
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
DtRailSegment are segments entities can follow when using the rail movement system.
Definition: railSegment.h:23
This class provides a base class for all controllers that are capable of executing a DtSimTask...
Definition: singleTaskControllerComponent.h:20
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
Definition: readerWriterRegistry.h:39
virtual const char * type() const =0
Returns a string identifies the class type of component.
virtual bool init()
Calls setRadio()
DtRailPathControllerPSR * myProcessState
Container for state data associated with this component.
Definition: railPathController.h:193
virtual void clearTask()
If component is currently tasked, calls clearPendingSubtasks(), sets the tasked flag to false...
DtBoost::shared_ptr< DtSimTaskState > DtSimTaskStatePtr
Definition: taskAndTaskStateDefines.h:18
DtRailPathControllerDescriptor; descriptor for the DDtRailPathController component.
Definition: railPathControllerDescriptor.h:23
DtIteratorDirection
Definition: iteratorBase.h:23
const DtRailPathControllerDescriptor * myPathDescriptor
Definition: railPathController.h:195
DT_DLL_VRVCORE double distance(const makVrv::DtCoordinateSystem &, const DtVector &from, const DtVector &to)
Returns the distance from the two points.
File: simMsg.h.
Definition: simMessage.h:35
virtual void tick()
This gives the thread of control to the component.
virtual DtSimTaskStatePtr currentTaskState() const
class DtRailPathControllerPSR:
Definition: railPathControllerPSR.h:27
DtRailPathController is a controller that models movement along a generated path for an entity making...
Definition: railPathController.h:56
Handle to async job.
Definition: asyncJobMapEntry.h:29
boost::shared_ptr< DtAsyncJobMapEntry > myPathJobEntry
Token for asynchronous path plan task.
Definition: railPathController.h:189
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
const DtTaskControllerComponent & operator=(const DtTaskControllerComponent &orig)
assignment operator
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
File: railPathTask.h.
Definition: railPathTask.h:45
A DtTaskMsg is a DtRadioMsg with a pointer to a task.
Definition: taskMessage.h:19