openscenegraph
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes
osgUtil::LineSegmentIntersector Class Reference
Inheritance diagram for osgUtil::LineSegmentIntersector:
osgUtil::Intersector osg::Referenced

List of all members.

Classes

struct  Intersection

Public Types

typedef std::multiset
< Intersection
Intersections

Public Member Functions

 LineSegmentIntersector (const osg::Vec3d &start, const osg::Vec3d &end)
 LineSegmentIntersector (CoordinateFrame cf, const osg::Vec3d &start, const osg::Vec3d &end)
 LineSegmentIntersector (CoordinateFrame cf, double x, double y)
void insertIntersection (const Intersection &intersection)
IntersectionsgetIntersections ()
Intersection getFirstIntersection ()
void setStart (const osg::Vec3d &start)
const osg::Vec3dgetStart () const
void setEnd (const osg::Vec3d &end)
const osg::Vec3dgetEnd () const
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 Member Functions

bool intersects (const osg::BoundingSphere &bs)
bool intersectAndClip (osg::Vec3d &s, osg::Vec3d &e, const osg::BoundingBox &bb)

Protected Attributes

LineSegmentIntersector_parent
osg::Vec3d _start
osg::Vec3d _end
Intersections _intersections

Detailed Description

Concrete class for implementing line intersections with the scene graph. To be used in conjunction with IntersectionVisitor.


Member Typedef Documentation


Constructor & Destructor Documentation

Construct a LineSegmentIntersector the runs between the specified start and end points in MODEL coordinates.

Construct a LineSegmentIntersector the runs between the specified start and end points in the specified coordinate frame.

Convenience constructor for supporting picking in WINDOW, or PROJECTION coordinates In WINDOW coordinates creates a start value of (x,y,0) and end value of (x,y,1). In PROJECTION coordinates (clip space cube) creates a start value of (x,y,-1) and end value of (x,y,1). In VIEW and MODEL coordinates creates a start value of (x,y,0) and end value of (x,y,1).


Member Function Documentation

Implements osgUtil::Intersector.

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

Implements osgUtil::Intersector.

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

Implements osgUtil::Intersector.

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

Implements osgUtil::Intersector.

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

Implements osgUtil::Intersector.

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

Reimplemented from osgUtil::Intersector.

void osgUtil::LineSegmentIntersector::setEnd ( const osg::Vec3d end) [inline]
void osgUtil::LineSegmentIntersector::setStart ( const osg::Vec3d start) [inline]

Member Data Documentation


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