Public Member Functions | Public Attributes

sp::dim::plane3d< T > Class Template Reference

#include <spDimensionPlane3D.hpp>

List of all members.

Public Member Functions

 plane3d ()
 plane3d (const vector3d< T > &PlaneNormal, const T Dist)
 plane3d (const vector3d< T > &PointA, const vector3d< T > &PointB, const vector3d< T > &PointC)
 plane3d (const triangle3d< T > &Triangle)
 plane3d (const quadrangle3d< T > &Quadrangle)
 plane3d (const plane3d< T > &Other)
 ~plane3d ()
void computePlane (const vector3d< T > &PointA, const vector3d< T > &PointB, const vector3d< T > &PointC)
bool checkLineIntersection (const vector3d< T > &LineStart, const vector3d< T > &LineEnd, vector3d< T > &Intersection) const
bool checkPlaneIntersection (const plane3d< T > &Other, vector3d< T > &Intersection, vector3d< T > &Direction) const
bool checkMultiplePlaneIntersection (const plane3d< T > &Plane1, const plane3d< T > &Plane2, vector3d< T > &Intersection) const
getAABBoxDistance (const aabbox3d< T > &Box) const
getOBBoxDistance (const obbox3d< T > &Box) const
bool checkAABBoxIntersection (const aabbox3d< T > &Box) const
bool checkOBBoxIntersection (const obbox3d< T > &Box) const
EPlaneAABBRelations getAABBoxRelation (const aabbox3d< T > &Box) const
EPlanePointRelations getPointRelation (const vector3d< T > &Point) const
getPointDistance (const vector3d< T > &Point) const
vector3d< T > getClosestPoint (const vector3d< T > &Point) const
 Returns the closest point onto the plane from the plane to the specified point.
vector3d< T > getClosestPointNormalized (const vector3d< T > &Point) const
vector3d< T > getMemberPoint () const
 Returns a point which lies onto the plane.
bool isPointFrontSide (const vector3d< T > &Point) const
 Returns true if the specified point lies on the front plane's side.
bool equal (const plane3d< T > &Other, f32 Precision=math::ROUNDING_ERROR) const
plane3d< T > & swap ()
plane3d< T > & normalize ()
template<typename B >
vector3d< B > cast () const

Public Attributes

vector3d< T > Normal
Distance

template<typename T>
class sp::dim::plane3d< T >


Constructor & Destructor Documentation

template<typename T>
sp::dim::plane3d< T >::plane3d (  )  [inline]
template<typename T>
sp::dim::plane3d< T >::plane3d ( const vector3d< T > &  PlaneNormal,
const T  Dist 
) [inline]
template<typename T>
sp::dim::plane3d< T >::plane3d ( const vector3d< T > &  PointA,
const vector3d< T > &  PointB,
const vector3d< T > &  PointC 
) [inline]
template<typename T>
sp::dim::plane3d< T >::plane3d ( const triangle3d< T > &  Triangle  )  [inline]
template<typename T>
sp::dim::plane3d< T >::plane3d ( const quadrangle3d< T > &  Quadrangle  )  [inline]
template<typename T>
sp::dim::plane3d< T >::plane3d ( const plane3d< T > &  Other  )  [inline]
template<typename T>
sp::dim::plane3d< T >::~plane3d (  )  [inline]

Member Function Documentation

template<typename T>
template<typename B >
vector3d<B> sp::dim::plane3d< T >::cast (  )  const [inline]
template<typename T>
bool sp::dim::plane3d< T >::checkAABBoxIntersection ( const aabbox3d< T > &  Box  )  const [inline]
template<typename T>
bool sp::dim::plane3d< T >::checkLineIntersection ( const vector3d< T > &  LineStart,
const vector3d< T > &  LineEnd,
vector3d< T > &  Intersection 
) const [inline]
Todo:
Try to generalize this with the 'mathCollisionLibrary::getLinePlaneIntersection' function.
template<typename T>
bool sp::dim::plane3d< T >::checkMultiplePlaneIntersection ( const plane3d< T > &  Plane1,
const plane3d< T > &  Plane2,
vector3d< T > &  Intersection 
) const [inline]
template<typename T>
bool sp::dim::plane3d< T >::checkOBBoxIntersection ( const obbox3d< T > &  Box  )  const [inline]
template<typename T>
bool sp::dim::plane3d< T >::checkPlaneIntersection ( const plane3d< T > &  Other,
vector3d< T > &  Intersection,
vector3d< T > &  Direction 
) const [inline]
template<typename T>
void sp::dim::plane3d< T >::computePlane ( const vector3d< T > &  PointA,
const vector3d< T > &  PointB,
const vector3d< T > &  PointC 
) [inline]
template<typename T>
bool sp::dim::plane3d< T >::equal ( const plane3d< T > &  Other,
f32  Precision = math::ROUNDING_ERROR 
) const [inline]
template<typename T>
T sp::dim::plane3d< T >::getAABBoxDistance ( const aabbox3d< T > &  Box  )  const [inline]
template<typename T>
EPlaneAABBRelations sp::dim::plane3d< T >::getAABBoxRelation ( const aabbox3d< T > &  Box  )  const [inline]
template<typename T>
vector3d<T> sp::dim::plane3d< T >::getClosestPoint ( const vector3d< T > &  Point  )  const [inline]

Returns the closest point onto the plane from the plane to the specified point.

template<typename T>
vector3d<T> sp::dim::plane3d< T >::getClosestPointNormalized ( const vector3d< T > &  Point  )  const [inline]

Returns the closest point onto the plane from the plane to the specified point. This function is a little bit faster than the "getClosestPoint" function but the plane's normal must be normalized.

See also:
getClosestPoint
template<typename T>
vector3d<T> sp::dim::plane3d< T >::getMemberPoint (  )  const [inline]

Returns a point which lies onto the plane.

template<typename T>
T sp::dim::plane3d< T >::getOBBoxDistance ( const obbox3d< T > &  Box  )  const [inline]
template<typename T>
T sp::dim::plane3d< T >::getPointDistance ( const vector3d< T > &  Point  )  const [inline]
template<typename T>
EPlanePointRelations sp::dim::plane3d< T >::getPointRelation ( const vector3d< T > &  Point  )  const [inline]
template<typename T>
bool sp::dim::plane3d< T >::isPointFrontSide ( const vector3d< T > &  Point  )  const [inline]

Returns true if the specified point lies on the front plane's side.

template<typename T>
plane3d<T>& sp::dim::plane3d< T >::normalize (  )  [inline]
template<typename T>
plane3d<T>& sp::dim::plane3d< T >::swap (  )  [inline]

Member Data Documentation

template<typename T>
T sp::dim::plane3d< T >::Distance
template<typename T>
vector3d<T> sp::dim::plane3d< T >::Normal

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