Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes

osg::LineSegment Class Reference

Inheritance diagram for osg::LineSegment:
osg::Referenced

List of all members.

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
bool intersect (const BoundingBox &bb, float &r1, float &r2) const
bool intersect (const BoundingBox &bb, double &r1, double &r2) const
bool intersect (const BoundingSphere &bs) const
bool intersect (const BoundingSphere &bs, float &r1, float &r2) const
bool intersect (const BoundingSphere &bs, double &r1, double &r2) const
bool intersect (const Vec3f &v1, const Vec3f &v2, const Vec3f &v3, float &r)
bool intersect (const Vec3d &v1, const Vec3d &v2, const Vec3d &v3, double &r)
void mult (const LineSegment &seg, const Matrix &m)
void mult (const Matrix &m, const LineSegment &seg)

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

Detailed Description

LineSegment class for representing a line segment.


Member Typedef Documentation


Constructor & Destructor Documentation

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]

Member Function Documentation

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 BoundingBox &  bb,
float &  r1,
float &  r2 
) const

return true if segment intersects BoundingBox and return the intersection ratios.

bool osg::LineSegment::intersect ( const Vec3d &  v1,
const Vec3d &  v2,
const Vec3d &  v3,
double &  r 
)

return true if segment intersects triangle and set ratio long segment.

bool osg::LineSegment::intersect ( const BoundingBox &  bb,
double &  r1,
double &  r2 
) const

return true if segment intersects BoundingBox and return the intersection ratios.

bool osg::LineSegment::intersect ( const BoundingSphere &  bs  )  const

return true if segment intersects BoundingSphere.

bool osg::LineSegment::intersect ( const BoundingSphere &  bs,
float &  r1,
float &  r2 
) const

return true if segment intersects BoundingSphere and return the intersection ratio.

bool osg::LineSegment::intersect ( const BoundingSphere &  bs,
double &  r1,
double &  r2 
) const

return true if segment intersects BoundingSphere and return the intersection ratio.

bool osg::LineSegment::intersect ( const Vec3f &  v1,
const Vec3f &  v2,
const Vec3f &  v3,
float &  r 
)

return true if segment intersects triangle and set ratio long segment.

static bool osg::LineSegment::intersectAndClip ( vec_type &  s,
vec_type &  e,
const BoundingBox &  bb 
) [static, protected]
void osg::LineSegment::mult ( const Matrix &  m,
const LineSegment &  seg 
) [inline]

pre multiply a segment by matrix.

References _e, and _s.

void osg::LineSegment::mult ( const LineSegment &  seg,
const Matrix &  m 
) [inline]

post multiply a segment by matrix.

References _e, and _s.

LineSegment& osg::LineSegment::operator= ( const LineSegment &  seg  )  [inline]

References _e, and _s.

void osg::LineSegment::set ( const vec_type &  s,
const vec_type &  e 
) [inline]
const vec_type& osg::LineSegment::start (  )  const [inline]
vec_type& osg::LineSegment::start (  )  [inline]
bool osg::LineSegment::valid (  )  const [inline]

Member Data Documentation

Referenced by mult(), and operator=().

Referenced by mult(), and operator=().


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