Irrlicht 3D Engine
irr::core::line3d< T > Class Template Reference

3D line between two points with intersection methods. More...

#include <line3d.h>

List of all members.

Public Member Functions

Public Attributes


Detailed Description

template<class T>
class irr::core::line3d< T >

3D line between two points with intersection methods.

Definition at line 18 of file line3d.h.


Constructor & Destructor Documentation

template<class T>
irr::core::line3d< T >::line3d ( ) [inline]

Default constructor.

line from (0,0,0) to (1,1,1)

Definition at line 24 of file line3d.h.

template<class T>
irr::core::line3d< T >::line3d ( xa,
ya,
za,
xb,
yb,
zb 
) [inline]

Constructor with two points.

Definition at line 26 of file line3d.h.

template<class T>
irr::core::line3d< T >::line3d ( const vector3d< T > &  start,
const vector3d< T > &  end 
) [inline]

Constructor with two points as vectors.

Definition at line 28 of file line3d.h.


Member Function Documentation

template<class T>
vector3d<T> irr::core::line3d< T >::getClosestPoint ( const vector3d< T > &  point) const [inline]

Get the closest point on this line to a point.

Parameters:
pointThe point to compare to.
Returns:
The nearest point which is part of the line.

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.

template<class T>
bool irr::core::line3d< T >::getIntersectionWithSphere ( vector3d< T >  sorigin,
sradius,
f64 outdistance 
) const [inline]

Check if the line intersects with a shpere.

Parameters:
sorigin,:Origin of the shpere.
sradius,:Radius of the sphere.
outdistance,:The distance to the first intersection point.
Returns:
True if there is an intersection. If there is one, the distance to the first intersection point is stored in outdistance.

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.

template<class T>
T irr::core::line3d< T >::getLength ( ) const [inline]

Get length of line.

Returns:
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().

template<class T>
T irr::core::line3d< T >::getLengthSQ ( ) const [inline]

Get squared length of line.

Returns:
Squared length of line.

Definition at line 60 of file line3d.h.

References irr::core::line3d< T >::end, and irr::core::line3d< T >::start.

template<class T>
vector3d<T> irr::core::line3d< T >::getMiddle ( ) const [inline]

Get middle of line.

Returns:
Center 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().

template<class T>
vector3d<T> irr::core::line3d< T >::getVector ( ) const [inline]
template<class T>
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.

Parameters:
pointThe point to test.
Returns:
True if point is on the line between start and end, else false.

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.

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.

template<class T>
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.


Member Data Documentation


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