VR-Forces 4.6 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Attributes
DtSpawnSinkManager Class Reference

Public Types

typedef void(* DtClearTemplateUUIDFunction )(void *userData)
typedef void(* DtRefreshSpawnDataFunction )(void *userData)

Public Member Functions

 DtSpawnSinkManager (DtSimManager *simManager)
 constructor
virtual ~DtSpawnSinkManager ()
 destructor
virtual bool init ()
virtual bool loadTemplates (const DtFilename &filename, bool sendUpdate=true)
 Load spawn templates from scenario file.
virtual const DtRwSpawnDataListspawnTemplates () const
 Accessor for spawn template list.
virtual DtRwSpawnDatafindSpawnDataByUUID (const DtUUID &uuid)
virtual void updateSpawnSinkTemplates (const DtRwSpawnDataList &spawnDataList)
virtual void preScenarioImport (DtScenario &scenario)
virtual void postScenarioImport (const DtScenario &scenario)
virtual DtUUID uuidForTemplateName (const DtString &templateName) const
virtual bool addSpawnPoint (const DtUUID &templateUuid, const DtUUID &spawnPointUuid)
 Returns true if added to the template.
virtual void removeSpawnPoint (const DtUUID &templateUuid, const DtUUID &spawnPointUuid)
virtual void resetManagerTemplates (const DtRwSpawnDataList &templates, bool sendUpdates=true)
 This function is called by both the postScenarioLoad and postScenarioRewind callbacks to reset the templates in the manager.
virtual void clearTemplates ()
virtual void sendSpawnListMessage (const DtSimulationAddress &recipient, bool initialSend=false)
 Sends a spawn list message (i.e., the names and descriptions of all the templates in the myTempate list) to the indicated address.
virtual void renameSpawnPoint (DtVrfObject *spawnEntity, const DtString &oldTemplateName, const DtString &newTemplateName)
virtual void renameSinkPoint (DtVrfObject *spawnEntity, const DtString &oldTemplateName, const DtString &newTemplateName)
virtual void removeSpawnTemplateAsParentOfSinkPoint (const DtUUID &templateUUID, const DtUUID &sinkPoint)
virtual void addSpawnTemplateAsParentOfSinkPoint (const DtUUID &templateUUID, const DtUUID &sinkPoint)
virtual void upgradeTemplates (const DtRwSpawnDataList &templates, bool andRename=false)
virtual void removeNameMappings (const DtRwSpawnDataList &templates)
virtual void resolveUnmatchedSpawnPoints ()
virtual const DtRwSpawnDataListtemplates ()
virtual void addClearTemplateUUIDEntry (DtClearTemplateUUIDFunction fcn, void *userData)
virtual void removeClearTemplateUUIDEntry (DtClearTemplateUUIDFunction fcn, void *userData)
virtual void addRefreshSpawnDataEntry (DtRefreshSpawnDataFunction fcn, void *userData)
virtual void removeRefreshSpawnDataEntry (DtRefreshSpawnDataFunction fcn, void *userData)
virtual DtUUID uuidBasedOnName (const DtList &templateList, const DtString &) const
 Create a UUID based on the name. This will not be random as this needs to be coordinated on multiple back-ends.

Static Public Member Functions

static void preScenarioLoadCallback (DtScenario &scenario, void *usrData)
 Functions to load and save data to scenario files.
static void preScenarioRewindCallback (void *usrData)
 As above, but called after a rewind operation to reset the templates in this manager.
static void preScenarioImportCallback (DtScenario &scenario, void *usrData)
 When imported, read the extras file to get the scenario templates and rework ids for mappings.
static void postScenarioImportCallback (const DtScenario &scenario, void *usrData)
 Add in new templates to the current list.

Protected Types

typedef boost::unordered_map
< DtUUID, DtUUID
PointByTemplate
typedef std::map< DtString,
DtUUID
WaitingForSinkPoints

Protected Attributes

DtSimManagermySimManager
DtRwSpawnDataList myTemplates
 pointer to the sim manager
DtRwSpawnDataList myCurrentTemplates
DtNoArgumentCallbackList myClearTemplatesCallbackList
DtNoArgumentCallbackList myRefreshSpawnDataCallbackList
boost::unordered_map
< DtRwSpawnData *, DtString
myCurrentUUIDsOnImport
bool myTemplatesModified
PointByTemplate mySpawnPoints
PointByTemplate mySinkPoints
WaitingForSinkPoints myWaitingForSinkPoints
std::map< DtString, DtStringmyNewSpawnNameToOldSpawnNameMap
virtual void processRequestSpawnList (DtSimMessage *msg)
static void requestSpawnListCallback (DtSimMessage *msg, void *usr)
 Message handlers.
virtual void preocesSpawnTemplateList (DtSimMessage *msg)
static void spawnTemplateListCallback (DtSimMessage *msg, void *usr)
 When a template list is received (and we are not the sender) and this is an initial send, replace the template list with the supplied list.
virtual void processAddSinkPoint (DtSimMessage *msg)
static void addSinkPointCallback (DtSimMessage *msg, void *usr)
 Respond to a request to add a sink point (by name) to a spawn template.
virtual void processRequestSpawnData (DtSimMessage *msg)
static void requestSpawnDataCallback (DtSimMessage *msg, void *usr)
 Respond to a request to send the spawn data for a given template.
virtual void processUpdateSpawnTemplate (DtSimMessage *msg)
static void updateSpawnTemplateCallback (DtSimMessage *msg, void *usr)
 Respond to a request to update the data in a template.
virtual void processCreateTemplate (DtSimMessage *msg)
static void createTemplateCallback (DtSimMessage *msg, void *usr)
 Respond to a request to create a template.
virtual void processDeleteSpawnTemplate (DtSimMessage *msg)
static void deleteSpawnTemplateCallback (DtSimMessage *msg, void *usr)
 Respond to a request to delete a template.
virtual void processObjectRemoved (DtVrfObject *object)
static void objectRemovedCallback (DtVrfObject *object, void *usr)
 Respond to a notification that an object has been removed.
virtual void processAddSpawnPoint (DtVrfObject *object)
static void addSpawnPointCallback (DtVrfObject *object, void *usr)
 Called when spawn point is added.
virtual void processAddSinkPoint (DtVrfObject *object)
static void addSinkPointCallback (DtVrfObject *object, void *usr)
 Respond to any object added.

Member Typedef Documentation

typedef void(* DtSpawnSinkManager::DtClearTemplateUUIDFunction)(void *userData)
typedef void(* DtSpawnSinkManager::DtRefreshSpawnDataFunction)(void *userData)
typedef boost::unordered_map<DtUUID, DtUUID> DtSpawnSinkManager::PointByTemplate
protected

Constructor & Destructor Documentation

DtSpawnSinkManager::DtSpawnSinkManager ( DtSimManager simManager)

constructor

virtual DtSpawnSinkManager::~DtSpawnSinkManager ( )
virtual

destructor

Member Function Documentation

virtual bool DtSpawnSinkManager::init ( )
virtual
virtual bool DtSpawnSinkManager::loadTemplates ( const DtFilename &  filename,
bool  sendUpdate = true 
)
virtual

Load spawn templates from scenario file.

virtual const DtRwSpawnDataList* DtSpawnSinkManager::spawnTemplates ( ) const
virtual

Accessor for spawn template list.

virtual DtRwSpawnData* DtSpawnSinkManager::findSpawnDataByUUID ( const DtUUID uuid)
virtual
virtual void DtSpawnSinkManager::updateSpawnSinkTemplates ( const DtRwSpawnDataList spawnDataList)
virtual
static void DtSpawnSinkManager::preScenarioLoadCallback ( DtScenario scenario,
void *  usrData 
)
static

Functions to load and save data to scenario files.

Callback function to initialize spawn templates in the manager from the scenario extras manager, which read them in. This copy is performed after scenario load, when the scenarios extras manager has finished.

static void DtSpawnSinkManager::preScenarioRewindCallback ( void *  usrData)
static

As above, but called after a rewind operation to reset the templates in this manager.

static void DtSpawnSinkManager::preScenarioImportCallback ( DtScenario scenario,
void *  usrData 
)
static

When imported, read the extras file to get the scenario templates and rework ids for mappings.

virtual void DtSpawnSinkManager::preScenarioImport ( DtScenario scenario)
virtual
static void DtSpawnSinkManager::postScenarioImportCallback ( const DtScenario scenario,
void *  usrData 
)
static

Add in new templates to the current list.

virtual void DtSpawnSinkManager::postScenarioImport ( const DtScenario scenario)
virtual
virtual DtUUID DtSpawnSinkManager::uuidForTemplateName ( const DtString templateName) const
virtual
virtual bool DtSpawnSinkManager::addSpawnPoint ( const DtUUID templateUuid,
const DtUUID spawnPointUuid 
)
virtual

Returns true if added to the template.

virtual void DtSpawnSinkManager::removeSpawnPoint ( const DtUUID templateUuid,
const DtUUID spawnPointUuid 
)
virtual
virtual void DtSpawnSinkManager::resetManagerTemplates ( const DtRwSpawnDataList templates,
bool  sendUpdates = true 
)
virtual

This function is called by both the postScenarioLoad and postScenarioRewind callbacks to reset the templates in the manager.

Existing templates are deleted, and then templates are copied from the scenario extras manager. If there are none, then the default templates are read from the settings file.

virtual void DtSpawnSinkManager::clearTemplates ( )
virtual
static void DtSpawnSinkManager::requestSpawnListCallback ( DtSimMessage msg,
void *  usr 
)
static

Message handlers.

Respond to a request for the names and descriptions of the templates in this manager's list.

virtual void DtSpawnSinkManager::processRequestSpawnList ( DtSimMessage msg)
virtual
static void DtSpawnSinkManager::spawnTemplateListCallback ( DtSimMessage msg,
void *  usr 
)
static

When a template list is received (and we are not the sender) and this is an initial send, replace the template list with the supplied list.

This is so back-ends can maintain sync with the template list

virtual void DtSpawnSinkManager::preocesSpawnTemplateList ( DtSimMessage msg)
virtual
virtual void DtSpawnSinkManager::sendSpawnListMessage ( const DtSimulationAddress &  recipient,
bool  initialSend = false 
)
virtual

Sends a spawn list message (i.e., the names and descriptions of all the templates in the myTempate list) to the indicated address.

Used in Request Spawn List processing.

static void DtSpawnSinkManager::addSinkPointCallback ( DtSimMessage msg,
void *  usr 
)
static

Respond to a request to add a sink point (by name) to a spawn template.

virtual void DtSpawnSinkManager::processAddSinkPoint ( DtSimMessage msg)
virtual
static void DtSpawnSinkManager::requestSpawnDataCallback ( DtSimMessage msg,
void *  usr 
)
static

Respond to a request to send the spawn data for a given template.

virtual void DtSpawnSinkManager::processRequestSpawnData ( DtSimMessage msg)
virtual
static void DtSpawnSinkManager::updateSpawnTemplateCallback ( DtSimMessage msg,
void *  usr 
)
static

Respond to a request to update the data in a template.

virtual void DtSpawnSinkManager::processUpdateSpawnTemplate ( DtSimMessage msg)
virtual
static void DtSpawnSinkManager::createTemplateCallback ( DtSimMessage msg,
void *  usr 
)
static

Respond to a request to create a template.

virtual void DtSpawnSinkManager::processCreateTemplate ( DtSimMessage msg)
virtual
static void DtSpawnSinkManager::deleteSpawnTemplateCallback ( DtSimMessage msg,
void *  usr 
)
static

Respond to a request to delete a template.

virtual void DtSpawnSinkManager::processDeleteSpawnTemplate ( DtSimMessage msg)
virtual
static void DtSpawnSinkManager::objectRemovedCallback ( DtVrfObject object,
void *  usr 
)
static

Respond to a notification that an object has been removed.

The callback function is registered along with an object type code for sink points. If the sink point is on one of the template lists, it is removed from that list.

virtual void DtSpawnSinkManager::processObjectRemoved ( DtVrfObject object)
virtual
static void DtSpawnSinkManager::addSpawnPointCallback ( DtVrfObject object,
void *  usr 
)
static

Called when spawn point is added.

If not local look up template and add to that. If template does not exist, wait for it

virtual void DtSpawnSinkManager::processAddSpawnPoint ( DtVrfObject object)
virtual
static void DtSpawnSinkManager::addSinkPointCallback ( DtVrfObject object,
void *  usr 
)
static

Respond to any object added.

If we are waiting for this sink point, then process

virtual void DtSpawnSinkManager::processAddSinkPoint ( DtVrfObject object)
virtual
virtual void DtSpawnSinkManager::renameSpawnPoint ( DtVrfObject spawnEntity,
const DtString oldTemplateName,
const DtString newTemplateName 
)
virtual
virtual void DtSpawnSinkManager::renameSinkPoint ( DtVrfObject spawnEntity,
const DtString oldTemplateName,
const DtString newTemplateName 
)
virtual
virtual void DtSpawnSinkManager::removeSpawnTemplateAsParentOfSinkPoint ( const DtUUID templateUUID,
const DtUUID sinkPoint 
)
virtual
virtual void DtSpawnSinkManager::addSpawnTemplateAsParentOfSinkPoint ( const DtUUID templateUUID,
const DtUUID sinkPoint 
)
virtual
virtual void DtSpawnSinkManager::upgradeTemplates ( const DtRwSpawnDataList templates,
bool  andRename = false 
)
virtual
virtual void DtSpawnSinkManager::removeNameMappings ( const DtRwSpawnDataList templates)
virtual
virtual void DtSpawnSinkManager::resolveUnmatchedSpawnPoints ( )
virtual
virtual const DtRwSpawnDataList& DtSpawnSinkManager::templates ( )
virtual
virtual void DtSpawnSinkManager::addClearTemplateUUIDEntry ( DtClearTemplateUUIDFunction  fcn,
void *  userData 
)
virtual
virtual void DtSpawnSinkManager::removeClearTemplateUUIDEntry ( DtClearTemplateUUIDFunction  fcn,
void *  userData 
)
virtual
virtual void DtSpawnSinkManager::addRefreshSpawnDataEntry ( DtRefreshSpawnDataFunction  fcn,
void *  userData 
)
virtual
virtual void DtSpawnSinkManager::removeRefreshSpawnDataEntry ( DtRefreshSpawnDataFunction  fcn,
void *  userData 
)
virtual
virtual DtUUID DtSpawnSinkManager::uuidBasedOnName ( const DtList &  templateList,
const DtString  
) const
virtual

Create a UUID based on the name. This will not be random as this needs to be coordinated on multiple back-ends.

Member Data Documentation

DtSimManager* DtSpawnSinkManager::mySimManager
protected
DtRwSpawnDataList DtSpawnSinkManager::myTemplates
protected

pointer to the sim manager

DtRwSpawnDataList DtSpawnSinkManager::myCurrentTemplates
protected
DtNoArgumentCallbackList DtSpawnSinkManager::myClearTemplatesCallbackList
protected
DtNoArgumentCallbackList DtSpawnSinkManager::myRefreshSpawnDataCallbackList
protected
boost::unordered_map<DtRwSpawnData*, DtString> DtSpawnSinkManager::myCurrentUUIDsOnImport
protected
bool DtSpawnSinkManager::myTemplatesModified
protected
PointByTemplate DtSpawnSinkManager::mySpawnPoints
protected
PointByTemplate DtSpawnSinkManager::mySinkPoints
protected
WaitingForSinkPoints DtSpawnSinkManager::myWaitingForSinkPoints
protected
std::map<DtString, DtString> DtSpawnSinkManager::myNewSpawnNameToOldSpawnNameMap
protected

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

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)