VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions
makVrv::DtIndirectSignalBasedSwitchManager Class Reference

This is used for entities indicate whether this manager's switches get updated directly using signals. To do this, it overrides the update method of the base DtIndirectSwitchManager. It also supports removal of switches for a given instance id. This manager's switches get updated directly using slot_* functions.

Inheritance diagram for makVrv::DtIndirectSignalBasedSwitchManager:
Inheritance graph
[legend]

Classes

struct  SequenceAndValue
 

Public Member Functions

virtual ~DtIndirectSignalBasedSwitchManager ()
 
virtual void update (const osg::FrameStamp *frameStamp) override
 
virtual void removeSwitchPaths (int instanceId)
 
virtual void slot_setSwitch (osgSim::MultiSwitch *clone, osgSim::MultiSwitch *master, int instanceId)
 
virtual bool slot_setSequence (osg::Sequence *clone, osg::Sequence *master, int instanceId)
 
virtual void printInfo ()
 
- Public Member Functions inherited from makVrv::DtIndirectSwitchManager
virtual ~DtIndirectSwitchManager ()
 
virtual void addSwitchPaths (int perGeomInstanceIndex, int size, const DequeNodeSwitchInfoPairs &parentSwitchPaths, const DequeNodeSwitchInfoPairsArray &switchPaths, const osg::NodePath &parentNodePath, int instanceId)
 
virtual void slot_setSwitchDynamicTerrainSwitchNode (DtDynamicTerrainSwitchNode *switchNode, DynamicTerrain::NodePathHash nodePathHash, int childIdx)
 
virtual void processSwitches (void)
 
virtual void releaseGLObjects (osg::State *state) const
 
virtual const DtGlBuffergpuSwitchStateBuffer (void) const
 
- Public Member Functions inherited from makVrv::DtIndirectManager
 DtIndirectManager (DtDe &de, DtInstanceContainer &container)
 
virtual ~DtIndirectManager ()
 

Public Attributes

friend DtIndirectSignalBasedSwitchManagerCreator
 
- Public Attributes inherited from makVrv::DtIndirectSwitchManager
friend DtIndirectSwitchManagerCreator
 

Protected Types

typedef std::map
< osg::Sequence
*, SequenceAndValue
MapOfSequences
 
typedef std::map< int,
MapOfSequences
MapInstanceToMapOfSequences
 
- Protected Types inherited from makVrv::DtIndirectSwitchManager
typedef std::map
< osg::Sequence *, unsigned
int
MapSequenceToValue
 
typedef std::map< osg::Switch
*, osg::Switch::ValueList > 
MapSwitchToValueList
 
typedef std::map
< osgSim::MultiSwitch
*, osgSim::MultiSwitch::ValueList > 
MapMultiSwitchToValueList
 
typedef DtReusableMemoryVector
< int,
SwitchesOffBitMaskInvalidator
VectorSwitchesOffBitMask
 

Protected Member Functions

 DtIndirectSignalBasedSwitchManager (DtDe &de, DtInstanceContainer &container)
 
virtual void addSequence (osg::Sequence *sequence, int instanceId) override
 
virtual void updateActiveSequences (const osg::FrameStamp *frameStamp)
 
- Protected Member Functions inherited from makVrv::DtIndirectSwitchManager
 DtIndirectSwitchManager (DtDe &de, DtInstanceContainer &container)
 
virtual void addSwitchPath (int perGeomInstanceIndex, const DequeNodeSwitchInfoPairs &parentSwitchPaths, const DequeNodeSwitchInfoPairs &switchPath, const osg::NodePath &parentNodePath, int instanceId)
 
virtual void addSwitch (NodeSwitchInfoPair &switchChildPair, int bitMaskId, int perGeomInstanceIndex, const osg::NodePath &parentNodePath, int uniqueId)
 
virtual bool checkSwitchChildActive (osg::ref_ptr< osg::Node > nodeRefPtr, int childIndex, DynamicTerrain::NodePathHash pathHash)
 
virtual void updateSwitches (void)
 
virtual void updateMultiSwitches (void)
 
virtual void updateSequences (const osg::FrameStamp *frameStamp)
 
virtual void updateSwitchStateBufferIfNecessary (void)
 
virtual void deleteBuffers (void)
 
virtual void tearDownBuffers (void) const
 
virtual void updateSwitch (const DtIndirectSwitchInfo &info, bool isSwitchChildActive)
 

Protected Attributes

MapInstanceToMapOfSequences myActiveMapSequenceToInfo
 
- Protected Attributes inherited from makVrv::DtIndirectSwitchManager
MapNodeToMapIntToVectorIndirectSwitchInfos myMapNodeToVectorIndirectSwitchInfos
 
std::set
< DtDynamicTerrainSwitchNode * > 
mySetDynamicTerrainSwitchNodes
 
MapSequenceToValue myMapSequenceToValue
 
MapSwitchToValueList myMapSwitchToValueList
 
MapMultiSwitchToValueList myMapMultiSwitchToValueList
 
DtSignalConnectionManager myConnections
 
bool myMutableSwitchesDirty
 
VectorSwitchesOffBitMask myVectorSwitchesOffBitMask
 
DtGlBuffermyGpuSwitchStateBuffer
 
- Protected Attributes inherited from makVrv::DtIndirectManager
DtInstanceContainermyInstanceContainer
 
DtDemyDe
 

Private Member Functions

 DtIndirectSignalBasedSwitchManager ()=delete
 
 DtIndirectSignalBasedSwitchManager (const DtIndirectSwitchManager &other)=delete
 
DtIndirectSignalBasedSwitchManageroperator= (const DtIndirectSwitchManager &other)=delete
 

Additional Inherited Members

- Public Types inherited from makVrv::DtIndirectSwitchManager
typedef osg::observer_ptr
< osg::Node > 
NodeObserverPtr
 
typedef std::pair
< NodeObserverPtr,
DtIndirectSwitchInfo
NodeSwitchInfoPair
 
typedef std::deque
< NodeSwitchInfoPair
DequeNodeSwitchInfoPairs
 
typedef std::vector
< DequeNodeSwitchInfoPairs
DequeNodeSwitchInfoPairsArray
 
typedef std::vector
< DtIndirectSwitchInfo
VectorIndirectSwitchInfos
 
typedef std::map< int,
VectorIndirectSwitchInfos
MapIntToVectorIndirectSwitchInfos
 
typedef std::map
< NodeObserverPtr,
MapIntToVectorIndirectSwitchInfos
MapNodeToMapIntToVectorIndirectSwitchInfos
 
- Public Types inherited from makVrv::DtIndirectManager
enum  ManagerTypes {
  BaseClass, LodManager, SwitchManager, DofManager,
  UvOffsetManager, PerInstanceDataManager
}
 
- Static Public Member Functions inherited from makVrv::DtIndirectManager
static int managerType ()
 

Member Typedef Documentation

Constructor & Destructor Documentation

virtual makVrv::DtIndirectSignalBasedSwitchManager::~DtIndirectSignalBasedSwitchManager ( )
virtual

DTOR.

makVrv::DtIndirectSignalBasedSwitchManager::DtIndirectSignalBasedSwitchManager ( DtDe de,
DtInstanceContainer container 
)
protected

CTOR. only creator can create.

makVrv::DtIndirectSignalBasedSwitchManager::DtIndirectSignalBasedSwitchManager ( )
privatedelete

default constructor not implemented

makVrv::DtIndirectSignalBasedSwitchManager::DtIndirectSignalBasedSwitchManager ( const DtIndirectSwitchManager other)
privatedelete

Copy Constructor not implemented – Copy Not Allowed.

Member Function Documentation

DtIndirectSignalBasedSwitchManager& makVrv::DtIndirectSignalBasedSwitchManager::operator= ( const DtIndirectSwitchManager other)
privatedelete

Assignment Operator Not implemented – Assignment Not Allowed.

virtual void makVrv::DtIndirectSignalBasedSwitchManager::update ( const osg::FrameStamp *  frameStamp)
overridevirtual
virtual void makVrv::DtIndirectSignalBasedSwitchManager::removeSwitchPaths ( int  instanceId)
virtual

remove the switch paths/infos associated with an instance

virtual void makVrv::DtIndirectSignalBasedSwitchManager::slot_setSwitch ( osgSim::MultiSwitch *  clone,
osgSim::MultiSwitch *  master,
int  instanceId 
)
virtual

set the multi-switch state of an instance/clone, with an instance id. The representative 'master' that is in the indirect switch manager is the parameter 'master'

virtual bool makVrv::DtIndirectSignalBasedSwitchManager::slot_setSequence ( osg::Sequence *  clone,
osg::Sequence *  master,
int  instanceId 
)
virtual

set the sequence

virtual void makVrv::DtIndirectSignalBasedSwitchManager::printInfo ( )
virtual

print out the info of what's contained in the maps

virtual void makVrv::DtIndirectSignalBasedSwitchManager::addSequence ( osg::Sequence *  sequence,
int  instanceId 
)
overrideprotectedvirtual

add a sequence

Reimplemented from makVrv::DtIndirectSwitchManager.

virtual void makVrv::DtIndirectSignalBasedSwitchManager::updateActiveSequences ( const osg::FrameStamp *  frameStamp)
protectedvirtual

update

Member Data Documentation

friend makVrv::DtIndirectSignalBasedSwitchManager::DtIndirectSignalBasedSwitchManagerCreator

only creator can create

MapInstanceToMapOfSequences makVrv::DtIndirectSignalBasedSwitchManager::myActiveMapSequenceToInfo
protected

The documentation for this class was generated from the following file:

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)