OpenSceneGraph
3.5.1
|
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. More... | |
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. More... | |
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. More... | |
bool | intersect (const BoundingSphere &bs) const |
return true if segment intersects BoundingSphere. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | mult (const LineSegment &seg, const Matrix &m) |
post multiply a segment by matrix. More... | |
void | mult (const Matrix &m, const LineSegment &seg) |
pre multiply a segment by matrix. More... | |
Public Member Functions inherited from osg::Referenced | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). More... | |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. More... | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. More... | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. More... | |
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::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More... | |
static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
Set whether reference counting should use a mutex for thread safe reference counting. More... | |
static bool | getThreadSafeReferenceCounting () |
Get whether reference counting is active. More... | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. More... | |
LineSegment class for representing a line segment.
typedef Vec3d osg::LineSegment::vec_type |
|
inline |
|
inline |
|
protectedvirtual |
|
inline |
|
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.
|
staticprotected |
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.
|
inline |
post multiply a segment by matrix.
|
inline |
pre multiply a segment by matrix.
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
Generated at Wed Nov 11 2015 22:14:36 for the OpenSceneGraph by doxygen 1.8.10. |