openscenegraph
|
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.
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::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] |
virtual float osgUtil::IntersectionVisitor::getDistanceToEyePoint | ( | const osg::Vec3 & | pos, |
bool | withLODScale | ||
) | const [virtual] |
Get the distance from a point to the eye point, distance value in local coordinate system. This is calculated using the pseudo-EyePoint (above) when doing LOD calculcations.
Reimplemented from osg::NodeVisitor.
bool osgUtil::IntersectionVisitor::getDoDummyTraversal | ( | ) | const [inline] |
virtual osg::Vec3 osgUtil::IntersectionVisitor::getEyePoint | ( | ) | const [virtual] |
Get the eye point in the local coordinate frame a given traversal point.
Reimplemented from osg::NodeVisitor.
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.
Intersector* osgUtil::IntersectionVisitor::getIntersector | ( | ) | [inline] |
Get the intersector that will be used to intersect with the scene, and to store any hits that occur.
LODSelectionMode osgUtil::IntersectionVisitor::getLODSelectionMode | ( | ) | const [inline] |
Get the LOD selection scheme.
osg::RefMatrix* osgUtil::IntersectionVisitor::getModelMatrix | ( | ) | [inline] |
const osg::RefMatrix* osgUtil::IntersectionVisitor::getModelMatrix | ( | ) | const [inline] |
osg::RefMatrix* osgUtil::IntersectionVisitor::getProjectionMatrix | ( | ) | [inline] |
const osg::RefMatrix* osgUtil::IntersectionVisitor::getProjectionMatrix | ( | ) | const [inline] |
ReadCallback* osgUtil::IntersectionVisitor::getReadCallback | ( | ) | [inline] |
Get the read callback.
const ReadCallback* osgUtil::IntersectionVisitor::getReadCallback | ( | ) | const [inline] |
Get the const read callback.
const osg::Vec3& osgUtil::IntersectionVisitor::getReferenceEyePoint | ( | ) | const [inline] |
Get the reference eye point.
Intersector::CoordinateFrame osgUtil::IntersectionVisitor::getReferenceEyePointCoordinateFrame | ( | ) | const [inline] |
Get the coordinate frame of the reference eye point.
bool osgUtil::IntersectionVisitor::getUseKdTreeWhenAvailable | ( | ) | const [inline] |
Set whether the intersectors should use KdTrees.
osg::RefMatrix* osgUtil::IntersectionVisitor::getViewMatrix | ( | ) | [inline] |
const osg::RefMatrix* osgUtil::IntersectionVisitor::getViewMatrix | ( | ) | const [inline] |
const osg::RefMatrix* osgUtil::IntersectionVisitor::getWindowMatrix | ( | ) | const [inline] |
osg::RefMatrix* osgUtil::IntersectionVisitor::getWindowMatrix | ( | ) | [inline] |
void osgUtil::IntersectionVisitor::intersect | ( | osg::Drawable * | drawable | ) | [inline, protected] |
void osgUtil::IntersectionVisitor::leave | ( | ) | [inline, protected] |
osgUtil::IntersectionVisitor::META_NodeVisitor | ( | "osgUtil" | , |
"IntersectionVisitor" | |||
) |
void osgUtil::IntersectionVisitor::pop_clone | ( | ) | [inline, protected] |
void osgUtil::IntersectionVisitor::popModelMatrix | ( | ) | [inline] |
void osgUtil::IntersectionVisitor::popProjectionMatrix | ( | ) | [inline] |
void osgUtil::IntersectionVisitor::popViewMatrix | ( | ) | [inline] |
void osgUtil::IntersectionVisitor::popWindowMatrix | ( | ) | [inline] |
void osgUtil::IntersectionVisitor::push_clone | ( | ) | [inline, protected] |
void osgUtil::IntersectionVisitor::pushModelMatrix | ( | osg::RefMatrix * | matrix | ) | [inline] |
void osgUtil::IntersectionVisitor::pushProjectionMatrix | ( | osg::RefMatrix * | matrix | ) | [inline] |
void osgUtil::IntersectionVisitor::pushViewMatrix | ( | osg::RefMatrix * | matrix | ) | [inline] |
void osgUtil::IntersectionVisitor::pushWindowMatrix | ( | osg::Viewport * | viewport | ) | [inline] |
References osg::Viewport::computeWindowMatrix().
void osgUtil::IntersectionVisitor::pushWindowMatrix | ( | osg::RefMatrix * | matrix | ) | [inline] |
void osgUtil::IntersectionVisitor::setDoDummyTraversal | ( | bool | dummy | ) | [inline] |
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.
void osgUtil::IntersectionVisitor::setLODSelectionMode | ( | LODSelectionMode | mode | ) | [inline] |
Set the LOD selection scheme.
void osgUtil::IntersectionVisitor::setReadCallback | ( | ReadCallback * | rc | ) | [inline] |
Set the read callback.
void osgUtil::IntersectionVisitor::setReferenceEyePoint | ( | const osg::Vec3 & | ep | ) | [inline] |
Set the reference eye point that is used for nodes that require an eye point to position themselves, such as billboards.
void osgUtil::IntersectionVisitor::setReferenceEyePointCoordinateFrame | ( | Intersector::CoordinateFrame | cf | ) | [inline] |
Set the coordinate frame of the reference eye point.
void osgUtil::IntersectionVisitor::setUseKdTreeWhenAvailable | ( | bool | useKdTrees | ) | [inline] |
Set whether the intersectors should use KdTrees when they are found on the scene graph.
bool osgUtil::IntersectionVisitor::_dummyTraversal [protected] |
osg::Vec3 osgUtil::IntersectionVisitor::_eyePoint [mutable, protected] |
bool osgUtil::IntersectionVisitor::_eyePointDirty [mutable, protected] |
MatrixStack osgUtil::IntersectionVisitor::_modelStack [protected] |
Intersector::CoordinateFrame osgUtil::IntersectionVisitor::_referenceEyePointCoordinateFrame [protected] |
bool osgUtil::IntersectionVisitor::_useKdTreesWhenAvailable [protected] |
MatrixStack osgUtil::IntersectionVisitor::_viewStack [protected] |