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 secified 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 secified start and end points in the specified coordinate frame. | |
LineSegmentIntersector (CoordinateFrame cf, double x, double y) | |
Convinience constructor for supporting picking in WINDOW, or PROJECTION coorindates 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 & | setEnd () 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 |
Classes | |
struct | Intersection |
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 secified 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 secified start and end points in the specified coordinate frame.
osgUtil::LineSegmentIntersector::LineSegmentIntersector | ( | CoordinateFrame | cf, | |
double | x, | |||
double | y | |||
) |
Convinience constructor for supporting picking in WINDOW, or PROJECTION coorindates 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).
void osgUtil::LineSegmentIntersector::insertIntersection | ( | const Intersection & | intersection | ) | [inline] |
Intersections& osgUtil::LineSegmentIntersector::getIntersections | ( | ) | [inline] |
Intersection osgUtil::LineSegmentIntersector::getFirstIntersection | ( | ) | [inline] |
void osgUtil::LineSegmentIntersector::setStart | ( | const osg::Vec3d & | start | ) | [inline] |
const osg::Vec3d& osgUtil::LineSegmentIntersector::getStart | ( | ) | const [inline] |
void osgUtil::LineSegmentIntersector::setEnd | ( | const osg::Vec3d & | end | ) | [inline] |
const osg::Vec3d& osgUtil::LineSegmentIntersector::setEnd | ( | ) | const [inline] |
virtual Intersector* osgUtil::LineSegmentIntersector::clone | ( | osgUtil::IntersectionVisitor & | iv | ) | [virtual] |
Implements osgUtil::Intersector.
virtual bool osgUtil::LineSegmentIntersector::enter | ( | const osg::Node & | node | ) | [virtual] |
Implements osgUtil::Intersector.
virtual void osgUtil::LineSegmentIntersector::leave | ( | ) | [virtual] |
Implements osgUtil::Intersector.
virtual void osgUtil::LineSegmentIntersector::intersect | ( | osgUtil::IntersectionVisitor & | iv, | |
osg::Drawable * | drawable | |||
) | [virtual] |
Implements osgUtil::Intersector.
virtual void osgUtil::LineSegmentIntersector::reset | ( | ) | [virtual] |
Reimplemented from osgUtil::Intersector.
virtual bool osgUtil::LineSegmentIntersector::containsIntersections | ( | ) | [inline, virtual] |
Implements osgUtil::Intersector.
bool osgUtil::LineSegmentIntersector::intersects | ( | const osg::BoundingSphere & | bs | ) | [protected] |
bool osgUtil::LineSegmentIntersector::intersectAndClip | ( | osg::Vec3d & | s, | |
osg::Vec3d & | e, | |||
const osg::BoundingBox & | bb | |||
) | [protected] |
osg::Vec3d osgUtil::LineSegmentIntersector::_start [protected] |
osg::Vec3d osgUtil::LineSegmentIntersector::_end [protected] |