17 #include <tbb/spin_mutex.h>
18 #include <vlpi/deadReckoner.h>
27 namespace MAKVRinTerra
29 class DtFeatureGeometry;
60 virtual const char*
type()
const;
72 unsigned priority,
const DtString& soilType,
double distanceTraveled = 0.0,
double delay = 0.0);
83 static void objectAddedCallBack(
const DtVrfObject*
object,
void* usr);
84 virtual void processObjectAdded(
const DtVrfObject*
object);
86 static void objectRemovedCallBack(
const DtVrfObject*
object,
void* usr);
87 virtual void processObjectRemoved(
const DtVrfObject*
object);
89 static void addPersistentTracksCommandCallBack(
const DtSimCommand& cmd,
void *usr);
90 static void removePersistentTracksCommandCallBack(
const DtSimCommand& cmd,
void *usr);
95 virtual void processTrackFromCommand(
DtKeyValuePairList& trackParams,
const std::vector<DtVector>& points);
97 static void displayDebugForCurrentTracksCallback(
DtSimMessage* msg,
void* usrData);
98 virtual void processDisplayDebugForCurrentTracks(
DtSimMessage*);
100 static void clearDebugForCurrentTracksCallback(
DtSimMessage* msg,
void* usrData);
101 virtual void processClearDebugForCurrentTracks(
DtSimMessage*);
103 virtual bool isCapableOfPersistentTracks(
const DtVrfObject *
object)
const;
110 virtual void tickQueuedVehicleTrackData();
114 virtual void tickVehicleTrackData();
117 virtual void updatePublishedTrackChange(std::vector<DtDynamicTerrainPublisher*>& publishers,
135 virtual void discoverNewObjectsInArea();
141 std::vector<MAKVRinTerra::DtFeatureGeometry>& resultingGeom);
155 virtual void resetAllQueuedTracks();
158 virtual bool atMaximumNumberOfIndividualTracks()
const;
161 virtual void dumpPublishedTracksToLog()
const;
163 virtual void dumpQueuedTracksToLog()
const;
191 : trackParams(params), points(pts) {};
Definition: dynamicTerrainVehicleTrackController.h:188
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
#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
Definition: keyValuePairList.h:18
DtRwQueuedDynamicTerrainVehicleTrackItem holds the information needed to make a dynamic change to the...
Definition: rwQueuedDynamicTerrainVehicleTrackItem.h:17
static DtSimComponent * creator(const DtString &name, DtVrfObject *owner, DtSimManager *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Static creator function for factory registration.
double myMaximumTraverseDistBetweenTrackPointsSquared
Definition: dynamicTerrainVehicleTrackController.h:171
DtDeadReckoner myDeadReckoner
Definition: dynamicTerrainVehicleTrackController.h:186
virtual void registerTaskMsgCallbacks()
virtual bool isCommandValidForArea(const DtDynamicTerrainCommand &cmd)
Returns true if the geometry for the command is within our area of control.
Definition: rwDynamicTerrainVehicleTrackItem.h:24
DtDynamicTerrainVehicleTrackController is a controller that calculates and publishes terrain changes ...
Definition: dynamicTerrainVehicleTrackController.h:36
std::set< DtUUID > myObjectsInArea
Definition: dynamicTerrainVehicleTrackController.h:181
unsigned myMaxNumPtsPerTrack
Definition: dynamicTerrainVehicleTrackController.h:177
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:42
bool myShowingDebugTracks
Definition: dynamicTerrainVehicleTrackController.h:183
Definition: readerWriterRegistry.h:39
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component.
bool myUpdateTrackTaskVis
Definition: dynamicTerrainVehicleTrackController.h:184
DtSimCommand which causes a specific list of dynamic terrain changes to take place at the specified g...
Definition: persistentTracksCommand.h:71
Definition: dynamicTerrainVehicleTrackControllerDescriptor.h:29
DtDynamicTerrainMunitionDamageController is a controller that calculates and publishes terrain change...
Definition: dynamicTerrainController.h:48
DtSimCommand which causes a specific list of dynamic terrain changes to take place at the specified g...
Definition: persistentTracksCommand.h:151
QueuedTrackCommand(const DtKeyValuePairList ¶ms, const std::vector< DtVector > &pts)
Definition: dynamicTerrainVehicleTrackController.h:190
File: simMsg.h.
Definition: simMessage.h:35
double myLastTimePublishedDebugPrint
Definition: dynamicTerrainVehicleTrackController.h:174
virtual const char * type() const
std::vector< DtVector > points
Definition: dynamicTerrainVehicleTrackController.h:194
DtDynamicTerrainVehicleTrackControllerDescriptor * myDynamicTerrainVehicleTrackDescriptor
Definition: dynamicTerrainVehicleTrackController.h:167
double myTrackPositionalThresholdSquared
Definition: dynamicTerrainVehicleTrackController.h:169
DtSimCommand is an abstract base class from which commands can derive.
Definition: simCommand.h:32
virtual void deregisterCallbacks()
Called by destructor to deregister any callbacks.
Base class for any DtSimCommand which persistent changes to be added or removed.
Definition: persistentTracksCommand.h:21
double myNextObjectDiscoveryTime
Definition: dynamicTerrainVehicleTrackController.h:180
double myMinimumTraverseDistToPublishTracksSquared
Definition: dynamicTerrainVehicleTrackController.h:172
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:67
std::vector< QueuedTrackCommand > myQueuedTrackCommands
Definition: dynamicTerrainVehicleTrackController.h:197
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:103
double myTrackRotationalTraceThresh
Definition: dynamicTerrainVehicleTrackController.h:170
double myLastTimeQueuedDebugPrint
Definition: dynamicTerrainVehicleTrackController.h:173
DtDynamicTerrainController & operator=(const DtDynamicTerrainController &orig)
Not Implemented.
virtual void preFirstTickInit()
Publishes any dynamic terrain changes saved in PSR.
virtual void tick()
This component's simulation tick.
virtual void updateTaskVisualizations()
Called to update task visualizations after every tick.
virtual void registerCallbacks()
Called by init to register any callbacks.
Represents a feature geometry.
Definition: featureGeometry.h:35
Definition: terrainGeometry.h:33
double myTrackSamplingDistanceSquared
Definition: dynamicTerrainVehicleTrackController.h:168