osgUtil::Intersector Class Reference

Pure virtual base class for implementating custom intersection technique. More...

Inheritance diagram for osgUtil::Intersector:

Inheritance graph
[legend]

List of all members.

Public Types

enum  CoordinateFrame { WINDOW, PROJECTION, VIEW, MODEL }

Public Member Functions

 Intersector (CoordinateFrame cf=MODEL)
void setCoordinateFrame (CoordinateFrame cf)
CoordinateFrame getCoordinateFrame () const
virtual Intersectorclone (osgUtil::IntersectionVisitor &iv)=0
virtual bool enter (const osg::Node &node)=0
virtual void leave ()=0
virtual void intersect (osgUtil::IntersectionVisitor &iv, osg::Drawable *drawable)=0
virtual void reset ()
virtual bool containsIntersections ()=0
bool disabled () const
void incrementDisabledCount ()
void decrementDisabledCount ()

Protected Attributes

CoordinateFrame _coordinateFrame
unsigned int _disabledCount


Detailed Description

Pure virtual base class for implementating custom intersection technique.

To implement a specific intersection technique on must override all the pure virtue methods, concrete examples of how to do this can be seen in the LineSegmentIntersector.


Member Enumeration Documentation

enum osgUtil::Intersector::CoordinateFrame

Enumerator:
WINDOW 
PROJECTION 
VIEW 
MODEL 


Constructor & Destructor Documentation

osgUtil::Intersector::Intersector ( CoordinateFrame  cf = MODEL  )  [inline]


Member Function Documentation

void osgUtil::Intersector::setCoordinateFrame ( CoordinateFrame  cf  )  [inline]

CoordinateFrame osgUtil::Intersector::getCoordinateFrame (  )  const [inline]

virtual Intersector* osgUtil::Intersector::clone ( osgUtil::IntersectionVisitor iv  )  [pure virtual]

Implemented in osgUtil::IntersectorGroup, osgUtil::LineSegmentIntersector, osgUtil::PlaneIntersector, and osgUtil::PolytopeIntersector.

virtual bool osgUtil::Intersector::enter ( const osg::Node node  )  [pure virtual]

Implemented in osgUtil::IntersectorGroup, osgUtil::LineSegmentIntersector, osgUtil::PlaneIntersector, and osgUtil::PolytopeIntersector.

virtual void osgUtil::Intersector::leave (  )  [pure virtual]

Implemented in osgUtil::IntersectorGroup, osgUtil::LineSegmentIntersector, osgUtil::PlaneIntersector, and osgUtil::PolytopeIntersector.

virtual void osgUtil::Intersector::intersect ( osgUtil::IntersectionVisitor iv,
osg::Drawable drawable 
) [pure virtual]

Implemented in osgUtil::IntersectorGroup, osgUtil::LineSegmentIntersector, osgUtil::PlaneIntersector, and osgUtil::PolytopeIntersector.

virtual void osgUtil::Intersector::reset (  )  [inline, virtual]

Reimplemented in osgUtil::IntersectorGroup, osgUtil::LineSegmentIntersector, osgUtil::PlaneIntersector, and osgUtil::PolytopeIntersector.

virtual bool osgUtil::Intersector::containsIntersections (  )  [pure virtual]

Implemented in osgUtil::IntersectorGroup, osgUtil::LineSegmentIntersector, osgUtil::PlaneIntersector, and osgUtil::PolytopeIntersector.

bool osgUtil::Intersector::disabled (  )  const [inline]

void osgUtil::Intersector::incrementDisabledCount (  )  [inline]

void osgUtil::Intersector::decrementDisabledCount (  )  [inline]


Member Data Documentation

CoordinateFrame osgUtil::Intersector::_coordinateFrame [protected]

unsigned int osgUtil::Intersector::_disabledCount [protected]


The documentation for this class was generated from the following file:
Generated at Sun Oct 14 02:12:49 2007 for the OpenSceneGraph by doxygen 1.5.3.