openscenegraph
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
osg::LineSegment Class Reference
Inheritance diagram for osg::LineSegment:
osg::Referenced

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)
LineSegmentoperator= (const LineSegment &seg)
void set (const vec_type &s, const vec_type &e)
vec_typestart ()
const vec_typestart () const
vec_typeend ()
const vec_typeend () 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)
- Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool threadSafe)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Protected Member Functions

virtual ~LineSegment ()
- Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Static Protected Member Functions

static bool intersectAndClip (vec_type &s, vec_type &e, const BoundingBox &bb)

Protected Attributes

vec_type _s
vec_type _e
- Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Additional Inherited Members

- Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
static bool getThreadSafeReferenceCounting ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()

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 ( )
protectedvirtual

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 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.

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.

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

post multiply a segment by matrix.

References _e, and _s.

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

pre 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
vec_type& osg::LineSegment::start ( )
inline
const vec_type& osg::LineSegment::start ( ) const
inline
bool osg::LineSegment::valid ( ) const
inline

Member Data Documentation

vec_type osg::LineSegment::_e
protected

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

vec_type osg::LineSegment::_s
protected

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


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