osgSim::VisibilityGroup Class Reference

VisibilityGroup renders (traverses) it's children only when the camera is inside a specified visibility volume. More...

Inheritance diagram for osgSim::VisibilityGroup:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 VisibilityGroup ()
 VisibilityGroup (const VisibilityGroup &, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
 Copy constructor using CopyOp to manage deep vs shallow copy.
 META_Node (osgSim, VisibilityGroup)
virtual void traverse (osg::NodeVisitor &nv)
 Traverse downwards : calls children's accept method with NodeVisitor.
void setVisibilityVolume (osg::Node *node)
 Set the subgraph that is intersected for the visibility determination.
osg::NodegetVisibilityVolume ()
 Get the subgraph that is intersected for the visibility determination.
const osg::NodegetVisibilityVolume () const
 Get the const subgraph that is intersected for the visibility determination.
void setVolumeIntersectionMask (osg::Node::NodeMask mask)
 Set the traversal mask for the intersection testing.
osg::Node::NodeMask getVolumeIntersectionMask () const
 Get the traversal mask for the intersection testing.
void setSegmentLength (float length)
 Set the length of the intersection segment.
float getSegmentLength () const
 Get the length of the intersection segment.

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

osgSim::VisibilityGroup::META_Node ( osgSim  ,
VisibilityGroup   
)

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

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

Reimplemented from osg::Group.

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

Set the subgraph that is intersected for the visibility determination.

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

Get the subgraph that is intersected for the visibility determination.

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

Get the const 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.

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

Get the traversal mask for the intersection testing.

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.

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

Get the length of the intersection segment.


Member Data Documentation

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

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

float osgSim::VisibilityGroup::_segmentLength [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:47 2007 for the OpenSceneGraph by doxygen 1.5.3.