VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions
DtSpawnController Class Reference

This controller is part of the traffic spawn system. It creates new entities at a defined interval and gives them a plan to move toward a random sink object. It then monitors these entities, when when they are close to their sink point, it deletes them.

Inheritance diagram for DtSpawnController:
Inheritance graph
[legend]

Public Member Functions

 DtSpawnController (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtSpawnController ()
 
virtual const chartype () const
 
const DtStringtemplateName () const
 
virtual void registerTaskMsgCallbacks ()
 
virtual void unregisterTaskMsgCallbacks ()
 
virtual bool init ()
 
virtual void refreshSpawnTemplateData ()
 
virtual void preFirstTickInit ()
 
virtual void tick ()
 
- Public Member Functions inherited from DtControllerComponent
 DtControllerComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtControllerComponent ()
 
virtual bool postAddComponentsInit () override
 
virtual DtSimRadioradio ()
 
virtual void taskNotify (const DtSimTask &task)
 
virtual void clearTask ()
 
virtual void enableTaskTypes ()
 
virtual void enableScriptedTask (const DtString &scriptId)
 
virtual void disableTaskTypes ()
 
virtual void enable () override
 
- Public Member Functions inherited from DtSimComponent
 DtSimComponent (const DtString &name, DtLocalObject *owner, DtSimulationServices *simServices, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
virtual ~DtSimComponent ()
 
virtual void setParentSystem (DtComponentSystem *system)
 
DtComponentSystemparentSystem () const
 
virtual void registerAttributeFunctions ()
 
virtual void postTick ()
 
virtual void timedTick ()
 
virtual void setMinTickPeriod (double minTickPeriod, double minTickPeriodVariance)
 
virtual void setupFirstTickTime ()
 
virtual void setEntity (DtLocalObject *entity)
 
virtual DtSimComponentnextComponent ()
 
virtual DtSimComponentprevComponent ()
 
virtual void setListItem (DtListItem *item)
 
virtual DtListItem * listItem ()
 
virtual void putData (std::string &fp, int indentLevel=0)
 
virtual DtlObjPtr getData (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
 
virtual void addInputPort (DtInputPort *port)
 
virtual void removeInputPort (DtInputPort *port)
 
virtual DtInputPortlookupInputPort (const DtString &portName)
 
virtual DtList inputPortList () const
 
virtual void addOutputPort (DtOutputPort *port)
 
virtual void removeOutputPort (DtOutputPort *port)
 
virtual DtOutputPortlookupOutputPort (const DtString &portName)
 
virtual DtList outputPortList () const
 
virtual void addInputPortGroup (DtInputPortGroup *group)
 
virtual void removeInputPortGroup (DtInputPortGroup *group)
 
virtual DtInputPortGrouplookupInputPortGroup (const DtString &groupName)
 
virtual DtList inputPortGroupList () const
 
virtual void addOutputPortGroup (DtOutputPortGroup *group)
 
virtual void removeOutputPortGroup (DtOutputPortGroup *group)
 
virtual DtOutputPortGrouplookupOutputPortGroup (const DtString &groupName)
 
virtual DtList outputPortGroupList () const
 
virtual int priority () const
 
virtual void setPriority (int priority)
 
double dT () const
 
virtual void setDT (double deltaT)
 
virtual void setComponentDescriptor (DtComponentDescriptor *componentDescriptor)
 
virtual const
DtComponentDescriptor
componentDescriptor () const
 
virtual bool tickWhileDestroyed () const
 
DtVrfProcessStateRepositoryManagerpsrManager ()
 
virtual const DtSymbolStringcomponentFullName () const
 
DtPhysicalWorldphysicalWorld ()
 
const DtPhysicalWorldphysicalWorld () const
 
const DtAttachedTerrainterrainAttachedTo () const
 
DtLocalObjectentity ()
 
const DtLocalObjectentity () const
 
DtSimulationServicessimulationServices ()
 
const DtSimulationServicessimulationServices () const
 
const Coordinate_SystemcoordinateSystem () const
 
virtual void isClutterChanged ()
 
virtual bool taskVisualizationsActive () const
 
virtual bool taskVisualizationsEnabled () const
 
makVrf::DtTaskVisualizationMaptaskVisualizations ()
 
virtual void disable ()
 
virtual bool isEnabled ()
 
virtual void setIsEnabled (bool yesNo)
 
virtual DtOutputStream & objectConsoleDebug (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleVerbose (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleInfo (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleWarn (const DtString &channel="") const
 
virtual DtOutputStream & objectConsoleError (const DtString &channel="") const
 
virtual int notifyLevel () const
 
virtual DtSimResourceManagerresourceManager ()
 
virtual const
DtSimResourceManager
resourceManager () const
 
VRF4API_METHOD const
DtSimulationServices
simManager () const
 
- Public Member Functions inherited from DtReaderWriter
 DtReaderWriter ()
 
 DtReaderWriter (const DtString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtSymbolString &name, DtReaderWriterRegistry *parentRegistry=NULL, bool readonly=false)
 
 DtReaderWriter (const DtString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtSymbolString &name, const DtReaderWriter &orig, DtReaderWriterRegistry *parentRegistry=NULL)
 
 DtReaderWriter (const DtReaderWriter &, DtReaderWriterRegistry *parentRegistry=NULL)
 
const DtReaderWriteroperator= (const DtReaderWriter &orig)
 
bool operator== (const DtReaderWriter &) const
 
bool operator!= (const DtReaderWriter &rhs) const
 
virtual ~DtReaderWriter ()
 
virtual void putSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual void postPutSelf ()
 
virtual void prePutSelf ()
 
virtual void getSelf (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
virtual void postGetSelf ()
 
virtual void preGetSelf ()
 
virtual void writeSelf (std::string &fp, int indentLevel=0, bool writeUnspecified=false, const DtFilename &path=DtFilename::nullFilename())
 
virtual DtSymbolString name () const
 
virtual void addAlias (const DtSymbolString &alias)
 
virtual void addAlias (const DtString &alias)
 
virtual bool hasAlias (const DtSymbolString &alias)
 
virtual const aliasContaineraliases () const
 
virtual void setReadonly (bool flag)
 
bool isReadonly () const
 
virtual void reset ()
 
virtual int alignment () const
 
virtual bool variableIsBound () const
 
virtual void unbindVariable ()
 
virtual void setName (const DtString &)
 
virtual const charreaderWriterType () const
 
virtual const charxmlType () const
 
virtual DtString prettyPrint () const
 
std::string debugText () const
 
virtual void bindVariables (DtVariableBindingsList variableBindings)
 
virtual std::list
< DtVariableNameType
unboundVariables () const
 
bool invalid () const
 
virtual bool hasChild (const DtReaderWriter *p) const
 
virtual bool hasVariableReference () const
 
virtual void bindLocalVariables (const DtVariableBindingsList &variableBindings)
 
virtual void recordUpdateTime () const
 
virtual bool changedSinceLastChecked ()
 
virtual bool peekChangedSinceLastChecked () const
 
virtual void setValueSpecified (bool specified, bool recurse=false)
 
virtual bool valueSpecified () const
 
virtual bool isVariableReference () const
 
virtual void setIsVariableReference (bool value)
 
virtual void clearAllVariableReferenceFlags ()
 
virtual DtSymbolString variableName () const
 
virtual void setVariableName (const DtSymbolString variableName)
 
virtual const DtReaderWriterdefaultRWValue () const
 
virtual DtReaderWriterdefaultRWValue ()
 
virtual void setDefaultRWValue (DtReaderWriter *)
 
virtual bool checkAndSetDefaultRWValue (DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
 
const DtReaderWriterRegistryregistry () const
 
DtReaderWriterRegistryregistry ()
 
virtual DtPropertyInterfaceproperty ()
 
virtual const DtPropertyInterfaceproperty () const
 
virtual DtString toXml () const
 
virtual DtRwVariableBindingsgenerateVariableBindings () const
 
virtual bool toXml (const DtFilename &) const
 
virtual bool fromXml (const DtString &)
 
virtual bool fromXmlFile (const DtFilename &)
 
virtual void putSelf (DtEnvironmentSP, DtEnvValueSP parent) const
 
virtual void putData (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void putVariableReference (DtEnvironmentSP, DtEnvValueSP value) const
 
virtual void getSelf (const DtEnvironmentSP, const DtEnvValueSP root, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void getData (const DtEnvironmentSP, const DtEnvValueSP, const SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &bindings=DtVariableBindingsList())
 
virtual void unrecognizedItem (const DtEnvironmentSP env, const DtEnvValueSP root, const SearchPaths &searchPaths, const DtVariableBindingsList &varBindings)
 
virtual void getVariableReference (DtEnvironmentSP, DtEnvValueSP value)
 

Static Public Member Functions

static DtSimComponentcreator (const DtString &name, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
static void settingConsumerCallback (const DtSettingsObject *settingsObject, void *usr)
 
- Static Public Member Functions inherited from DtSimComponent
static DtSimComponentFactoryfactory ()
 
static void setFactory (DtSimComponentFactory *factory)
 
static DtSimComponentcreateComponent (const DtString &name, const DtString &type, DtLocalObject *owner, DtSimulationServices *simManager, DtComponentSystem *parentSystem, DtComponentDescriptor *desc=0, DtReaderWriterRegistry *parentRegistry=0)
 
static void addSimComponentCreatorFcn (const DtString &type, DtSimComponentCreatorFcn fcn)
 
static VRF4API_METHOD
DtSimComponent
MarkThreadSafe (DtSimComponent *comp)
 
- Static Public Member Functions inherited from DtReaderWriter
static void putIndent (std::string &fp, int indentLevel)
 
static const
DtVariableBindingsList
nullVariableReference ()
 
static void setPostGetSelfCallback (DtGetSelfCallbackFcn fcn, void *usrData)
 
static void setPrePutSelfCallback (DtPutSelfCallbackFcn fcn, void *usrData)
 
static void setPutIndent (bool)
 
static bool putIndent ()
 
static const chartheXmlType ()
 
static const DtFilename & appPath ()
 
static void setFactoryCreatorFunction (DtReaderWriterFactoryCreatorFcn fcn)
 
static void createReaderWriterFactory ()
 
static void cleanupFactory ()
 
static DtReaderWriterFactoryfactory ()
 
static void setOutputStream (DtOutputStream *stream)
 
static DtOutputStream & outputStream ()
 
static DtReaderWritercreateFromXmlFile (const DtFilename &, bool createAsProperty=false)
 
static DtReaderWritercreateFromXml (const DtString &, bool createAsProperty=false)
 
static DtReaderWritercreateFromEnvironment (DtEnvironmentSP, bool createAsProperty=false)
 
static DtString getAttribute (DtEnvironmentSP env, const DtString &name, DtEnvValueSP root)
 

Protected Member Functions

virtual void processSetting (const DtBoolSetting *setting)
 
virtual DtSpawnControllerPSRcreatePSR ()
 
virtual DtCollisionDetectorcreateCollisionDetector ()
 
virtual void processRequestSpawnPtDataCallback (const DtVrfObjectMessage *msg)
 
virtual void processSetTemplateUUIDCallback (const DtVrfObjectMessage *msg)
 
virtual void processSimObjectDeleted (DtSimObjectReference ref)
 
virtual void embarkIfSpawnAttached (DtVrfLocalObjectCreateInformation &info)
 
virtual std::list
< DtSimObjectReference
testAndSinkTraffic ()
 
virtual bool shouldSinkObject (const DtSimObject *trafficObject, const DtSimObject *sinkPoint) const
 
virtual void deleteObjects (const std::list< DtSimObjectReference > &objectList)
 
virtual bool canCreateNow (DtTime timeNow, DtRwSpawnData *spawnData) const
 
virtual DtUUID findSinkPoint ()
 
virtual DtTime nextCreationTime (DtTime timeNow, DtRwSpawnData *spawnData)
 
virtual DtCreateObjectHandle createObject (const DtUUID &spawnObjectUUID, const DtSimObject *sinkPoint, const DtRwSpawnData *spawnData, bool &dataAvailable, const DtPlan &entityPlan)
 
virtual DtVector creationLocationAndOrientation (double &heading, const DtSimObject *sinkPoint, const DtRwSpawnData *spawnData, bool &dataAvailable)
 
virtual DtPlan createDefaultPlan (const DtUUID &objectUUID, const DtUUID &sinkPoint, DtRwSpawnData *spawnData)
 
virtual double trafficSpeed (DtRwSpawnData *spawnData)
 
virtual bool trafficObjectType (DtRwObjectTypeInfo &objType, const DtRwSpawnData *spawnData)
 
void findClosestRoadSpawnPoints ()
 
virtual void processClearTemplates ()
 
virtual void processRefreshSpawnTemplateData ()
 
virtual bool startLocationTaken (const DtSimObject *, const DtVector &geocentricLocation)
 
virtual bool startLocationTaken (const DtObjectType &, const DtVector &geocentricLocation)
 
virtual DtRwSpawnDatalookupSpawnTemplateData ()
 
- Protected Member Functions inherited from DtControllerComponent
 DtControllerComponent ()
 
 DtControllerComponent (const DtControllerComponent &orig)
 
const DtControllerComponentoperator= (const DtControllerComponent &orig)
 
virtual void onRestore ()
 
virtual void initializeTargetingControlTableFromDescriptor (const DtReaderWriter *)
 
virtual void setRadio (DtSimRadio *radio)
 
virtual void sendCapableSetsAndTasks ()
 
- Protected Member Functions inherited from DtSimComponent
virtual void setupTimedTickLogic (double minTickPeriod, double minTickPeriodVariance)
 
virtual double computeCurrentTime ()
 
bool testInvariant () const
 
virtual bool createPortGroups ()
 
virtual bool createPorts ()
 
DtVrfProcessStateRepositorycreateComponentPsr (const DtString &defaultPsrType, const DtString &defaultPsrName, bool useDescriptorParams=true)
 
virtual void updateTaskVisualizations ()
 
virtual void destroyTaskVisualizations ()
 
virtual void destroyTaskVisualization (const DtString &name)
 
virtual
makVrf::DtPointTaskVisualizationPtr 
pointTaskVisualization (const DtString &name)
 
virtual
makVrf::DtLineTaskVisualizationPtr 
lineTaskVisualization (const DtString &name)
 
virtual
makVrf::DtAreaTaskVisualizationPtr 
areaTaskVisualization (const DtString &name)
 
virtual
makVrf::DtTextTaskVisualizationPtr 
textTaskVisualization (const DtString &name)
 
double calculateNextTaskVisTickTime () const
 
DtVrfObjectStateRepositorylocalStateRepository ()
 
const DtVrfObjectStateRepositorylocalStateRepository () const
 
DtPropertyInterfacecachedNextFrameStateProperty (DtPropertyInterface **prop, const DtString &propName)
 
template<typename ValType >
void setCachedNextFrameStatePropertyValue (DtPropertyInterface **prop, const DtString &propName, ValType value)
 
const DtPropertyInterfacecachedCurrentFrameStateProperty (const DtPropertyInterface **prop, const DtString &propName) const
 
template<typename ValType >
bool getCachedCurrentFrameStatePropertyValue (const DtPropertyInterface **prop, const DtString &propName, ValType &value) const
 
void addSimObjectPredicateCallback (DtSimObjectReference, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0)
 
void removeSimObjectPredicateCallback (const DtSimObject *, DtVrfObjectPredicateCallbackFunction function, const DtVrfObjectPredicate &predicate, DtTime evaluationPeriod=0, void *userData=0)
 
void invokeSimObjectPredicateCallbacks ()
 
virtual void clearPredicateCallbacks ()
 
- Protected Member Functions inherited from DtReaderWriter
virtual void bindToRwAsVariable (const DtReaderWriter *rw)
 

Static Protected Member Functions

static void requestSpawnPtDataCallback (const DtVrfObjectMessage *msg, void *usr)
 
static void setTemplateUUIDCallback (const DtVrfObjectMessage *msg, void *usr)
 
static void clearTemplatesCallback (void *user)
 
static void refreshSpawnTemplateDataCallback (void *user)
 

Protected Attributes

DtSpawnControllerPSRmyProcessState
 
const DtSpawnControllerDescriptormyTrafficSourceDescriptor
 
bool myDrivingOnLeftEnabled
 
DtReal mySinkPointRadiusSq
 
DtPoint myCachedLocation
 
bool myFoundRoadPoints
 
DtPoint myClosestRoadPoint
 
DtPoint myClosestRoadEdgeA
 
DtPoint myClosestRoadEdgeB
 
bool myShowRoadDistanceWarning
 
bool myDataReady
 
int myAwaitingToBeCreated
 
bool myWarnedOnce
 
bool myWarnedSinkOnce
 
DtVrfOverlayObjectStateRepositorymyStateRepository
 
DtCollisionDetectormyCollisionDetector
 
float myScaleFactor
 
boost::signals2::scoped_connection mySimObjectDeletedConnection
 
DtTacticalGraphicLocalObjectFacade myTacticalGraphicLocalObjectFacade
 
tbb::mutex myRemovalMutex
 
- Protected Attributes inherited from DtControllerComponent
DtSimRadiomyRadio
 
bool myTaskTypesEnabled
 
bool myInitialized
 
- Protected Attributes inherited from DtSimComponent
DtLocalObjectmyEntity
 
DtComponentSystemmySystem
 
DtListItem * myListItem
 
DtInputPortMap myInputPortList
 
DtOutputPortMap myOutputPortList
 
DtInputPortGroupMap myInputPortGroupList
 
DtOutputPortGroupMap myOutputPortGroupList
 
int myPriority
 
double myLastTickSimTime
 
std::unique_ptr< DtTimedTickLogicmyTimedTickLogic
 
double myDT
 
bool myIsEnabled
 
bool myFirstTick
 
const DtComponentDescriptormyComponentDescriptor
 
std::list
< DtVrfProcessStateRepository * > 
myComponentPsrs
 
makVrf::DtTaskVisualizationMap myTaskVisualizations
 
double myNextTaskVisTickTime
 
DtSymbolString myFullComponentName
 
DtSimulationServicesmySimServices
 
DtPredicateCallbackManagermyPredicateCallbackManager
 
boost::signals2::scoped_connection myIsClutterChangedConnection
 
- Protected Attributes inherited from DtReaderWriter
const DtSymbolString myName
 
DtReaderWriterRegistry myRegistry
 
DtReaderWriterRegistrymyParentRegistry
 
bool myValueSpecified
 
bool myReadOnlyFlag
 
bool myIsVariableReference
 
DtSymbolString myVariableName
 
bool myVariableIsBound
 
DtReaderWritermyDefaultValue
 
aliasContainer myAliases
 
bool myInvalid
 
bool myChangedFlag
 

Private Member Functions

 DtSpawnController ()
 
 DtSpawnController (const DtSpawnController &orig)
 
const DtSpawnControlleroperator= (const DtSpawnController &orig)
 

Additional Inherited Members

- Public Types inherited from DtReaderWriter
typedef std::vector
< DtSymbolString
aliasContainer
 
typedef std::vector
< DtSymbolString >::iterator 
aliasIter
 
typedef std::vector
< DtSymbolString >
::const_iterator 
aliasConstIter
 
typedef std::vector< DtFilename > SearchPaths
 
typedef std::pair
< DtSymbolString, DtString
DtVariableNameType
 
typedef DtReaderWriterFactory *(* DtReaderWriterFactoryCreatorFcn )()
 
- Protected Types inherited from DtSimComponent
typedef std::map< DtString,
DtInputPort * > 
DtInputPortMap
 
typedef std::map< DtString,
DtOutputPort * > 
DtOutputPortMap
 
typedef std::map< DtString,
DtInputPortGroup * > 
DtInputPortGroupMap
 
typedef std::map< DtString,
DtOutputPortGroup * > 
DtOutputPortGroupMap
 
- Static Protected Attributes inherited from DtSimComponent
static DtSimComponentFactorymyFactory
 
- Static Protected Attributes inherited from DtReaderWriter
static DtString theUnspecifiedValue
 
static DtGetSelfCallbackInfo thePostGetSelfCallback
 
static DtPutSelfCallbackInfo thePrePutSelfCallback
 
static const DtVariableBindingsList theEmptyVariableBindingsList
 
static bool theCreatorFcnSet
 
static DtReaderWriterFactorytheFactory
 
static
DtReaderWriterFactoryCreatorFcn 
theFactoryCreatorFcn
 
static bool thePutIndent
 
static DtOutputStream * theOutputStream
 

Constructor & Destructor Documentation

DtSpawnController::DtSpawnController ( const DtString name,
DtLocalObject owner,
DtSimulationServices simManager,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)

Constructors, etc.

virtual DtSpawnController::~DtSpawnController ( )
virtual

destructor

DtSpawnController::DtSpawnController ( )
private

Default constructor; not implemented.

DtSpawnController::DtSpawnController ( const DtSpawnController orig)
private

copy constructor; not implemented.

Member Function Documentation

virtual const char* DtSpawnController::type ( ) const
virtual

This returns a string from compTypes.h, and identifies the type of component.

Implements DtControllerComponent.

static DtSimComponent* DtSpawnController::creator ( const DtString name,
DtLocalObject owner,
DtSimulationServices simManager,
DtComponentDescriptor desc = 0,
DtReaderWriterRegistry parentRegistry = 0 
)
static

Parameters
nameReader writer name of this component.
ownerThe DtLocalObject that owns this component
simManagerThe simulation manager (provides access to terrain, message interface, simulation clock).
descThe component descriptor used to initialize this component.
parentRegistryPointer to the parent reader writer registry (the containing object that reads/writes this object).
Returns
New instance of this class.
const DtString& DtSpawnController::templateName ( ) const

Provide the template name. For backwards compatability only. Use spawnTemplateUUID for new code.

static void DtSpawnController::settingConsumerCallback ( const DtSettingsObject settingsObject,
void *  usr 
)
static

Initialization functions.

virtual void DtSpawnController::registerTaskMsgCallbacks ( )
virtual

Register a callback for notification of DtUserTask messages.

Overrides this so it can register its interest in DtUserTask* commands

virtual void DtSpawnController::unregisterTaskMsgCallbacks ( )
virtual

Unregister a callback for notification of DtUserTask messages.

This is used if the entity cannot process DtUserTasks

virtual bool DtSpawnController::init ( )
virtual

Calls setRadio()

Reimplemented from DtControllerComponent.

virtual void DtSpawnController::refreshSpawnTemplateData ( )
virtual
virtual void DtSpawnController::processSetting ( const DtBoolSetting setting)
protectedvirtual
virtual DtSpawnControllerPSR* DtSpawnController::createPSR ( )
protectedvirtual
virtual DtCollisionDetector* DtSpawnController::createCollisionDetector ( )
protectedvirtual

Creates the collision detector.

static void DtSpawnController::requestSpawnPtDataCallback ( const DtVrfObjectMessage msg,
void *  usr 
)
staticprotected

Callback functions for messages.

virtual void DtSpawnController::processRequestSpawnPtDataCallback ( const DtVrfObjectMessage msg)
protectedvirtual
static void DtSpawnController::setTemplateUUIDCallback ( const DtVrfObjectMessage msg,
void *  usr 
)
staticprotected
virtual void DtSpawnController::processSetTemplateUUIDCallback ( const DtVrfObjectMessage msg)
protectedvirtual
virtual void DtSpawnController::processSimObjectDeleted ( DtSimObjectReference  ref)
protectedvirtual
virtual void DtSpawnController::embarkIfSpawnAttached ( DtVrfLocalObjectCreateInformation info)
protectedvirtual

If the spawn point is attached embark the supplied object at the spawn point location via the set embarked message with the body offset being the offset of the spawn point from the center of mass of what it is attached to.

virtual void DtSpawnController::preFirstTickInit ( )
virtual

Tick.

The controller must get the pointer to its template at this point; it can't do that in a postScenarioLoad callback function because the spawn-sink manager may not have loaded its templates yet. Also, the init() function is called before postScenarioLoad. See also spawnControllerPSR.h

Reimplemented from DtSimComponent.

virtual void DtSpawnController::tick ( )
virtual

Tick the publisher if the component is on.

Reimplemented from DtSimComponent.

virtual std::list<DtSimObjectReference> DtSpawnController::testAndSinkTraffic ( )
protectedvirtual

Private utility functions used during the tick.

Check if any of the traffic objects are near their sink points, and delete them if needed.

virtual bool DtSpawnController::shouldSinkObject ( const DtSimObject trafficObject,
const DtSimObject sinkPoint 
) const
protectedvirtual
Returns
True if trafficObject has met the sink criteria with regard to the specified sink point.
virtual void DtSpawnController::deleteObjects ( const std::list< DtSimObjectReference > &  objectList)
protectedvirtual

Deletes the VRF objects contained in this list.

virtual bool DtSpawnController::canCreateNow ( DtTime  timeNow,
DtRwSpawnData spawnData 
) const
protectedvirtual

Determine if the time parameters permit creation now. The standard version checks is-time-based, then compares time with start and end times; also checks is-cyclic, and then cycle-period, duty-cycle, and start-offset to determine if the current time is in an active window. The function also checks to see if the current time is past the PSR->nextCycleStartTime(); if so, it computes the start time of the next burst cycle and updates lastCycleStartTime and nextCycleStartTime. All checks assume that the parameters, and the function argument, are in sim time unless isTimeBased and usesClockTime are true.

virtual DtUUID DtSpawnController::findSinkPoint ( )
protectedvirtual

Select a sink point randomly from the list in the template.

virtual DtTime DtSpawnController::nextCreationTime ( DtTime  timeNow,
DtRwSpawnData spawnData 
)
protectedvirtual

Determine the next entity creation time. The standard version of this method takes the current time, adds period +- variance% x period.

virtual DtCreateObjectHandle DtSpawnController::createObject ( const DtUUID spawnObjectUUID,
const DtSimObject sinkPoint,
const DtRwSpawnData spawnData,
bool dataAvailable,
const DtPlan entityPlan 
)
protectedvirtual
virtual DtVector DtSpawnController::creationLocationAndOrientation ( double heading,
const DtSimObject sinkPoint,
const DtRwSpawnData spawnData,
bool dataAvailable 
)
protectedvirtual

Finds the creation location and orientation for a new traffic entity.

virtual DtPlan DtSpawnController::createDefaultPlan ( const DtUUID objectUUID,
const DtUUID sinkPoint,
DtRwSpawnData spawnData 
)
protectedvirtual

Gives the spawned entity the default plan (move to sink point and delete self) and sends it to the entity.

virtual double DtSpawnController::trafficSpeed ( DtRwSpawnData spawnData)
protectedvirtual

Calculates and returns the speed for a new traffic entity. This will be a random number between min speed and max speed.

virtual bool DtSpawnController::trafficObjectType ( DtRwObjectTypeInfo objType,
const DtRwSpawnData spawnData 
)
protectedvirtual

Provides object type to be used to generate a new traffic entity. Will be a random object type from the traffic object type list.

Returns
True if found an object type to use.
void DtSpawnController::findClosestRoadSpawnPoints ( )
protected

Find closest points on road network for spawning on roads.

static void DtSpawnController::clearTemplatesCallback ( void *  user)
staticprotected
virtual void DtSpawnController::processClearTemplates ( )
protectedvirtual
static void DtSpawnController::refreshSpawnTemplateDataCallback ( void *  user)
staticprotected
virtual void DtSpawnController::processRefreshSpawnTemplateData ( )
protectedvirtual
virtual bool DtSpawnController::startLocationTaken ( const DtSimObject ,
const DtVector geocentricLocation 
)
protectedvirtual

Returns true if the start location is taken by a feature or entity and would mean the object could not be placed. The location is in geocentric.

virtual bool DtSpawnController::startLocationTaken ( const DtObjectType &  ,
const DtVector geocentricLocation 
)
protectedvirtual
virtual DtRwSpawnData* DtSpawnController::lookupSpawnTemplateData ( )
protectedvirtual
const DtSpawnController& DtSpawnController::operator= ( const DtSpawnController orig)
private

assignment operator; not implemented.

Member Data Documentation

DtSpawnControllerPSR* DtSpawnController::myProcessState
protected
const DtSpawnControllerDescriptor* DtSpawnController::myTrafficSourceDescriptor
protected
bool DtSpawnController::myDrivingOnLeftEnabled
protected
DtReal DtSpawnController::mySinkPointRadiusSq
protected
DtPoint DtSpawnController::myCachedLocation
protected
bool DtSpawnController::myFoundRoadPoints
protected
DtPoint DtSpawnController::myClosestRoadPoint
protected
DtPoint DtSpawnController::myClosestRoadEdgeA
protected
DtPoint DtSpawnController::myClosestRoadEdgeB
protected
bool DtSpawnController::myShowRoadDistanceWarning
protected
bool DtSpawnController::myDataReady
protected
int DtSpawnController::myAwaitingToBeCreated
protected

Count of number of objects that are pending to be created due to data not being available.

bool DtSpawnController::myWarnedOnce
protected
bool DtSpawnController::myWarnedSinkOnce
protected
DtVrfOverlayObjectStateRepository* DtSpawnController::myStateRepository
protected
DtCollisionDetector* DtSpawnController::myCollisionDetector
protected
float DtSpawnController::myScaleFactor
protected
boost::signals2::scoped_connection DtSpawnController::mySimObjectDeletedConnection
protected
DtTacticalGraphicLocalObjectFacade DtSpawnController::myTacticalGraphicLocalObjectFacade
protected
tbb::mutex DtSpawnController::myRemovalMutex
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)