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

The DtSimData is the repository for simulation specific, read only data. The DtSimData has a map of DtSimEntry's indexed by unique id. The DtSimData will also signal when objects have been created/ destroyed or when events happen.

Public Types

typedef boost::unordered_map
< DtUniqueID, DtSimEntry * > 
SimEntryMap
 
typedef void(* SignalerAccessorFunction )(DtSimData &)
 

Public Member Functions

 DtSimData (DtDe &de)
 
 ~DtSimData ()
 
void addEntry (DtUniqueID id)
 
void removeEntry (DtUniqueID id)
 
bool addStateToSimEntry (DtUniqueID id, DtSimState *state)
 
bool removeStateFromSimEntry (DtUniqueID id, DtSimState *state)
 
const DtSimEntryfindSimEntry (DtUniqueID id) const
 
DtSimEntryfindSimEntry (DtUniqueID id)
 
const SimEntryMapsimEntryMap ()
 
void addStateToSimEvent (DtSimState *state)
 
void signalEvent ()
 
void addEventSignaler (SignalerAccessorFunction accessor, DtVirtualBaseClass *instance)
 
DtVirtualBaseClassfindEventSignaler (SignalerAccessorFunction accessor)
 

Public Attributes

boost::signalslib::signal
< void(DtSimObjectEntry &)> 
signal_simObjectEntryAdded
 
boost::signalslib::signal
< void(DtSimObjectEntry &)> 
signal_simObjectEntryToBeRemoved
 
boost::signalslib::signal
< void(DtSimObjectEntry
&, DtSimState &)> 
signal_simStateAdded
 
boost::signalslib::signal
< void(DtSimObjectEntry
&, DtSimState &)> 
signal_simStateToBeRemoved
 
boost::signalslib::signal
< void(DtSimEventEntry &)> 
signal_simEventTriggered
 

Protected Types

typedef boost::unordered_map
< SignalerAccessorFunction,
DtVirtualBaseClass * > 
SignalerMap
 

Protected Member Functions

DtSimEventEntryentry ()
 

Protected Attributes

DtDemyDe
 
SimEntryMap mySimEntryMap
 
DtSimEventEntrymyEventEntry
 
SignalerMap myEventSignalers
 

Member Typedef Documentation

typedef boost::unordered_map<DtUniqueID, DtSimEntry*> makVrv::DtSimData::SimEntryMap

Map of unique id's to DtSimEntry's.

typedef void(* makVrv::DtSimData::SignalerAccessorFunction)(DtSimData &)

The Signaler access function.

Constructor & Destructor Documentation

makVrv::DtSimData::DtSimData ( DtDe de)

CTOR.

makVrv::DtSimData::~DtSimData ( )

DTOR.

Member Function Documentation

void makVrv::DtSimData::addEntry ( DtUniqueID  id)

Create and add a new DtSimObjectEntry to the map.

void makVrv::DtSimData::removeEntry ( DtUniqueID  id)

Remove and a delete a DtSimObjectEntry from the map.

bool makVrv::DtSimData::addStateToSimEntry ( DtUniqueID  id,
DtSimState state 
)

Add state the DtSimEntry. The memory is still owned by the DtSimStateObject.

bool makVrv::DtSimData::removeStateFromSimEntry ( DtUniqueID  id,
DtSimState state 
)

Remove state from the DtSimEntry. The memory is still owned by the DtSimStateObject.

const DtSimEntry* makVrv::DtSimData::findSimEntry ( DtUniqueID  id) const

Find DtSimEntry by id.

DtSimEntry* makVrv::DtSimData::findSimEntry ( DtUniqueID  id)

Non-const find for member functions.

const SimEntryMap& makVrv::DtSimData::simEntryMap ( )

Accessor for the SimEntryMap.

void makVrv::DtSimData::addStateToSimEvent ( DtSimState state)

Add state the myEventEntry. The memory is still owned by the DtSimStateObject.

void makVrv::DtSimData::signalEvent ( )

Emits signal_simEventTriggered with myEventEntry. Call after state has been added to it. Clears myEventEntry after the signal has been emitted.

void makVrv::DtSimData::addEventSignaler ( SignalerAccessorFunction  accessor,
DtVirtualBaseClass instance 
)

Add an event signaler, using an accessor function.

DtVirtualBaseClass* makVrv::DtSimData::findEventSignaler ( SignalerAccessorFunction  accessor)

Find an event signaler, using an accessor function.

DtSimEventEntry& makVrv::DtSimData::entry ( )
protected

Get the sim event entry.

Member Data Documentation

boost::signalslib::signal<void (DtSimObjectEntry&)> makVrv::DtSimData::signal_simObjectEntryAdded
boost::signalslib::signal<void (DtSimObjectEntry&)> makVrv::DtSimData::signal_simObjectEntryToBeRemoved
boost::signalslib::signal<void (DtSimObjectEntry&, DtSimState&)> makVrv::DtSimData::signal_simStateAdded
boost::signalslib::signal<void (DtSimObjectEntry&, DtSimState&)> makVrv::DtSimData::signal_simStateToBeRemoved
boost::signalslib::signal<void (DtSimEventEntry&)> makVrv::DtSimData::signal_simEventTriggered

Signal emitted when a simulation event occurs.

DtDe& makVrv::DtSimData::myDe
protected
SimEntryMap makVrv::DtSimData::mySimEntryMap
protected
DtSimEventEntry* makVrv::DtSimData::myEventEntry
protected
SignalerMap makVrv::DtSimData::myEventSignalers
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)