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 Sun Oct 1 13:17:13 2006 for openscenegraph by  doxygen 1.4.7