Home | Namespaces | Hierarchy | Alphabetical List | Class list | Files | Namespace Members | Class members | File members | Tutorials |
3D line between two points with intersection methods. More...
#include <line3d.h>
Public Member Functions | |
vector3d< T > | getClosestPoint (const vector3d< T > &point) const |
Get the closest point on this line to a point. | |
bool | getIntersectionWithSphere (vector3d< T > sorigin, T sradius, f64 &outdistance) const |
Check if the line intersects with a shpere. | |
T | getLength () const |
Get length of line. | |
T | getLengthSQ () const |
Get squared length of line. | |
vector3d< T > | getMiddle () const |
Get middle of line. | |
vector3d< T > | getVector () const |
Get vector of line. | |
bool | isPointBetweenStartAndEnd (const vector3d< T > &point) const |
Check if the given point is between start and end of the line. | |
line3d (const vector3d< T > &start, const vector3d< T > &end) | |
Constructor with two points as vectors. | |
line3d (T xa, T ya, T za, T xb, T yb, T zb) | |
Constructor with two points. | |
line3d () | |
Default constructor. | |
bool | operator!= (const line3d< T > &other) const |
line3d< T > | operator+ (const vector3d< T > &point) const |
line3d< T > & | operator+= (const vector3d< T > &point) |
line3d< T > | operator- (const vector3d< T > &point) const |
line3d< T > & | operator-= (const vector3d< T > &point) |
bool | operator== (const line3d< T > &other) const |
void | setLine (const line3d< T > &line) |
Set this line to new line given as parameter. | |
void | setLine (const vector3d< T > &nstart, const vector3d< T > &nend) |
Set this line to a new line going through the two points. | |
void | setLine (const T &xa, const T &ya, const T &za, const T &xb, const T &yb, const T &zb) |
Set this line to a new line going through the two points. | |
Public Attributes | |
vector3d< T > | end |
End point of line. | |
vector3d< T > | start |
Start point of line. |
3D line between two points with intersection methods.
Definition at line 18 of file line3d.h.
irr::core::line3d< T >::line3d | ( | ) | [inline] |
irr::core::line3d< T >::line3d | ( | T | xa, | |
T | ya, | |||
T | za, | |||
T | xb, | |||
T | yb, | |||
T | zb | |||
) | [inline] |
irr::core::line3d< T >::line3d | ( | const vector3d< T > & | start, | |
const vector3d< T > & | end | |||
) | [inline] |
vector3d<T> irr::core::line3d< T >::getClosestPoint | ( | const vector3d< T > & | point | ) | const [inline] |
Get the closest point on this line to a point.
point | The point to compare to. |
Definition at line 89 of file line3d.h.
References irr::core::vector3d< T >::dotProduct(), irr::core::line3d< T >::end, irr::core::vector3d< T >::getLength(), and irr::core::line3d< T >::start.
bool irr::core::line3d< T >::getIntersectionWithSphere | ( | vector3d< T > | sorigin, | |
T | sradius, | |||
f64 & | outdistance | |||
) | const [inline] |
Check if the line intersects with a shpere.
sorigin,: | Origin of the shpere. | |
sradius,: | Radius of the sphere. | |
outdistance,: | The distance to the first intersection point. |
Definition at line 113 of file line3d.h.
References irr::core::vector3d< T >::dotProduct(), irr::core::vector3d< T >::getLength(), irr::core::line3d< T >::getVector(), irr::core::squareroot(), and irr::core::line3d< T >::start.
T irr::core::line3d< T >::getLength | ( | ) | const [inline] |
Get length of line.
Definition at line 56 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
Referenced by irr::core::aabbox3d< f32 >::intersectsWithLine().
T irr::core::line3d< T >::getLengthSQ | ( | ) | const [inline] |
Get squared length of line.
Definition at line 60 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
vector3d<T> irr::core::line3d< T >::getMiddle | ( | ) | const [inline] |
Get middle of line.
Definition at line 64 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
Referenced by irr::core::aabbox3d< f32 >::intersectsWithLine().
vector3d<T> irr::core::line3d< T >::getVector | ( | ) | const [inline] |
Get vector of line.
Definition at line 71 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
Referenced by irr::core::triangle3d< T >::getIntersectionWithLimitedLine(), irr::core::line3d< T >::getIntersectionWithSphere(), and irr::core::aabbox3d< f32 >::intersectsWithLine().
bool irr::core::line3d< T >::isPointBetweenStartAndEnd | ( | const vector3d< T > & | point | ) | const [inline] |
Check if the given point is between start and end of the line.
Assumes that the point is already somewhere on the line.
point | The point to test. |
Definition at line 81 of file line3d.h.
References irr::core::line3d< T >::end, irr::core::vector3d< T >::isBetweenPoints(), and irr::core::line3d< T >::start.
bool irr::core::line3d< T >::operator!= | ( | const line3d< T > & | other | ) | const [inline] |
Definition at line 40 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
line3d<T> irr::core::line3d< T >::operator+ | ( | const vector3d< T > & | point | ) | const [inline] |
Definition at line 32 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
line3d<T>& irr::core::line3d< T >::operator+= | ( | const vector3d< T > & | point | ) | [inline] |
Definition at line 33 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
line3d<T> irr::core::line3d< T >::operator- | ( | const vector3d< T > & | point | ) | const [inline] |
Definition at line 35 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
line3d<T>& irr::core::line3d< T >::operator-= | ( | const vector3d< T > & | point | ) | [inline] |
Definition at line 36 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
bool irr::core::line3d< T >::operator== | ( | const line3d< T > & | other | ) | const [inline] |
Definition at line 38 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
void irr::core::line3d< T >::setLine | ( | const line3d< T > & | line | ) | [inline] |
Set this line to new line given as parameter.
Definition at line 51 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
void irr::core::line3d< T >::setLine | ( | const vector3d< T > & | nstart, | |
const vector3d< T > & | nend | |||
) | [inline] |
Set this line to a new line going through the two points.
Definition at line 48 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
void irr::core::line3d< T >::setLine | ( | const T & | xa, | |
const T & | ya, | |||
const T & | za, | |||
const T & | xb, | |||
const T & | yb, | |||
const T & | zb | |||
) | [inline] |
Set this line to a new line going through the two points.
Definition at line 45 of file line3d.h.
References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.
vector3d<T> irr::core::line3d< T >::end |
End point of line.
Definition at line 132 of file line3d.h.
Referenced by irr::scene::SViewFrustum::clipLine(), irr::core::line3d< T >::getClosestPoint(), irr::core::triangle3d< T >::getIntersectionWithLimitedLine(), irr::core::line3d< T >::getLength(), irr::core::line3d< T >::getLengthSQ(), irr::core::line3d< T >::getMiddle(), irr::core::line3d< T >::getVector(), irr::core::line3d< T >::isPointBetweenStartAndEnd(), irr::core::line3d< T >::operator!=(), irr::core::line3d< T >::operator+(), irr::core::line3d< T >::operator+=(), irr::core::line3d< T >::operator-(), irr::core::line3d< T >::operator-=(), irr::core::line3d< T >::operator==(), and irr::core::line3d< T >::setLine().
vector3d<T> irr::core::line3d< T >::start |
Start point of line.
Definition at line 130 of file line3d.h.
Referenced by irr::scene::SViewFrustum::clipLine(), irr::core::line3d< T >::getClosestPoint(), irr::core::triangle3d< T >::getIntersectionWithLimitedLine(), irr::core::line3d< T >::getIntersectionWithSphere(), irr::core::line3d< T >::getLength(), irr::core::line3d< T >::getLengthSQ(), irr::core::line3d< T >::getMiddle(), irr::core::line3d< T >::getVector(), irr::core::line3d< T >::isPointBetweenStartAndEnd(), irr::core::line3d< T >::operator!=(), irr::core::line3d< T >::operator+(), irr::core::line3d< T >::operator+=(), irr::core::line3d< T >::operator-(), irr::core::line3d< T >::operator-=(), irr::core::line3d< T >::operator==(), and irr::core::line3d< T >::setLine().
The Irrlicht
Engine Documentation © 2003-2010 by Nikolaus Gebhardt. Generated
on Sun Oct 24 12:42:03 2010 by Doxygen
(1.6.2) |