3D line between two points with intersection methods. More...
#include <line3d.h>
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().