18 #include <boost/bind.hpp>
95 , mySimObjectEntryMap()
119 DtSimData& simDataObj = myDe.dataBank().simData();
139 if(isCompatible(entry))
142 onSimObjectEntryAboutToBeRemoved(entry);
145 mySimObjectEntryMap[ entry.
id() ] = &entry;
146 signal_simObjectEntryAdded(entry);
153 if(isCompatible(state))
156 onSimObjectStateEntryAboutToBeRemoved(entry, state);
159 mySimObjectEntryMap[ entry.
id() ] = &entry;
160 signal_simObjectEntryAdded(entry);
167 if(isCompatible(entry))
169 SimObjectEntryMap::iterator iter = mySimObjectEntryMap.find(entry.
id());
170 if(iter != mySimObjectEntryMap.end())
172 signal_simObjectEntryAboutToBeRemoved(entry);
173 mySimObjectEntryMap.erase(iter);
181 if(isCompatible(state))
183 SimObjectEntryMap::iterator iter = mySimObjectEntryMap.find(entry.
id());
184 if(iter != mySimObjectEntryMap.end())
186 signal_simObjectEntryAboutToBeRemoved(entry);
187 mySimObjectEntryMap.erase(iter);
207 return mySimObjectEntryMap.size();
213 DtSimData::SimEntryMap::const_iterator pos;
214 for(pos=myDe.dataBank().simData().simEntryMap().begin(); pos !=
215 myDe.dataBank().simData().simEntryMap().end(); ++pos )
220 onSimObjectEntryAdded(*pEntry);
229 return mySimObjectEntryMap;
237 SimObjectEntryMap::const_iterator iter = mySimObjectEntryMap.find(
id);
238 if(iter != mySimObjectEntryMap.end())
240 entry = iter->second;
boost::signal< void(DtSimObjectEntry &, DtSimState &)> signal_simStateAdded
Signal emitted when a DtSimState is added to a DtSimEntry.
Definition: DtSimData.h:95
DtDe & myDe
Definition: DtSimObjectEntryCollection.h:87
void populateFromExistingEntries()
Go through existing DtSimEntry's and populate this container.
Definition: DtSimObjectEntryCollection.h:211
void onSimObjectEntryAdded(DtSimObjectEntry &entry)
Called when a DtSimObjectEntry is added.
Definition: DtSimObjectEntryCollection.h:137
virtual ~DtSimObjectEntryCollection()
DTOR.
Definition: DtSimObjectEntryCollection.h:117
DtSimObjectEntryCollection()
Protected CTOR.
A DtSimObjectEntryCollection is a collection of DtSimObjectEntry's that have a specific state...
Definition: DtSimObjectEntryCollection.h:25
boost::signal< void(DtSimObjectEntry &)> signal_simObjectEntryAdded
Signal emitted when a DtSimObjectEntry is added.
Definition: DtSimData.h:89
DtUniqueID id() const
Return the unique Id of this entry.
boost::signal< void(DtSimObjectEntry &)> signal_simObjectEntryAdded
Signal emitted when a DtSimObjectEntry is added.
Definition: DtSimObjectEntryCollection.h:51
The DtSimData is the repository for simulation specific, read only data.
Definition: DtSimData.h:31
Contains makVrv::DtStateView class.
void onSimObjectStateEntryAboutToBeRemoved(DtSimObjectEntry &entry, DtSimState &)
Called when a DtSimState is about to be removed from a DtSimObjectEntry.
Definition: DtSimObjectEntryCollection.h:179
Contains makVrv::DtDe class.
const SimObjectEntryMap & simObjectEntryMap() const
Return the map of DtSimObjectEntry's in this collection.
Definition: DtSimObjectEntryCollection.h:227
std::map< DtUniqueID, DtSimObjectEntry * > SimObjectEntryMap
Map of unique id's to DtSimObjectEntry's.
Definition: DtSimObjectEntryCollection.h:31
const DtSimObjectEntry * findSimObjectEntry(DtUniqueID id) const
Find DtSimEntry by id.
Definition: DtSimObjectEntryCollection.h:233
virtual DtDataBank & dataBank()
The DtDataBank accessor.
boost::signal< void(DtSimObjectEntry &)> signal_simObjectEntryAboutToBeRemoved
Signal emitted when a DtSimObjectEntry is about to be removed.
Definition: DtSimObjectEntryCollection.h:54
boost::signal< void(DtSimObjectEntry &)> signal_simObjectEntryToBeRemoved
Signal emitted when a DtSimObjectEntry is about to be removed.
Definition: DtSimData.h:92
binderNoArgs< _Fn > bind(const _Fn &_Func, const _Ty &_Left)
Definition: DtSTLUtilities.h:76
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:25
SimObjectEntryMap mySimObjectEntryMap
Definition: DtSimObjectEntryCollection.h:88
Contains makVrv::DtSimObjectEntry class.
void onSimObjectEntryAboutToBeRemoved(DtSimObjectEntry &entry)
Called when a DtSimObjectEntry is about to be removed.
Definition: DtSimObjectEntryCollection.h:165
DtSimObjectEntryCollection & operator=(const DtSimObjectEntryCollection &)
boost::signal< void(DtSimObjectEntry &, DtSimState &)> signal_simStateToBeRemoved
Signal emitted when a DtSimEntry is about to be removed from a DtSimObjectEntry.
Definition: DtSimData.h:99
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
void onSimObjectStateEntryAdded(DtSimObjectEntry &entry, DtSimState &)
Called when a DtSimState is added to a DtSimObjectEntry.
Definition: DtSimObjectEntryCollection.h:151
A DtSimState is the base class for all state objects.
Definition: DtSimState.h:22
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool isCompatible(DtSimObjectEntry &entry)
Returns true if the DtSimEntry contains a state of type T.
Definition: DtSimObjectEntryCollection.h:193
size_t size() const
Return the number of the objects in the container.
Definition: DtSimObjectEntryCollection.h:205
DtSimData & simData()
Get simulation data.
Contains makVrv::DtDataBank class.
static bool isCompatible(DtSimEntry &entry)
Returns true if the DtSimEntry contains a state of type T.
Definition: DtStateView.h:153
Contains DLL export macros.