osgUtil::PolytopeIntersector Class Reference

Inheritance diagram for osgUtil::PolytopeIntersector:

osgUtil::Intersector osg::Referenced

List of all members.

Public Types

typedef std::set< IntersectionIntersections

Public Member Functions

 PolytopeIntersector (const osg::Polytope &polytope)
 PolytopeIntersector (CoordinateFrame cf, const osg::Polytope &polytope)
 PolytopeIntersector (CoordinateFrame cf, double xMin, double yMin, double xMax, double yMax)
void insertIntersection (const Intersection &intersection)
IntersectionsgetIntersections ()
Intersection getFirstIntersection ()
virtual Intersectorclone (osgUtil::IntersectionVisitor &iv)
virtual bool enter (const osg::Node &node)
virtual void leave ()
virtual void intersect (osgUtil::IntersectionVisitor &iv, osg::Drawable *drawable)
virtual void reset ()
virtual bool containsIntersections ()

Protected Attributes

PolytopeIntersector_parent
osg::Polytope _polytope
Intersections _intersections

Classes

struct  Intersection


Detailed Description

Concrent class for implementing polytope intersections with the scene graph. To be used in conjunction with IntersectionVisitor.

Member Typedef Documentation

typedef std::set<Intersection> osgUtil::PolytopeIntersector::Intersections


Constructor & Destructor Documentation

osgUtil::PolytopeIntersector::PolytopeIntersector ( const osg::Polytope polytope  ) 

Construct a PolytopeIntersector using speified polytope in MODEL coordinates.

osgUtil::PolytopeIntersector::PolytopeIntersector ( CoordinateFrame  cf,
const osg::Polytope polytope 
)

Construct a PolytopeIntersector using speified polytope in specified coordinate frame.

osgUtil::PolytopeIntersector::PolytopeIntersector ( CoordinateFrame  cf,
double  xMin,
double  yMin,
double  xMax,
double  yMax 
)

Convinience constructor for supporting picking in WINDOW, or PROJECTION coorindates In WINDOW coordinates (clip space cube) creates a five sided polytope box that has a front face at 0.0 and sides around box xMin, yMin, xMax, yMax. In PROJECTION coordinates (clip space cube) creates a five sided polytope box that has a front face at -1 and sides around box xMin, yMin, xMax, yMax. In VIEW and MODEL coordinates (clip space cube) creates a five sided polytope box that has a front face at 0.0 and sides around box xMin, yMin, xMax, yMax.


Member Function Documentation

void osgUtil::PolytopeIntersector::insertIntersection ( const Intersection intersection  )  [inline]

Intersections& osgUtil::PolytopeIntersector::getIntersections (  )  [inline]

Intersection osgUtil::PolytopeIntersector::getFirstIntersection (  )  [inline]

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

Implements osgUtil::Intersector.

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

Implements osgUtil::Intersector.

virtual void osgUtil::PolytopeIntersector::leave (  )  [virtual]

Implements osgUtil::Intersector.

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

Implements osgUtil::Intersector.

virtual void osgUtil::PolytopeIntersector::reset (  )  [virtual]

Reimplemented from osgUtil::Intersector.

virtual bool osgUtil::PolytopeIntersector::containsIntersections (  )  [inline, virtual]

Implements osgUtil::Intersector.


Member Data Documentation

PolytopeIntersector* osgUtil::PolytopeIntersector::_parent [protected]

osg::Polytope osgUtil::PolytopeIntersector::_polytope [protected]

Intersections osgUtil::PolytopeIntersector::_intersections [protected]


The documentation for this class was generated from the following file:
Generated on Fri Jan 25 03:47:22 2008 for openscenegraph by  doxygen 1.5.4