osgUtil::IntersectionVisitor Class Reference

Inheritance diagram for osgUtil::IntersectionVisitor:

osg::NodeVisitor osg::Referenced

List of all members.

Public Member Functions

 IntersectionVisitor (Intersector *intersector=0, ReadCallback *readCallback=0)
virtual void reset ()
void setIntersector (Intersector *intersector)
IntersectorgetIntersector ()
const IntersectorgetIntersector () const
void setReadCallback (ReadCallback *rc)
ReadCallbackgetReadCallback ()
const ReadCallbackgetReadCallback () const
void pushWindowMatrix (osg::RefMatrix *matrix)
void pushWindowMatrix (osg::Viewport *viewport)
void popWindowMatrix ()
osg::RefMatrixgetWindowMatrix ()
const osg::RefMatrixgetWindowMatrix () const
void pushProjectionMatrix (osg::RefMatrix *matrix)
void popProjectionMatrix ()
osg::RefMatrixgetProjectionMatrix ()
const osg::RefMatrixgetProjectionMatrix () const
void pushViewMatrix (osg::RefMatrix *matrix)
void popViewMatrix ()
osg::RefMatrixgetViewMatrix ()
const osg::RefMatrixgetViewMatrix () const
void pushModelMatrix (osg::RefMatrix *matrix)
void popModelMatrix ()
osg::RefMatrixgetModelMatrix ()
const osg::RefMatrixgetModelMatrix () const
virtual void apply (osg::Node &node)
virtual void apply (osg::Geode &geode)
virtual void apply (osg::Billboard &geode)
virtual void apply (osg::Group &group)
virtual void apply (osg::LOD &lod)
virtual void apply (osg::PagedLOD &lod)
virtual void apply (osg::Transform &transform)
virtual void apply (osg::Projection &projection)
virtual void apply (osg::Camera &camera)

Protected Types

typedef std::list
< osg::ref_ptr< Intersector > > 
IntersectorStack
typedef std::list
< osg::ref_ptr< osg::RefMatrix > > 
MatrixStack

Protected Member Functions

bool enter (const osg::Node &node)
void leave ()
void intersect (osg::Drawable *drawable)
void push_clone ()
void pop_clone ()

Protected Attributes

IntersectorStack _intersectorStack
osg::ref_ptr< ReadCallback_readCallback
MatrixStack _windowStack
MatrixStack _projectionStack
MatrixStack _viewStack
MatrixStack _modelStack

Classes

struct  ReadCallback


Detailed Description

InteresectionVisitor is used to testing for intersections with the scene, traversing the scene using generic osgUtil::Intersector's to test against the scene. To implement different types of intersection techniques, one implements custom versions of the osgUtil::Intersector, and then pass the constructed intersector to the IntersectionVisitor.

Member Typedef Documentation


Constructor & Destructor Documentation

osgUtil::IntersectionVisitor::IntersectionVisitor ( Intersector intersector = 0,
ReadCallback readCallback = 0 
)


Member Function Documentation

virtual void osgUtil::IntersectionVisitor::reset (  )  [virtual]

Method to call to reset visitor. Useful if your visitor accumulates state during a traversal, and you plan to reuse the visitor. To flush that state for the next traversal: call reset() prior to each traversal.

Reimplemented from osg::NodeVisitor.

void osgUtil::IntersectionVisitor::setIntersector ( Intersector intersector  ) 

Set the intersector that will be used to intersect with the scene, and to store any hits that occur.

Intersector* osgUtil::IntersectionVisitor::getIntersector (  )  [inline]

Get the intersector that will be used to intersect with the scene, and to store any hits that occur.

const Intersector* osgUtil::IntersectionVisitor::getIntersector (  )  const [inline]

Get the const intersector that will be used to intersect with the scene, and to store any hits that occur.

void osgUtil::IntersectionVisitor::setReadCallback ( ReadCallback rc  )  [inline]

Set the read callback.

ReadCallback* osgUtil::IntersectionVisitor::getReadCallback (  )  [inline]

Get the read callback.

const ReadCallback* osgUtil::IntersectionVisitor::getReadCallback (  )  const [inline]

Get the const read callback.

void osgUtil::IntersectionVisitor::pushWindowMatrix ( osg::RefMatrix matrix  )  [inline]

void osgUtil::IntersectionVisitor::pushWindowMatrix ( osg::Viewport viewport  )  [inline]

void osgUtil::IntersectionVisitor::popWindowMatrix (  )  [inline]

osg::RefMatrix* osgUtil::IntersectionVisitor::getWindowMatrix (  )  [inline]

const osg::RefMatrix* osgUtil::IntersectionVisitor::getWindowMatrix (  )  const [inline]

void osgUtil::IntersectionVisitor::pushProjectionMatrix ( osg::RefMatrix matrix  )  [inline]

void osgUtil::IntersectionVisitor::popProjectionMatrix (  )  [inline]

osg::RefMatrix* osgUtil::IntersectionVisitor::getProjectionMatrix (  )  [inline]

const osg::RefMatrix* osgUtil::IntersectionVisitor::getProjectionMatrix (  )  const [inline]

void osgUtil::IntersectionVisitor::pushViewMatrix ( osg::RefMatrix matrix  )  [inline]

void osgUtil::IntersectionVisitor::popViewMatrix (  )  [inline]

osg::RefMatrix* osgUtil::IntersectionVisitor::getViewMatrix (  )  [inline]

const osg::RefMatrix* osgUtil::IntersectionVisitor::getViewMatrix (  )  const [inline]

void osgUtil::IntersectionVisitor::pushModelMatrix ( osg::RefMatrix matrix  )  [inline]

void osgUtil::IntersectionVisitor::popModelMatrix (  )  [inline]

osg::RefMatrix* osgUtil::IntersectionVisitor::getModelMatrix (  )  [inline]

const osg::RefMatrix* osgUtil::IntersectionVisitor::getModelMatrix (  )  const [inline]

virtual void osgUtil::IntersectionVisitor::apply ( osg::Node node  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::Geode geode  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::Billboard geode  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::Group group  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::LOD lod  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::PagedLOD lod  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::Transform transform  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::Projection projection  )  [virtual]

Reimplemented from osg::NodeVisitor.

virtual void osgUtil::IntersectionVisitor::apply ( osg::Camera camera  )  [virtual]

Reimplemented from osg::NodeVisitor.

bool osgUtil::IntersectionVisitor::enter ( const osg::Node node  )  [inline, protected]

void osgUtil::IntersectionVisitor::leave (  )  [inline, protected]

void osgUtil::IntersectionVisitor::intersect ( osg::Drawable drawable  )  [inline, protected]

void osgUtil::IntersectionVisitor::push_clone (  )  [inline, protected]

void osgUtil::IntersectionVisitor::pop_clone (  )  [inline, protected]


Member Data Documentation


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

Generated on Wed Nov 17 16:52:53 2010 for openscenegraph by  doxygen 1.5.6