OpenSceneGraph
3.4.0
|
LineSegment class for representing a line segment. More...
Public Types | |
typedef Vec3d | vec_type |
typedef vec_type::value_type | value_type |
Public Member Functions | |
LineSegment () | |
LineSegment (const LineSegment &seg) | |
LineSegment (const vec_type &s, const vec_type &e) | |
LineSegment & | operator= (const LineSegment &seg) |
void | set (const vec_type &s, const vec_type &e) |
vec_type & | start () |
const vec_type & | start () const |
vec_type & | end () |
const vec_type & | end () const |
bool | valid () const |
bool | intersect (const BoundingBox &bb) const |
return true if segment intersects BoundingBox. | |
bool | intersectAndComputeRatios (const BoundingBox &bb, float &ratioFromStartToEnd1, float &ratioFromStartToEnd2) const |
return true if segment intersects BoundingBox and set float ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. | |
bool | intersectAndComputeRatios (const BoundingBox &bb, double &ratioFromStartToEnd1, double &ratioFromStartToEnd2) const |
return true if segment intersects BoundingBox and set double ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. | |
bool | intersect (const BoundingSphere &bs) const |
return true if segment intersects BoundingSphere. | |
bool | intersectAndComputeRatios (const BoundingSphere &bs, float &ratioFromStartToEnd1, float &ratioFromStartToEnd2) const |
return true if segment intersects BoundingSphere and set float ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. | |
bool | intersectAndComputeRatios (const BoundingSphere &bs, double &ratioFromStartToEnd1, double &ratioFromStartToEnd2) const |
return true if segment intersects BoundingSphere and set double ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. | |
bool | intersect (const Vec3f &v1, const Vec3f &v2, const Vec3f &v3, float &ratioFromStartToEnd) |
return true if segment intersects triangle and set float ratios where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. | |
bool | intersect (const Vec3d &v1, const Vec3d &v2, const Vec3d &v3, double &ratioFromStartToEnd) |
return true if segment intersects triangle and set double ratios where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point. | |
void | mult (const LineSegment &seg, const Matrix &m) |
post multiply a segment by matrix. | |
void | mult (const Matrix &m, const LineSegment &seg) |
pre multiply a segment by matrix. | |
Protected Member Functions | |
virtual | ~LineSegment () |
Static Protected Member Functions | |
static bool | intersectAndClip (vec_type &s, vec_type &e, const BoundingBox &bb) |
Protected Attributes | |
vec_type | _s |
vec_type | _e |
LineSegment class for representing a line segment.
typedef Vec3d osg::LineSegment::vec_type |
osg::LineSegment::LineSegment | ( | ) | [inline] |
osg::LineSegment::LineSegment | ( | const LineSegment & | seg | ) | [inline] |
osg::LineSegment::LineSegment | ( | const vec_type & | s, |
const vec_type & | e | ||
) | [inline] |
virtual osg::LineSegment::~LineSegment | ( | ) | [protected, virtual] |
vec_type& osg::LineSegment::end | ( | ) | [inline] |
const vec_type& osg::LineSegment::end | ( | ) | const [inline] |
bool osg::LineSegment::intersect | ( | const BoundingBox & | bb | ) | const |
return true if segment intersects BoundingBox.
bool osg::LineSegment::intersect | ( | const BoundingSphere & | bs | ) | const |
return true if segment intersects BoundingSphere.
bool osg::LineSegment::intersect | ( | const Vec3f & | v1, |
const Vec3f & | v2, | ||
const Vec3f & | v3, | ||
float & | ratioFromStartToEnd | ||
) |
return true if segment intersects triangle and set float ratios where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point.
bool osg::LineSegment::intersect | ( | const Vec3d & | v1, |
const Vec3d & | v2, | ||
const Vec3d & | v3, | ||
double & | ratioFromStartToEnd | ||
) |
return true if segment intersects triangle and set double ratios where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point.
static bool osg::LineSegment::intersectAndClip | ( | vec_type & | s, |
vec_type & | e, | ||
const BoundingBox & | bb | ||
) | [static, protected] |
bool osg::LineSegment::intersectAndComputeRatios | ( | const BoundingBox & | bb, |
float & | ratioFromStartToEnd1, | ||
float & | ratioFromStartToEnd2 | ||
) | const |
return true if segment intersects BoundingBox and set float ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point.
bool osg::LineSegment::intersectAndComputeRatios | ( | const BoundingBox & | bb, |
double & | ratioFromStartToEnd1, | ||
double & | ratioFromStartToEnd2 | ||
) | const |
return true if segment intersects BoundingBox and set double ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point.
bool osg::LineSegment::intersectAndComputeRatios | ( | const BoundingSphere & | bs, |
float & | ratioFromStartToEnd1, | ||
float & | ratioFromStartToEnd2 | ||
) | const |
return true if segment intersects BoundingSphere and set float ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point.
bool osg::LineSegment::intersectAndComputeRatios | ( | const BoundingSphere & | bs, |
double & | ratioFromStartToEnd1, | ||
double & | ratioFromStartToEnd2 | ||
) | const |
return true if segment intersects BoundingSphere and set double ratios for the first and second intersections, where the ratio is 0.0 at the segment start point, and 1.0 at the segment end point.
void osg::LineSegment::mult | ( | const LineSegment & | seg, |
const Matrix & | m | ||
) | [inline] |
void osg::LineSegment::mult | ( | const Matrix & | m, |
const LineSegment & | seg | ||
) | [inline] |
LineSegment& osg::LineSegment::operator= | ( | const LineSegment & | seg | ) | [inline] |
void osg::LineSegment::set | ( | const vec_type & | s, |
const vec_type & | e | ||
) | [inline] |
vec_type& osg::LineSegment::start | ( | ) | [inline] |
const vec_type& osg::LineSegment::start | ( | ) | const [inline] |
bool osg::LineSegment::valid | ( | ) | const [inline] |
vec_type osg::LineSegment::_e [protected] |
Referenced by mult(), and operator=().
vec_type osg::LineSegment::_s [protected] |
Referenced by mult(), and operator=().
![]() | Generated at Tue Dec 8 2015 00:16:42 for the OpenSceneGraph by doxygen 1.7.6.1. |