![]() |
VR-Forces 4.8 Class Documentation
|
handles the switches for all the indirect geometry. More...
Classes | |
| struct | IndirectSwitchInfo |
| structure for holding the information about a particular instance of a particular switch. More... | |
Public Types | |
| typedef osg::observer_ptr < osg::Node > | NodeObserverPtr |
| typedef std::pair < NodeObserverPtr, IndirectSwitchInfo > | NodeSwitchInfoPair |
| typedef std::deque < NodeSwitchInfoPair > | DequeNodeSwitchInfoPairs |
| typedef std::vector < DequeNodeSwitchInfoPairs > | DequeNodeSwitchInfoPairsArray |
| typedef std::map < NodeObserverPtr, std::vector < IndirectSwitchInfo > > | SwitchInfoMap |
Public Member Functions | |
| DtIndirectSwitchManager (DtDe &de, DtInstanceContainer &container) | |
| CTOR. More... | |
| virtual | ~DtIndirectSwitchManager () |
| DTOR. More... | |
| virtual void | addSwitchPaths (DtInstanceContainer &instances, int perGeomInstanceIndex, int size, const DequeNodeSwitchInfoPairs &parentSwitchPaths, const DequeNodeSwitchInfoPairsArray &switchPaths, const osg::NodePath &parentNodePath) |
| Add a list of switch paths to the switch manager. Once added they are connected to the signal so changes can be passed down to the indirect buffer. More... | |
| virtual void | addSwitchPath (DtInstanceContainer &instances, int perGeomInstanceIndex, const DequeNodeSwitchInfoPairs &parentSwitchPaths, const DequeNodeSwitchInfoPairs &switchPath, const osg::NodePath &parentNodePath) |
| Adds a single per geometry instances switch paths. Each switch is assigned a bit in the instances switch off mask. More... | |
| virtual void | addSwitch (NodeSwitchInfoPair &switchChildPair, DtPerGeomInstance &perGeomInstance, int bitMaskId, int perGeomInstanceIndex, const osg::NodePath &parentNodePath) |
| Adds a single switch for a single per geometry instance. More... | |
| virtual bool | areSwitchesDirty (bool clearFlag=true) |
| Checks the manager to see if any switches have changed since the last time this was called. More... | |
| virtual void | slot_setSwitch (DtDynamicTerrainSwitchNode *switchNode, DynamicTerrain::NodePathHash nodePathHash, int childIdx) |
| slot for handling DtDynamicTerrainSwitchNode switch state changes. More... | |
| virtual void | updateSequences (osg::RenderInfo &renderInfo) |
Protected Types | |
| typedef std::map < osg::Sequence *, unsigned int > | SequenceMap |
| typedef std::map< osg::Switch *, osg::Switch::ValueList > | SwitchMap |
| typedef std::map < osgSim::MultiSwitch *, osgSim::MultiSwitch::ValueList > | MultiSwitchMap |
Protected Member Functions | |
| virtual bool | checkSwitchChildActive (osg::ref_ptr< osg::Node > nodeRefPtr, int childIndex, DynamicTerrain::NodePathHash pathHash) |
| utility function for checking the switch state for osg::Switch, osgSim::MutliSwitch and DtDynamicTerrainSwitchNode classes. More... | |
Private Member Functions | |
| DtIndirectSwitchManager () | |
| default constructor not implemented More... | |
| DtIndirectSwitchManager (const DtIndirectSwitchManager &other) | |
| Copy Constructor not implemented – Copy Not Allowed. More... | |
| DtIndirectSwitchManager & | operator= (const DtIndirectSwitchManager &other) |
| Assignment Operator Not implemented – Assignment Not Allowed. More... | |
handles the switches for all the indirect geometry.
Sets up the default state of osg::Switch, osgSim::MultiSwitch, and DtDynamicTerrainSwitchNode. Connects to a signal for the DtDynamicTerrainSwitchNode so it can update the indirect buffer when a switch changes. saves off the node path hash for every switch path that is added.
| typedef osg::observer_ptr<osg::Node> makVrv::DtIndirectSwitchManager::NodeObserverPtr |
| typedef std::pair<NodeObserverPtr, IndirectSwitchInfo> makVrv::DtIndirectSwitchManager::NodeSwitchInfoPair |
| typedef std::deque<NodeSwitchInfoPair> makVrv::DtIndirectSwitchManager::DequeNodeSwitchInfoPairs |
| typedef std::vector<DequeNodeSwitchInfoPairs> makVrv::DtIndirectSwitchManager::DequeNodeSwitchInfoPairsArray |
| typedef std::map<NodeObserverPtr, std::vector<IndirectSwitchInfo> > makVrv::DtIndirectSwitchManager::SwitchInfoMap |
|
protected |
|
protected |
|
protected |
| makVrv::DtIndirectSwitchManager::DtIndirectSwitchManager | ( | DtDe & | de, |
| DtInstanceContainer & | container | ||
| ) |
CTOR.
|
virtual |
DTOR.
|
private |
default constructor not implemented
|
private |
Copy Constructor not implemented – Copy Not Allowed.
|
private |
Assignment Operator Not implemented – Assignment Not Allowed.
|
virtual |
Add a list of switch paths to the switch manager. Once added they are connected to the signal so changes can be passed down to the indirect buffer.
|
virtual |
Adds a single per geometry instances switch paths. Each switch is assigned a bit in the instances switch off mask.
|
virtual |
Adds a single switch for a single per geometry instance.
Checks the manager to see if any switches have changed since the last time this was called.
|
virtual |
slot for handling DtDynamicTerrainSwitchNode switch state changes.
|
virtual |
|
protectedvirtual |
utility function for checking the switch state for osg::Switch, osgSim::MutliSwitch and DtDynamicTerrainSwitchNode classes.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |