VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtLightPointVisitor Class Reference

DtLightPointVisitor walks the scene graph and collects pointers to the LightPoint nodes. More...

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

Public Member Functions

 DtLightPointVisitor ()
 Default CTOR. More...
 
virtual ~DtLightPointVisitor ()
 Virtual DTOR. More...
 
virtual void apply (osg::Node &node)
 The visitor apply method used to traverse the scene-graph. More...
 
virtual void apply (osgSim::LightPointNode &node)
 used to collect the light point nodes More...
 
virtual void apply (DtLightPointNode &node)
 used to collect the light point nodes More...
 
virtual void apply (DtDynamicTerrainSwitchNode &node)
 Gather the switch node information. More...
 
virtual void apply (osg::Switch &node)
 Gather the switch node information. More...
 
virtual void apply (osgSim::MultiSwitch &node)
 Gather the switch node information. More...
 
virtual void apply (osg::LOD &node)
 Gather the Lod information. More...
 
virtual void apply (osg::Sequence &node)
 Gather the sequence information. More...
 
virtual void apply (osg::MatrixTransform &matTrans)
 used to gather the matrix transforms so we get the geometry and lods in the correct position. More...
 
virtual void apply (osgSim::DOFTransform &node)
 used to gather DOFTransforms More...
 
virtual const
DtLightPointNodeAndXformVector
foundLightPoints () const
 Returns the list of light points for a terrain. More...
 

Protected Member Functions

virtual void addLightPoints (LightPointNodeObs node)
 Track Common point to add light points to our set of them. More...
 
template<typename T >
void addToNodeStack (DtNodePointerStack &nodeStack, const T &nodeInfoStack)
 Add node pointers from given stack into a dedicated pointer stack used for light point aggregation division points. More...
 

Protected Attributes

std::stack< osg::Matrix > myMatrixStack
 
DtIndirectLodManager::DequeIndirectLodInfoPairs myLodStack
 
DtIndirectSwitchManager::DequeNodeSwitchInfoPairs mySwitchStack
 
DtIndirectDofManager::DequeNodeDofInfoPairs myDofStack
 
int myCurrentParentId
 
int myMaxDofId
 
DtLightPointNodeAndXformVector myLightPoints
 

Detailed Description

DtLightPointVisitor walks the scene graph and collects pointers to the LightPoint nodes.

It also aggregates transforms and provides hash values for switches and dofs.

Constructor & Destructor Documentation

makVrv::DtLightPointVisitor::DtLightPointVisitor ( )

Default CTOR.

virtual makVrv::DtLightPointVisitor::~DtLightPointVisitor ( )
virtual

Virtual DTOR.

Member Function Documentation

virtual void makVrv::DtLightPointVisitor::apply ( osg::Node &  node)
virtual

The visitor apply method used to traverse the scene-graph.

Parameters
[in]nodeis the osg::Node being visited.
Note
Called during scene-graph traversal, do not directly call this function.
virtual void makVrv::DtLightPointVisitor::apply ( osgSim::LightPointNode &  node)
virtual

used to collect the light point nodes

virtual void makVrv::DtLightPointVisitor::apply ( DtLightPointNode node)
virtual

used to collect the light point nodes

virtual void makVrv::DtLightPointVisitor::apply ( DtDynamicTerrainSwitchNode node)
virtual

Gather the switch node information.

virtual void makVrv::DtLightPointVisitor::apply ( osg::Switch &  node)
virtual

Gather the switch node information.

virtual void makVrv::DtLightPointVisitor::apply ( osgSim::MultiSwitch &  node)
virtual

Gather the switch node information.

virtual void makVrv::DtLightPointVisitor::apply ( osg::LOD &  node)
virtual

Gather the Lod information.

virtual void makVrv::DtLightPointVisitor::apply ( osg::Sequence &  node)
virtual

Gather the sequence information.

virtual void makVrv::DtLightPointVisitor::apply ( osg::MatrixTransform &  matTrans)
virtual

used to gather the matrix transforms so we get the geometry and lods in the correct position.

virtual void makVrv::DtLightPointVisitor::apply ( osgSim::DOFTransform &  node)
virtual

used to gather DOFTransforms

virtual const DtLightPointNodeAndXformVector& makVrv::DtLightPointVisitor::foundLightPoints ( ) const
virtual

Returns the list of light points for a terrain.

virtual void makVrv::DtLightPointVisitor::addLightPoints ( LightPointNodeObs  node)
protectedvirtual

Track Common point to add light points to our set of them.

template<typename T >
void makVrv::DtLightPointVisitor::addToNodeStack ( DtNodePointerStack nodeStack,
const T &  nodeInfoStack 
)
protected

Add node pointers from given stack into a dedicated pointer stack used for light point aggregation division points.

TODO: when C++11 is available, this could use move semantics.

Member Data Documentation

std::stack<osg::Matrix> makVrv::DtLightPointVisitor::myMatrixStack
protected
DtIndirectLodManager::DequeIndirectLodInfoPairs makVrv::DtLightPointVisitor::myLodStack
protected
DtIndirectSwitchManager::DequeNodeSwitchInfoPairs makVrv::DtLightPointVisitor::mySwitchStack
protected
DtIndirectDofManager::DequeNodeDofInfoPairs makVrv::DtLightPointVisitor::myDofStack
protected
int makVrv::DtLightPointVisitor::myCurrentParentId
protected
int makVrv::DtLightPointVisitor::myMaxDofId
protected
DtLightPointNodeAndXformVector makVrv::DtLightPointVisitor::myLightPoints
protected

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

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)