osgSim::VisibilityGroup Class Reference

Inheritance diagram for osgSim::VisibilityGroup:

osg::Group osg::Node osg::Object osg::Referenced List of all members.

Public Member Functions

 VisibilityGroup ()
 VisibilityGroup (const VisibilityGroup &, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 META_Node (osgSim, VisibilityGroup)
virtual void traverse (osg::NodeVisitor &nv)
void setVisibilityVolume (osg::Node *node)
osg::NodegetVisibilityVolume ()
const osg::NodegetVisibilityVolume () const
void setVolumeIntersectionMask (osg::Node::NodeMask mask)
osg::Node::NodeMask getVolumeIntersectionMask () const
void setSegmentLength (float length)
float getSegmentLength () const

Protected Member Functions

virtual ~VisibilityGroup ()

Protected Attributes

osg::ref_ptr< osg::Node_visibilityVolume
osg::Node::NodeMask _volumeIntersectionMask
float _segmentLength

Detailed Description

VisibilityGroup renders (traverses) it's children only when the camera is inside a specified visibility volume. The visibility volume is intersected with a line segment that extends from the current camera's eye-point along the view vector for a given segment length. If an intersection is detected then the node's children are traversed.


Constructor & Destructor Documentation

osgSim::VisibilityGroup::VisibilityGroup  ) 
 

osgSim::VisibilityGroup::VisibilityGroup const VisibilityGroup ,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY
 

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osgSim::VisibilityGroup::~VisibilityGroup  )  [inline, protected, virtual]
 


Member Function Documentation

float osgSim::VisibilityGroup::getSegmentLength  )  const [inline]
 

Get the length of the intersection segment.

const osg::Node* osgSim::VisibilityGroup::getVisibilityVolume  )  const [inline]
 

Get the const subgraph that is intersected for the visibility determination.

osg::Node* osgSim::VisibilityGroup::getVisibilityVolume  )  [inline]
 

Get the subgraph that is intersected for the visibility determination.

osg::Node::NodeMask osgSim::VisibilityGroup::getVolumeIntersectionMask  )  const [inline]
 

Get the traversal mask for the intersection testing.

osgSim::VisibilityGroup::META_Node osgSim  ,
VisibilityGroup 
 

void osgSim::VisibilityGroup::setSegmentLength float  length  )  [inline]
 

Set the length of the intersection segment. The segments extends this many database units from the camera eye-point along the look vector. If this is left at zero then the diameter of the bounding sphere of the visibility volume is used.

void osgSim::VisibilityGroup::setVisibilityVolume osg::Node node  )  [inline]
 

Set the subgraph that is intersected for the visibility determination.

void osgSim::VisibilityGroup::setVolumeIntersectionMask osg::Node::NodeMask  mask  )  [inline]
 

Set the traversal mask for the intersection testing.

virtual void osgSim::VisibilityGroup::traverse osg::NodeVisitor nv  )  [virtual]
 

Traverse downwards : calls children's accept method with NodeVisitor.

Reimplemented from osg::Group.


Member Data Documentation

float osgSim::VisibilityGroup::_segmentLength [protected]
 

osg::ref_ptr<osg::Node> osgSim::VisibilityGroup::_visibilityVolume [protected]
 

osg::Node::NodeMask osgSim::VisibilityGroup::_volumeIntersectionMask [protected]
 


The documentation for this class was generated from the following file:
Generated on Wed Nov 29 06:19:27 2006 for OpenSceneGraph by  doxygen 1.4.6