18 #include <boost/bind.hpp>
95 , mySimObjectEntryMap()
118 myDe.dataBank().simData().signal_simObjectEntryAdded.disconnect(
boost::bind(
121 myDe.dataBank().simData().signal_simObjectEntryToBeRemoved.disconnect(
boost::bind(
125 myDe.dataBank().simData().signal_simStateAdded.disconnect(
boost::bind(
128 myDe.dataBank().simData().signal_simStateToBeRemoved.disconnect(
boost::bind(
135 if(isCompatible(entry))
138 onSimObjectEntryAboutToBeRemoved(entry);
141 mySimObjectEntryMap[ entry.
id() ] = &entry;
142 signal_simObjectEntryAdded(entry);
149 if(isCompatible(state))
152 onSimObjectStateEntryAboutToBeRemoved(entry, state);
155 mySimObjectEntryMap[ entry.
id() ] = &entry;
156 signal_simObjectEntryAdded(entry);
163 if(isCompatible(entry))
165 SimObjectEntryMap::iterator iter = mySimObjectEntryMap.find(entry.
id());
166 if(iter != mySimObjectEntryMap.end())
168 signal_simObjectEntryAboutToBeRemoved(entry);
169 mySimObjectEntryMap.erase(iter);
177 if(isCompatible(state))
179 SimObjectEntryMap::iterator iter = mySimObjectEntryMap.find(entry.
id());
180 if(iter != mySimObjectEntryMap.end())
182 signal_simObjectEntryAboutToBeRemoved(entry);
183 mySimObjectEntryMap.erase(iter);
203 return mySimObjectEntryMap.size();
209 DtSimData::SimEntryMap::const_iterator pos;
210 for(pos=myDe.dataBank().simData().simEntryMap().begin(); pos !=
211 myDe.dataBank().simData().simEntryMap().end(); ++pos )
214 if(pEntry = dynamic_cast<DtSimObjectEntry*>(pos->second))
216 onSimObjectEntryAdded(*pEntry);
225 return mySimObjectEntryMap;
233 SimObjectEntryMap::const_iterator iter = mySimObjectEntryMap.find(
id);
234 if(iter != mySimObjectEntryMap.end())
236 entry = iter->second;