# 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]`

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

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

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

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

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

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

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