Public Member Functions | |
IntersectionVisitor (Intersector *intersector=0, ReadCallback *readCallback=0) | |
virtual void | reset () |
Method to call to reset visitor. | |
void | setIntersector (Intersector *intersector) |
Set the intersector that will be used to intersect with the scene, and to store any hits that occur. | |
Intersector * | getIntersector () |
Get the intersector that will be used to intersect with the scene, and to store any hits that occur. | |
const Intersector * | getIntersector () const |
Get the const intersector that will be used to intersect with the scene, and to store any hits that occur. | |
void | setReadCallback (ReadCallback *rc) |
Set the read callback. | |
ReadCallback * | getReadCallback () |
Get the read callback. | |
const ReadCallback * | getReadCallback () const |
Get the const read callback. | |
void | pushWindowMatrix (osg::RefMatrix *matrix) |
void | pushWindowMatrix (osg::Viewport *viewport) |
void | popWindowMatrix () |
osg::RefMatrix * | getWindowMatrix () |
const osg::RefMatrix * | getWindowMatrix () const |
void | pushProjectionMatrix (osg::RefMatrix *matrix) |
void | popProjectionMatrix () |
osg::RefMatrix * | getProjectionMatrix () |
const osg::RefMatrix * | getProjectionMatrix () const |
void | pushViewMatrix (osg::RefMatrix *matrix) |
void | popViewMatrix () |
osg::RefMatrix * | getViewMatrix () |
const osg::RefMatrix * | getViewMatrix () const |
void | pushModelMatrix (osg::RefMatrix *matrix) |
void | popModelMatrix () |
osg::RefMatrix * | getModelMatrix () |
const osg::RefMatrix * | getModelMatrix () 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 |
Callback used to implement the reading of external files, allowing support for paged databases to be intergrated with IntersectionVisitor. More... |
To implement different types of intersection techniques, one implements custom versions of the osgUtil::Intersector, and then pass the constructed intersector to the IntersectionVisitor.
typedef std::list< osg::ref_ptr<Intersector> > osgUtil::IntersectionVisitor::IntersectorStack [protected] |
typedef std::list< osg::ref_ptr<osg::RefMatrix> > osgUtil::IntersectionVisitor::MatrixStack [protected] |
osgUtil::IntersectionVisitor::IntersectionVisitor | ( | Intersector * | intersector = 0 , |
|
ReadCallback * | readCallback = 0 | |||
) |
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] |
MatrixStack osgUtil::IntersectionVisitor::_viewStack [protected] |
MatrixStack osgUtil::IntersectionVisitor::_modelStack [protected] |