Public Member Functions | Public Attributes

sp::dim::linekd< T, Vec > Class Template Reference

3D line class for intersection tests or 3D drawing information. More...

#include <spDimensionLine3D.hpp>

List of all members.

Public Member Functions

 linekd ()
 linekd (const VecT &RayStart, const VecT &RayEnd)
 linekd (const L &Other)
virtual ~linekd ()
bool operator== (const L &Other)
bool operator!= (const L &Other)
L operator+ (const L &Other) const
Loperator+= (const L &Other)
L operator- (const L &Other) const
Loperator-= (const L &Other)
L operator/ (const L &Other) const
Loperator/= (const L &Other)
L operator* (const L &Other) const
Loperator*= (const L &Other)
L operator- () const
VecT getCenter () const
 Returns the line's center ((Start + End) / 2).
VecT getDirection () const
 Returns the line's direction (End - Start).
L getViceVersa () const
 Returns this line as vice-versa variant.
bool checkBoxBoxIntersection (const L &Line) const
 Returns true if the two lines (understood as axis-aligned-bounding-boxes) are intersecting.
bool isPointInside (const VecT &Point) const
 Returns true if the specified point lies between the line's start and end point.
ELinePointRelations getClosestPointStraight (const VecT &Point, VecT &ClosestPoint) const
 Returns the closest point on the line between the specfied point and the line.
VecT getClosestPointStraight (const VecT &Point) const
 Returns the closest point on the line between the specfied point and the line.
ELinePointRelations getClosestPoint (const VecT &Point, VecT &ClosestPoint) const
 Returns the closest point on the line between the specfied point and the line.
VecT getClosestPoint (const VecT &Point) const
 Returns the closest point on the line between the specfied point and the line.
getPointDistance (const VecT &Point) const
 Returns the distance between the line and the specified point.
getPointDistanceSq (const VecT &Point) const
 Returns the squared distance between the line and the specified point.

Public Attributes

VecT Start
VecT End

Detailed Description

template<typename T, template< typename > class Vec>
class sp::dim::linekd< T, Vec >

3D line class for intersection tests or 3D drawing information.


Constructor & Destructor Documentation

template<typename T, template< typename > class Vec>
sp::dim::linekd< T, Vec >::linekd (  )  [inline]
template<typename T, template< typename > class Vec>
sp::dim::linekd< T, Vec >::linekd ( const VecT &  RayStart,
const VecT &  RayEnd 
) [inline]
template<typename T, template< typename > class Vec>
sp::dim::linekd< T, Vec >::linekd ( const L Other  )  [inline]
template<typename T, template< typename > class Vec>
virtual sp::dim::linekd< T, Vec >::~linekd (  )  [inline, virtual]

Member Function Documentation

template<typename T, template< typename > class Vec>
bool sp::dim::linekd< T, Vec >::checkBoxBoxIntersection ( const L Line  )  const [inline]

Returns true if the two lines (understood as axis-aligned-bounding-boxes) are intersecting.

template<typename T, template< typename > class Vec>
VecT sp::dim::linekd< T, Vec >::getCenter (  )  const [inline]

Returns the line's center ((Start + End) / 2).

template<typename T, template< typename > class Vec>
ELinePointRelations sp::dim::linekd< T, Vec >::getClosestPoint ( const VecT &  Point,
VecT &  ClosestPoint 
) const [inline]

Returns the closest point on the line between the specfied point and the line.

template<typename T, template< typename > class Vec>
VecT sp::dim::linekd< T, Vec >::getClosestPoint ( const VecT &  Point  )  const [inline]

Returns the closest point on the line between the specfied point and the line.

template<typename T, template< typename > class Vec>
ELinePointRelations sp::dim::linekd< T, Vec >::getClosestPointStraight ( const VecT &  Point,
VecT &  ClosestPoint 
) const [inline]

Returns the closest point on the line between the specfied point and the line.

template<typename T, template< typename > class Vec>
VecT sp::dim::linekd< T, Vec >::getClosestPointStraight ( const VecT &  Point  )  const [inline]

Returns the closest point on the line between the specfied point and the line.

template<typename T, template< typename > class Vec>
VecT sp::dim::linekd< T, Vec >::getDirection (  )  const [inline]

Returns the line's direction (End - Start).

template<typename T, template< typename > class Vec>
T sp::dim::linekd< T, Vec >::getPointDistance ( const VecT &  Point  )  const [inline]

Returns the distance between the line and the specified point.

template<typename T, template< typename > class Vec>
T sp::dim::linekd< T, Vec >::getPointDistanceSq ( const VecT &  Point  )  const [inline]

Returns the squared distance between the line and the specified point.

template<typename T, template< typename > class Vec>
L sp::dim::linekd< T, Vec >::getViceVersa (  )  const [inline]

Returns this line as vice-versa variant.

template<typename T, template< typename > class Vec>
bool sp::dim::linekd< T, Vec >::isPointInside ( const VecT &  Point  )  const [inline]

Returns true if the specified point lies between the line's start and end point.

template<typename T, template< typename > class Vec>
bool sp::dim::linekd< T, Vec >::operator!= ( const L Other  )  [inline]
template<typename T, template< typename > class Vec>
L sp::dim::linekd< T, Vec >::operator* ( const L Other  )  const [inline]
template<typename T, template< typename > class Vec>
L& sp::dim::linekd< T, Vec >::operator*= ( const L Other  )  [inline]
template<typename T, template< typename > class Vec>
L sp::dim::linekd< T, Vec >::operator+ ( const L Other  )  const [inline]
template<typename T, template< typename > class Vec>
L& sp::dim::linekd< T, Vec >::operator+= ( const L Other  )  [inline]
template<typename T, template< typename > class Vec>
L sp::dim::linekd< T, Vec >::operator- (  )  const [inline]
template<typename T, template< typename > class Vec>
L sp::dim::linekd< T, Vec >::operator- ( const L Other  )  const [inline]
template<typename T, template< typename > class Vec>
L& sp::dim::linekd< T, Vec >::operator-= ( const L Other  )  [inline]
template<typename T, template< typename > class Vec>
L sp::dim::linekd< T, Vec >::operator/ ( const L Other  )  const [inline]
template<typename T, template< typename > class Vec>
L& sp::dim::linekd< T, Vec >::operator/= ( const L Other  )  [inline]
template<typename T, template< typename > class Vec>
bool sp::dim::linekd< T, Vec >::operator== ( const L Other  )  [inline]

Member Data Documentation

template<typename T, template< typename > class Vec>
VecT sp::dim::linekd< T, Vec >::End
template<typename T, template< typename > class Vec>
VecT sp::dim::linekd< T, Vec >::Start

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines