21 #include <osg/ref_ptr>
22 #include <osg/observer_ptr>
26 #include <osgSim/MultiSwitch>
42 class DtPerGeomInstance;
43 class DtInstanceContainer;
44 class DtDynamicTerrainSwitchNode;
45 class DtSwitchInstanceState;
74 typedef std::map<NodeObserverPtr, std::vector<IndirectSwitchInfo> >
SwitchInfoMap;
100 virtual void addSwitch(
NodeSwitchInfoPair& switchChildPair,
DtPerGeomInstance &perGeomInstance,
int bitMaskId,
int perGeomInstanceIndex,
const osg::NodePath& parentNodePath);
103 virtual bool areSwitchesDirty(
bool clearFlag =
true);
108 virtual void updateSequences(osg::RenderInfo& renderInfo);
123 typedef std::map<osg::Switch*, osg::Switch::ValueList>
SwitchMap;
126 typedef std::map<osgSim::MultiSwitch*, osgSim::MultiSwitch::ValueList>
MultiSwitchMap;
157 static const std::string& theClassName();
DtDe & myDe
Definition: DtIndirectSwitchManager.h:133
structure for holding the information about a particular instance of a particular switch...
Definition: DtIndirectSwitchManager.h:61
DynamicTerrain::NodePathHash myDynamicTerrianPathHash
Definition: DtIndirectSwitchManager.h:67
Virtual base class.
Definition: DtVirtualBaseClass.h:22
DtDynamicTerrainSwitchNode replaces an osgSim::multiswitch in a terrain patch (or page) that is tagge...
Definition: DtDynamicTerrainSwitchNode.h:74
size_t NodePathHash
Typedef used to represent a hash of an OSG Node path to a referenced node.
Definition: DtMultiReferencedNodeContainer.h:25
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
handles the switches for all the indirect geometry.
Definition: DtIndirectSwitchManager.h:52
voidpf void uLong size
Definition: ioapi.h:39
std::deque< NodeSwitchInfoPair > DequeNodeSwitchInfoPairs
Definition: DtIndirectSwitchManager.h:72
DtInstanceContainer & myContainer
Definition: DtIndirectSwitchManager.h:132
DtGeometrySpecification class declaration.
std::map< osg::Sequence *, unsigned int > SequenceMap
Definition: DtIndirectSwitchManager.h:120
std::map< NodeObserverPtr, std::vector< IndirectSwitchInfo > > SwitchInfoMap
Definition: DtIndirectSwitchManager.h:74
SwitchInfoMap mySwitches
Definition: DtIndirectSwitchManager.h:117
DtDe & myDe
Definition: DtIndirectSwitchManager.h:159
creator for DtIndirectSwitchManager
Definition: DtIndirectSwitchManager.h:140
MultiSwitchMap myMultiChangedMap
Definition: DtIndirectSwitchManager.h:127
DtSignalConnectionManager myConnections
Definition: DtIndirectSwitchManager.h:130
bool mySwitchesDirty
Definition: DtIndirectSwitchManager.h:131
data that is both Per geometry and per instance such as switch states ***** Used on the GPU directly ...
Definition: DtGeometrySpecification.h:23
osg::observer_ptr< osg::Node > NodeObserverPtr
Definition: DtIndirectSwitchManager.h:70
Contains makVrv::DtVirtualBaseClass class.
int mySwitchChild
Definition: DtIndirectSwitchManager.h:64
std::map< osgSim::MultiSwitch *, osgSim::MultiSwitch::ValueList > MultiSwitchMap
Definition: DtIndirectSwitchManager.h:126
std::map< osg::Switch *, osg::Switch::ValueList > SwitchMap
Definition: DtIndirectSwitchManager.h:123
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
std::set< DtDynamicTerrainSwitchNode * > myDynamicSwitchSet
Definition: DtIndirectSwitchManager.h:118
std::vector< DequeNodeSwitchInfoPairs > DequeNodeSwitchInfoPairsArray
Definition: DtIndirectSwitchManager.h:73
SequenceMap mySequenceChangedMap
Definition: DtIndirectSwitchManager.h:121
Contains makVrv::DtMultiReferencedNodeContainer class.
int myPerGeomInstanceIdx
Definition: DtIndirectSwitchManager.h:63
unsigned int mySwitchMaskBit
Definition: DtIndirectSwitchManager.h:65
std::pair< NodeObserverPtr, IndirectSwitchInfo > NodeSwitchInfoPair
Definition: DtIndirectSwitchManager.h:71
Base class to provide boost signal/slot management.
Contains DLL export macros.
SwitchMap mySwitchChangedMap
Definition: DtIndirectSwitchManager.h:124
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Helper class to manage instances This class allows you to add a DtInstance_64 Internally, however it stores this as a DtInstance (which the GPU can directly read)
Definition: DtInstanceContainer.h:27
osg::NodePath myNodePath
Definition: DtIndirectSwitchManager.h:66