- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# osgUtil::IntersectVisitor Class Reference

Basic visitor for ray based collisions of a scene. More...

Inheritance diagram for osgUtil::IntersectVisitor:

[legend]
List of all members.

## Public Types
typedef std::vector< Hit > | HitList
typedef std::map< osg::LineSegment *, HitList > | LineSegmentHitListMap
## Public Member Functions
| IntersectVisitor ()
virtual | ~IntersectVisitor ()
void | reset ()
| Method to call to reset visitor.
void | addLineSegment (osg::LineSegment *seg)
| Add a line segment to use for intersection testing during scene traversal.
HitList & | getHitList (osg::LineSegment *seg)
int | getNumHits (osg::LineSegment *seg)
bool | hits ()
virtual void | apply (osg::Node &)
virtual void | apply (osg::Geode &node)
virtual void | apply (osg::Billboard &node)
virtual void | apply (osg::Group &node)
virtual void | apply (osg::Transform &node)
virtual void | apply (osg::Switch &node)
virtual void | apply (osg::LOD &node)
## Protected Types
typedef std::vector< osg::ref_ptr< IntersectState > > | IntersectStateStack
## Protected Member Functions
bool | intersect (osg::Drawable &gset)
void | pushMatrix (const osg::Matrix &matrix)
void | popMatrix ()
bool | enterNode (osg::Node &node)
void | leaveNode ()
## Protected Attributes
IntersectStateStack | _intersectStateStack
osg::NodePath | _nodePath
LineSegmentHitListMap | _segHitList
## Classes
class | IntersectState

## Detailed Description

Basic visitor for ray based collisions of a scene.

## Member Typedef Documentation

typedef std::vector<Hit> osgUtil::IntersectVisitor::HitList

typedef std::vector<osg::ref_ptr<IntersectState> > osgUtil::IntersectVisitor::IntersectStateStack`[protected]`

typedef std::map<osg::LineSegment*,HitList > osgUtil::IntersectVisitor::LineSegmentHitListMap

## Constructor & Destructor Documentation

IntersectVisitor::IntersectVisitor | ( |  | ) |

IntersectVisitor::~IntersectVisitor | ( |  | ) | `[virtual]`

## Member Function Documentation

void IntersectVisitor::addLineSegment | ( | osg::LineSegment * | seg | ) |

| Add a line segment to use for intersection testing during scene traversal.

void IntersectVisitor::apply | ( | osg::LOD & | node | ) | `[virtual]`

| Reimplemented from osg::NodeVisitor.

void IntersectVisitor::apply | ( | osg::Switch & | node | ) | `[virtual]`

| Reimplemented from osg::NodeVisitor.

void IntersectVisitor::apply | ( | osg::Transform & | node | ) | `[virtual]`

| Reimplemented from osg::NodeVisitor.

void IntersectVisitor::apply | ( | osg::Group & | node | ) | `[virtual]`

| Reimplemented from osg::NodeVisitor.

void IntersectVisitor::apply | ( | osg::Billboard & | node | ) | `[virtual]`

| Reimplemented from osg::NodeVisitor.

void IntersectVisitor::apply | ( | osg::Geode & | node | ) | `[virtual]`

| Reimplemented from osg::NodeVisitor.

void IntersectVisitor::apply | ( | osg::Node & |  | ) | `[virtual]`

| Reimplemented from osg::NodeVisitor.

bool IntersectVisitor::enterNode | ( | osg::Node & | node | ) | `[protected]`

HitList& osgUtil::IntersectVisitor::getHitList | ( | osg::LineSegment * | seg | ) | `[inline]`

int osgUtil::IntersectVisitor::getNumHits | ( | osg::LineSegment * | seg | ) | `[inline]`

bool IntersectVisitor::hits | ( |  | ) |

bool IntersectVisitor::intersect | ( | osg::Drawable & | gset | ) | `[protected]`

void IntersectVisitor::leaveNode | ( |  | ) | `[protected]`

void IntersectVisitor::popMatrix | ( |  | ) | `[protected]`

void IntersectVisitor::pushMatrix | ( | const osg::Matrix & | matrix | ) | `[protected]`

void IntersectVisitor::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.

## Member Data Documentation

IntersectStateStack osgUtil::IntersectVisitor::_intersectStateStack`[protected]`

osg::NodePath osgUtil::IntersectVisitor::_nodePath`[protected]`

| Reimplemented from osg::NodeVisitor.

LineSegmentHitListMap osgUtil::IntersectVisitor::_segHitList`[protected]`

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

- IntersectVisitor
- IntersectVisitor.cpp