K3dDistance Class Reference

#include <K3dDistance.h>

Inheritance diagram for K3dDistance:

K3dIntrLinePlane K3dIntrLinSph K3dIntersection K3dMngSystem K3dScene List of all members.

Public Member Functions

 K3dDistance (K3dGameData *_pGameData)
 ~K3dDistance ()
float Points (const K3dVector3Obj &_rkV0, const K3dVector3Obj &_rkV1)
 Calculate distance between two poins.
float SqrPointRay (const K3dVector3Obj &_rkPoint, const K3dRay &_rkRay, float *_pfParam=NULL)
 Calculate squared distance between point and ray.
int PointPlane (const K3dPlane &_rkPlane, const K3dVector3 &_rkPoint)
 By plane equation "Ax + By + Cz - D = 0" calculate point of plane distance A, B, C is normal vector of plane D is plane distance of origin x, y, z is any camera position on the plane Calculate distance between point and plane.
int DistLinePlane (const K3dPlane &_rkPlane, const K3dVector3 &_rkLineOrigin, const K3dVector3 &_rkLineDirection)
 Calculate distance between line and plane.

Private Attributes

K3dGameDatam_pGameData
 Global game data, data centered game system.

Detailed Description

Definition at line 41 of file K3dDistance.h.


Constructor & Destructor Documentation

K3dDistance::K3dDistance ( K3dGameData _pGameData  ) 

Definition at line 36 of file K3dDistance.cpp.

References m_pGameData.

K3dDistance::~K3dDistance (  ) 

Definition at line 41 of file K3dDistance.cpp.


Member Function Documentation

float K3dDistance::Points ( const K3dVector3Obj _rkV0,
const K3dVector3Obj _rkV1 
) [inline]

Calculate distance between two poins.

Definition at line 49 of file K3dDistance.h.

References K3dSceneData::GetVector3Work(), K3dVector3Work::Length(), m_pGameData, and K3dVector3Work::VectorBetween().

Referenced by K3dObjectWork::GetDistance().

float K3dDistance::SqrPointRay ( const K3dVector3Obj _rkPoint,
const K3dRay _rkRay,
float *  _pfParam = NULL 
) [inline]

Calculate squared distance between point and ray.

Definition at line 59 of file K3dDistance.h.

References K3dVector3Work::Dot(), K3dRay::GetDirection(), K3dRay::GetOrigin(), K3dSceneData::GetVector3Work(), m_pGameData, and K3dVector3Work::SquaredLength().

Referenced by K3dIntrLinSph::RaySphere().

int K3dDistance::PointPlane ( const K3dPlane _rkPlane,
const K3dVector3 _rkPoint 
) [inline]

By plane equation "Ax + By + Cz - D = 0" calculate point of plane distance A, B, C is normal vector of plane D is plane distance of origin x, y, z is any camera position on the plane Calculate distance between point and plane.

Parameters:
_rkPlane Input plane
_rkPoint Input point
Return values:
int Rounded distance between point and plane

Definition at line 99 of file K3dDistance.h.

References K3dPlane::GetDistance(), and K3dPlane::GetNormal().

Referenced by K3dVorBsp::CalcFrontBackVertices(), K3dCutPoly::CalcNewEdges(), K3dPolyPlaneBuild::CalcVertsOnPlane(), K3dConvex::CheckConvexPlane(), K3dConvex::CheckEdge(), K3dPlaneWork::ComparePlane(), K3dCutEdge::CutEdge(), K3dCutPoly::DeleteOpositePlane(), DistLinePlane(), K3dVorBsp::FindNearestVertex(), K3dIntrLinePlane::LinePlane(), and K3dIntersection::RayPlane().

int K3dDistance::DistLinePlane ( const K3dPlane _rkPlane,
const K3dVector3 _rkLineOrigin,
const K3dVector3 _rkLineDirection 
) [inline]

Calculate distance between line and plane.

Return values:
1 If line lies on plane front side
-1 If line lies on plane back side
-1 If line intersect the plane

Definition at line 115 of file K3dDistance.h.

References PointPlane(), and K3dMath::Sign().

Referenced by K3dCutPoly::DeleteOpositeEdges().


Member Data Documentation

K3dGameData* K3dDistance::m_pGameData [private]

Global game data, data centered game system.

Reimplemented in K3dIntersection, K3dIntrLinePlane, K3dIntrLinSph, K3dScene, and K3dMngSystem.

Definition at line 43 of file K3dDistance.h.

Referenced by K3dDistance(), Points(), and SqrPointRay().


The documentation for this class was generated from the following files:
Generated on Thu Aug 16 23:53:31 2007 for K3dEngine by  doxygen 1.5.0