|
IrrlichtEngine
|
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 () | |
| Default constructor. | |
| line3d (T xa, T ya, T za, T xb, T yb, T zb) | |
| Constructor with two points. | |
| line3d (const vector3d< T > &start, const vector3d< T > &end) | |
| Constructor with two points as vectors. | |
| 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 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. | |
| 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 line3d< T > &line) |
| Set this line to new line given as parameter. | |
Public Attributes | |
| vector3d< T > | end |
| End point of line. | |
| vector3d< T > | start |
| Start point of line. | |
3D line between two points with intersection methods.
| 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 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.
| 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 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.
| 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().