OpenSceneGraph
3.0.1
|
Concrete class for implementing line intersections with the scene graph. More...
Classes | |
struct | Intersection |
Public Types | |
typedef std::multiset < Intersection > | Intersections |
Public Member Functions | |
LineSegmentIntersector (const osg::Vec3d &start, const osg::Vec3d &end) | |
Construct a LineSegmentIntersector the runs between the specified start and end points in MODEL coordinates. | |
LineSegmentIntersector (CoordinateFrame cf, const osg::Vec3d &start, const osg::Vec3d &end) | |
Construct a LineSegmentIntersector the runs between the specified start and end points in the specified coordinate frame. | |
LineSegmentIntersector (CoordinateFrame cf, double x, double y) | |
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). | |
void | insertIntersection (const Intersection &intersection) |
Intersections & | getIntersections () |
Intersection | getFirstIntersection () |
void | setStart (const osg::Vec3d &start) |
const osg::Vec3d & | getStart () const |
void | setEnd (const osg::Vec3d &end) |
const osg::Vec3d & | getEnd () const |
virtual Intersector * | clone (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 |
Concrete class for implementing line intersections with the scene graph.
To be used in conjunction with IntersectionVisitor.
typedef std::multiset<Intersection> osgUtil::LineSegmentIntersector::Intersections |
osgUtil::LineSegmentIntersector::LineSegmentIntersector | ( | const osg::Vec3d & | start, |
const osg::Vec3d & | end | ||
) |
Construct a LineSegmentIntersector the runs between the specified start and end points in MODEL coordinates.
osgUtil::LineSegmentIntersector::LineSegmentIntersector | ( | CoordinateFrame | cf, |
const osg::Vec3d & | start, | ||
const osg::Vec3d & | end | ||
) |
Construct a LineSegmentIntersector the runs between the specified start and end points in the specified coordinate frame.
osgUtil::LineSegmentIntersector::LineSegmentIntersector | ( | CoordinateFrame | cf, |
double | x, | ||
double | y | ||
) |
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).
virtual Intersector* osgUtil::LineSegmentIntersector::clone | ( | osgUtil::IntersectionVisitor & | iv | ) | [virtual] |
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.
const osg::Vec3d& osgUtil::LineSegmentIntersector::getEnd | ( | ) | const [inline] |
Intersection osgUtil::LineSegmentIntersector::getFirstIntersection | ( | ) | [inline] |
Intersections& osgUtil::LineSegmentIntersector::getIntersections | ( | ) | [inline] |
const osg::Vec3d& osgUtil::LineSegmentIntersector::getStart | ( | ) | const [inline] |
void osgUtil::LineSegmentIntersector::insertIntersection | ( | const Intersection & | intersection | ) | [inline] |
virtual void osgUtil::LineSegmentIntersector::intersect | ( | osgUtil::IntersectionVisitor & | iv, |
osg::Drawable * | drawable | ||
) | [virtual] |
Implements osgUtil::Intersector.
bool osgUtil::LineSegmentIntersector::intersectAndClip | ( | osg::Vec3d & | s, |
osg::Vec3d & | e, | ||
const osg::BoundingBox & | bb | ||
) | [protected] |
bool osgUtil::LineSegmentIntersector::intersects | ( | const osg::BoundingSphere & | bs | ) | [protected] |
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] |
osg::Vec3d osgUtil::LineSegmentIntersector::_end [protected] |
osg::Vec3d osgUtil::LineSegmentIntersector::_start [protected] |
![]() | Generated at Mon Oct 3 2011 12:39:50 for the OpenSceneGraph by doxygen 1.7.5. |