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

◆ value_type

◆ vec_type

Constructor & Destructor Documentation

◆ LineSegment() [1/3]

osg::LineSegment::LineSegment ( )
inline

◆ LineSegment() [2/3]

osg::LineSegment::LineSegment ( const LineSegment seg)
inline

◆ LineSegment() [3/3]

osg::LineSegment::LineSegment ( const vec_type s,
const vec_type e 
)
inline

◆ ~LineSegment()

virtual osg::LineSegment::~LineSegment ( )
protectedvirtual

Member Function Documentation

◆ end() [1/2]

vec_type& osg::LineSegment::end ( )
inline

◆ end() [2/2]

const vec_type& osg::LineSegment::end ( ) const
inline

◆ intersect() [1/8]

bool osg::LineSegment::intersect ( const BoundingBox bb) const

return true if segment intersects BoundingBox.

◆ intersect() [2/8]

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

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

◆ intersect() [3/8]

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

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

◆ intersect() [4/8]

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

return true if segment intersects BoundingSphere.

◆ intersect() [5/8]

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

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

◆ intersect() [6/8]

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

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

◆ intersect() [7/8]

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.

◆ intersect() [8/8]

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.

◆ intersectAndClip()

static bool osg::LineSegment::intersectAndClip ( vec_type s,
vec_type e,
const BoundingBox bb 
)
staticprotected

◆ mult() [1/2]

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

post multiply a segment by matrix.

◆ mult() [2/2]

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

pre multiply a segment by matrix.

◆ operator=()

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

◆ set()

void osg::LineSegment::set ( const vec_type s,
const vec_type e 
)
inline

◆ start() [1/2]

vec_type& osg::LineSegment::start ( )
inline

◆ start() [2/2]

const vec_type& osg::LineSegment::start ( ) const
inline

◆ valid()

bool osg::LineSegment::valid ( ) const
inline

Member Data Documentation

◆ _e

vec_type osg::LineSegment::_e
protected

◆ _s

vec_type osg::LineSegment::_s
protected

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