![]() |
VR-Forces 4.7 Class Documentation
|
The element data is all the information about all elements in the scene. More...
Public Types | |
| typedef std::vector< DtUniqueID > | SceneObjectIdList |
| typedef boost::unordered_map < DtElementID, DtElementEntry * > | ElementEntryMap |
| Map of unique id's to DtElementEntry's. | |
| typedef boost::unordered_map < DtElementID, SceneObjectIdList > | ElementToSceneObjectMap |
| typedef std::vector < DtElementEntry * > | ElementList |
| Type for signals. | |
| typedef std::vector< DtElementID > | UniqueIdList |
| typedef std::vector< DtElementID > | ElementIdList |
| typedef std::vector < DtElementAttribute * > | AttributeList |
| typedef std::pair < DtElementEntry *, AttributeList > | EntryAttributes |
| typedef std::vector < EntryAttributes > | EntryAttributesList |
Public Member Functions | |
| DtElementData (DtDe &de) | |
| CTOR. | |
| virtual | ~DtElementData () |
| DTOR. | |
| void | applyChanges (const DtElementChanges &changes) |
| Apply changes via an element changes object. | |
| const ElementEntryMap & | elements () const |
| Get the element map. | |
| const ElementToSceneObjectMap & | elementToSceneObjectMap () const |
| Get the element to scene object map. | |
| DtElementEntry * | findElement (DtElementID id) |
| Find an element. | |
| void | findAll (DtElementEntry::ElementType type, ElementList &outVector, bool sort=true) |
| Find all elements of a given type, and return in a array (which by default is sorted according to their ID) | |
| void | findAll (const std::vector< DtElementEntry::ElementType > &types, ElementList &outVector, bool sort=true) |
| Find all elements of a for several types, and return in a array (which by default is sorted according to their ID) | |
| void | findAll (ElementList &outVector, bool sort=true) |
| Find all elements and return in a array (which by default is sorted according to their ID) | |
| virtual void | addElementID (const DtElementID &elementID, const DtUniqueID &sceneObjectID, int modelSet) |
| Tell the mapper about an element ID / scene object ID pairing, as well as the model set the scene object is from. | |
| virtual void | addElementID (const DtElementID &elementID, const DtUniqueID &sceneObjectID) |
| Tell the mapper about an element ID / scene object ID pairing for an element that is not part of a model set (such as a prop) | |
| virtual void | removeElementID (const DtElementID &elementID, const DtUniqueID &sceneObjectID, int modelSet) |
| remove an element ID / scene object ID pairing | |
| virtual void | removeElementID (const DtElementID &elementID, const DtUniqueID &sceneObjectID) |
| virtual void | getSceneObjectIds (const DtElementID &elementID, SceneObjectIdList &outputList, int modelSet=-1) const |
| Get the scene object ID from the specified modelset that is associated with an element ID (or all scene object IDs associated with that element ID) | |
| virtual DtElementID | elementId (const DtUniqueID &sceneObjectID) const |
| Get the element ID associated with a scene object ID. | |
Public Attributes | |
| boost::signal< void(const ElementList &) > | signal_elementsAdded |
| Signal elements added. | |
| boost::signal< void(const ElementIdList &) > | signal_elementsInitialized |
| When the element addded signal is raised, none of the element attributes (like displayName, connectionObjectID, etc.) have been set yet; nor have any associated scene objects, making that signal not as useful. | |
| boost::signal< void(const ElementIdList &) > | signal_elementsToBeRemoved |
| Signal elements to be removed. | |
| boost::signal< void(const EntryAttributesList &) > | signal_attributesChanged |
| Signal Attribute changed. | |
| boost::signal< void(const ElementIdList &) > | signal_sceneObjectsAdded |
| Signal a list of elements that have had scene objects added. | |
Protected Types | |
| typedef boost::unordered_map < int, ElementToSceneObjectMap > | ModelSetToElementSceneObjectMap |
| typedef boost::unordered_map < DtUniqueID, DtElementID > | SceneObjectToElementMap |
Protected Member Functions | |
| virtual void | slot_preTick () |
| Check for new elements from last frame. | |
Protected Attributes | |
| DtDe & | myDe |
| ElementEntryMap | myElements |
| ElementToSceneObjectMap | myElementToSceneObjectMap |
| ModelSetToElementSceneObjectMap | myModelSetToElementSceneObjectMap |
| SceneObjectToElementMap | mySceneObjectToElementMap |
| boost::unordered_set< DtElementID > | myElementsAddedLastFrame |
The element data is all the information about all elements in the scene.
| typedef std::vector<DtUniqueID> makVrv::DtElementData::SceneObjectIdList |
| typedef boost::unordered_map<DtElementID, DtElementEntry*> makVrv::DtElementData::ElementEntryMap |
Map of unique id's to DtElementEntry's.
| typedef boost::unordered_map<DtElementID, SceneObjectIdList> makVrv::DtElementData::ElementToSceneObjectMap |
| typedef std::vector<DtElementEntry*> makVrv::DtElementData::ElementList |
Type for signals.
| typedef std::vector<DtElementID> makVrv::DtElementData::UniqueIdList |
| typedef std::vector<DtElementID> makVrv::DtElementData::ElementIdList |
| typedef std::vector<DtElementAttribute*> makVrv::DtElementData::AttributeList |
| typedef std::pair<DtElementEntry*,AttributeList> makVrv::DtElementData::EntryAttributes |
| typedef std::vector<EntryAttributes> makVrv::DtElementData::EntryAttributesList |
|
protected |
|
protected |
| makVrv::DtElementData::DtElementData | ( | DtDe & | de | ) |
CTOR.
|
virtual |
DTOR.
| void makVrv::DtElementData::applyChanges | ( | const DtElementChanges & | changes | ) |
Apply changes via an element changes object.
| const ElementEntryMap& makVrv::DtElementData::elements | ( | ) | const |
Get the element map.
| const ElementToSceneObjectMap& makVrv::DtElementData::elementToSceneObjectMap | ( | ) | const |
Get the element to scene object map.
| DtElementEntry* makVrv::DtElementData::findElement | ( | DtElementID | id | ) |
Find an element.
| void makVrv::DtElementData::findAll | ( | DtElementEntry::ElementType | type, |
| ElementList & | outVector, | ||
| bool | sort = true |
||
| ) |
Find all elements of a given type, and return in a array (which by default is sorted according to their ID)
| void makVrv::DtElementData::findAll | ( | const std::vector< DtElementEntry::ElementType > & | types, |
| ElementList & | outVector, | ||
| bool | sort = true |
||
| ) |
Find all elements of a for several types, and return in a array (which by default is sorted according to their ID)
| void makVrv::DtElementData::findAll | ( | ElementList & | outVector, |
| bool | sort = true |
||
| ) |
Find all elements and return in a array (which by default is sorted according to their ID)
|
virtual |
Tell the mapper about an element ID / scene object ID pairing, as well as the model set the scene object is from.
|
virtual |
Tell the mapper about an element ID / scene object ID pairing for an element that is not part of a model set (such as a prop)
|
virtual |
remove an element ID / scene object ID pairing
|
virtual |
|
virtual |
Get the scene object ID from the specified modelset that is associated with an element ID (or all scene object IDs associated with that element ID)
|
virtual |
Get the element ID associated with a scene object ID.
|
protectedvirtual |
Check for new elements from last frame.
| boost::signal< void (const ElementList&) > makVrv::DtElementData::signal_elementsAdded |
Signal elements added.
| boost::signal< void (const ElementIdList&) > makVrv::DtElementData::signal_elementsInitialized |
When the element addded signal is raised, none of the element attributes (like displayName, connectionObjectID, etc.) have been set yet; nor have any associated scene objects, making that signal not as useful.
This signal is raised at the start of the next frame after the elements were added, at which point any initial attributes will be set and scene objects created. It is ALSO raised if any new scene objects are added to the element. This helps users catch the case where an element is created and initialized, and then for some reason its scene objects are removed and new ones added (this can happen it some initialization edge cases). Note that users needs to listen to DtSceneObject::signal_sceneObjectToBeDeleted if holding on to scene object pointers.
| boost::signal< void (const ElementIdList&) > makVrv::DtElementData::signal_elementsToBeRemoved |
Signal elements to be removed.
| boost::signal< void (const EntryAttributesList&) > makVrv::DtElementData::signal_attributesChanged |
Signal Attribute changed.
| boost::signal< void(const ElementIdList&) > makVrv::DtElementData::signal_sceneObjectsAdded |
Signal a list of elements that have had scene objects added.
This can be used in place of signal_elementsInitialized if desired (we will probably deprecate that signal
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |