17 #include <tbb/spin_mutex.h>
18 #include <vlpi/deadReckoner.h>
29 class DtDynamicTerrainStateComponent;
32 namespace MAKVRinTerra
34 class DtFeatureGeometry;
65 virtual const char*
type()
const;
77 unsigned priority,
const DtString& soilType,
double distanceTraveled = 0.0,
double delay = 0.0);
91 static void addPersistentTracksCommandCallBack(
const DtSimCommand& cmd,
void *usr);
92 static void removePersistentTracksCommandCallBack(
const DtSimCommand& cmd,
void *usr);
97 virtual void processTrackFromCommand(
DtKeyValuePairList& trackParams,
const std::vector<DtVector>& points);
99 static void displayDebugForCurrentTracksCallback(
DtSimMessage* msg,
void* usrData);
100 virtual void processDisplayDebugForCurrentTracks(
DtSimMessage*);
102 static void clearDebugForCurrentTracksCallback(
DtSimMessage* msg,
void* usrData);
103 virtual void processClearDebugForCurrentTracks(
DtSimMessage*);
112 virtual void tickQueuedVehicleTrackData();
116 virtual void tickVehicleTrackData();
119 virtual void updatePublishedTrackChange(std::vector<makVrf::DtDynamicTerrainStateComponent*>& publishers,
137 virtual void discoverNewObjectsInArea();
143 std::vector<MAKVRinTerra::DtFeatureGeometry>& resultingGeom);
157 virtual void resetAllQueuedTracks();
160 virtual bool atMaximumNumberOfIndividualTracks()
const;
163 virtual void dumpPublishedTracksToLog()
const;
165 virtual void dumpQueuedTracksToLog()
const;
197 : trackParams(params), points(pts) {};
Definition: dynamicTerrainVehicleTrackController.h:194
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
Definition: keyValuePairList.h:18
DtRwQueuedDynamicTerrainVehicleTrackItem holds the information needed to make a dynamic change to the...
Definition: rwQueuedDynamicTerrainVehicleTrackItem.h:17
double myMaximumTraverseDistBetweenTrackPointsSquared
Definition: dynamicTerrainVehicleTrackController.h:177
DtDeadReckoner myDeadReckoner
Definition: dynamicTerrainVehicleTrackController.h:192
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:41
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
std::set< DtUUID > myObjectsInArea
Definition: dynamicTerrainVehicleTrackController.h:187
unsigned myMaxNumPtsPerTrack
Definition: dynamicTerrainVehicleTrackController.h:183
boost::signals2::scoped_connection mySimObjectDeletedConnection
Definition: dynamicTerrainVehicleTrackController.h:206
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
bool myShowingDebugTracks
Definition: dynamicTerrainVehicleTrackController.h:189
Definition: readerWriterRegistry.h:39
virtual bool taskVisualizationsActive() const
Returns true if task visualizations are currently active for this component. Default behavior for tas...
bool myUpdateTrackTaskVis
Definition: dynamicTerrainVehicleTrackController.h:190
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:52
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:196
File: simMsg.h.
Definition: simMessage.h:35
double myLastTimePublishedDebugPrint
Definition: dynamicTerrainVehicleTrackController.h:180
virtual const char * type() const
std::vector< DtVector > points
Definition: dynamicTerrainVehicleTrackController.h:200
DtDynamicTerrainVehicleTrackControllerDescriptor * myDynamicTerrainVehicleTrackDescriptor
Definition: dynamicTerrainVehicleTrackController.h:173
double myTrackPositionalThresholdSquared
Definition: dynamicTerrainVehicleTrackController.h:175
boost::signals2::scoped_connection mySimObjectAddedConnection
Definition: dynamicTerrainVehicleTrackController.h:205
DtSimCommand is an abstract base class from which commands can derive. It manages the read/write capa...
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. Must be subclassed f...
Definition: persistentTracksCommand.h:21
static DtSimComponent * creator(const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
Static creator function for factory registration.
double myNextObjectDiscoveryTime
Definition: dynamicTerrainVehicleTrackController.h:186
double myMinimumTraverseDistToPublishTracksSquared
Definition: dynamicTerrainVehicleTrackController.h:178
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:90
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:70
std::vector< QueuedTrackCommand > myQueuedTrackCommands
Definition: dynamicTerrainVehicleTrackController.h:203
double myTrackRotationalTraceThresh
Definition: dynamicTerrainVehicleTrackController.h:176
double myLastTimeQueuedDebugPrint
Definition: dynamicTerrainVehicleTrackController.h:179
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. Implemented by subclasses. ...
virtual void registerCallbacks()
Called by init to register any callbacks.
Represents a feature geometry.
Definition: featureGeometry.h:39
Definition: terrainGeometry.h:33
A locally simulated VRF object. Holds all internal and external data for the object, and provides access to both the current frame and next frame state data for the object. All current frame data is read-only, and next-frame data can be written to. No thread safety guarantees are made on this object during the simulation frame and it should only be accessed by the thread that is simulating the object.
Definition: localObject.h:86
double myTrackSamplingDistanceSquared
Definition: dynamicTerrainVehicleTrackController.h:174