20 #include <tbb/mutex.h>
54 virtual const char*
type()
const;
66 const DtString& templateName()
const;
77 virtual void registerTaskMsgCallbacks();
81 virtual void unregisterTaskMsgCallbacks();
84 virtual void refreshSpawnTemplateData();
132 virtual std::list<DtSimObjectReference> testAndSinkTraffic();
135 virtual bool shouldSinkObject(
const DtSimObject* trafficObject,
138 virtual void deleteObjects(
const std::list<DtSimObjectReference>& objectList);
154 virtual DtUUID findSinkPoint();
162 bool& dataAvailable,
const DtPlan& entityPlan);
164 virtual DtVector creationLocationAndOrientation(
double& heading,
181 void findClosestRoadSpawnPoints();
183 static void clearTemplatesCallback(
void* user);
184 virtual void processClearTemplates();
186 static void refreshSpawnTemplateDataCallback(
void* user);
187 virtual void processRefreshSpawnTemplateData();
192 virtual bool startLocationTaken(
const DtObjectType&,
const DtVector& geocentricLocation);
UUID is a unique ID wrapper class.
Definition: uuid.h:59
DtPoint myClosestRoadEdgeA
Definition: spawnController.h:219
tbb::mutex myRemovalMutex
Definition: spawnController.h:238
#define DT_DLL_vrfmodel
This file is used to determine how to build.
Definition: vrfmodelDefines.h:24
bool myShowRoadDistanceWarning
Definition: spawnController.h:222
const DtControllerComponent & operator=(const DtControllerComponent &orig)
assignment operator
Handle returned from Create Object Service calls.
Definition: createObjectHandle.h:12
Definition: boolSetting.h:30
This controller is part of the traffic spawn system. It creates new entities at a defined interval an...
Definition: spawnController.h:38
DtPoint myClosestRoadEdgeB
Definition: spawnController.h:220
virtual void preFirstTickInit()
This function can be overridden to initialize a component before it is ticked for the first time...
virtual const char * type() const =0
This returns a string from compTypes.h, and identifies the type of component.
The DtSimObjectReference is a shared pointer that can be used amongst many object for access to the u...
Definition: simObjectReference.h:26
bool myWarnedSinkOnce
Definition: spawnController.h:228
A readable, writable type whose name is the name of a component and that has a list of component name...
Definition: componentDescriptor.h:49
Descriptor for DtSpawnController.
Definition: spawnControllerDescriptor.h:21
Definition: readerWriterRegistry.h:39
DtCollisionDetector * myCollisionDetector
Definition: spawnController.h:232
Definition: settingsObject.h:27
bool myWarnedOnce
Definition: spawnController.h:227
boost::signals2::scoped_connection mySimObjectDeletedConnection
Definition: spawnController.h:236
DtPoint myCachedLocation
Definition: spawnController.h:216
Process state repository used to store runtime state of the DtSpawnController.
Definition: spawnControllerPSR.h:23
bool myDrivingOnLeftEnabled
Definition: spawnController.h:213
virtual bool init() override
Calls setRadio()
DtTacticalGraphicLocalObjectFacade myTacticalGraphicLocalObjectFacade
Definition: spawnController.h:237
int myAwaitingToBeCreated
Count of number of objects that are pending to be created due to data not being available.
Definition: spawnController.h:226
Base library for data that is used to control how spawn points generate entities. This data structure...
Definition: rwSpawnData.h:37
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 ...
DtRwObjectTypeInfo holds a display name and force number along with the type enumeration. Used in spawn data messages.
Definition: rwObjectTypeInfo.h:28
The DtCollisionDetector is a class used to detect collisions between a specified list of obstructions...
Definition: collisionDetector.h:54
The base class for all messages to/from a specific DtVrfObject. Various subclasses of this class will...
Definition: vrfObjectMessage.h:30
DtVrfOverlayObjectStateRepository * myStateRepository
Definition: spawnController.h:231
DtReal mySinkPointRadiusSq
Definition: spawnController.h:214
End User Description: DtControllerComponent is the base class for all controllers components...
Definition: controllerComponent.h:31
class DtPlan:
Definition: plan.h:92
const DtSpawnControllerDescriptor * myTrafficSourceDescriptor
Definition: spawnController.h:212
float myScaleFactor
Definition: spawnController.h:234
DtPoint myClosestRoadPoint
Definition: spawnController.h:218
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
bool myFoundRoadPoints
Definition: spawnController.h:217
The DtSimComponent class is the base class for the entire simulation model component hierarchy...
Definition: simComponent.h:91
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:88
Definition: vrfOverlayObjectStateRepository.h:30
bool myDataReady
Definition: spawnController.h:223
DtSpawnControllerPSR * myProcessState
Definition: spawnController.h:211
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