TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
cBoundingVolumeAABB Class Reference
Inheritance diagram for cBoundingVolumeAABB:
cIUnknownImpl< iBoundingVolume > cAABB< T >

Public Member Functions

 cBoundingVolumeAABB ()
 
 ~cBoundingVolumeAABB ()
 
tBool Copy (iBoundingVolume *apSrc)
 
iBoundingVolumeClone () const
 
eBoundingVolumeType GetType () const
 
tBool Begin (tBool abReset)
 
tBool End ()
 
tBool AddPoint (const sVec3f &avPoint)
 
tBool SetCenter (const sVec3f &avPos)
 
sVec3f GetCenter () const
 
void SetRadius (tF32 afRadius)
 
tF32 GetRadius () const
 
void SetExtents (const sVec3f &avExtends)
 
sVec3f GetExtents () const
 
void SetSize (const sVec3f &avSize)
 
sVec3f GetSize () const
 
void SetMin (const sVec3f &avMin)
 
sVec3f GetMin () const
 
void SetMax (const sVec3f &avMax)
 
sVec3f GetMax () const
 
tBool Translate (const sVec3f &avV)
 
tBool Rotate (const sMatrixf &amtxRotation)
 
tBool Transform (const sMatrixf &aMatrix)
 
void Inflate (tF32 afPercent)
 
eIntersectionResult IntersectAABB (iIntersection *apResult, const sVec3f &avMin, const sVec3f &avMax) const
 
eIntersectionResult IntersectRay (iIntersection *apResult, const sVec3f &avPos, const sVec3f &avDir) const
 
eIntersectionResult IntersectPoint (iIntersection *apResult, const sVec3f &aPosition) const
 
eIntersectionResult IntersectFrustum (iIntersection *apResult, const iFrustum *apFrustum) const
 
- Public Member Functions inherited from cIUnknownImpl< iBoundingVolume >
 cIUnknownImpl ()
 
virtual tBool IsOK () const
 
virtual void Invalidate ()
 
virtual iUnknownQueryInterface (const ni::tUUID &aIID)
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32) const
 
- Public Member Functions inherited from cAABB< T >
 cAABB ()
 
 cAABB (const sVec3< T > &min, const sVec3< T > &max)
 
 cAABB (const sVec3< T > &center, T afRadius)
 
 ~cAABB ()
 
void ZeroMembers ()
 
const sVec3< T > & GetMin () const
 
const sVec3< T > & GetMax () const
 
const T GetXSize () const
 
const T GetYSize () const
 
const T GetZSize () const
 
const T GetMaxSize () const
 
const T GetRadius () const
 
sVec3< T > GetSize () const
 
sVec3< T > GetExtents () const
 
sVec3< T > GetCenter () const
 
GetAverageExtent () const
 
void Set (const sVec3< T > &min, const sVec3< T > &max)
 
void SetMin (const sVec3< T > &min)
 
void SetMax (const sVec3< T > &max)
 
void SetCenterSize (const sVec3< T > &center, T size)
 
void SetCenterSize (const sVec3< T > &center, const sVec3< T > &size)
 
void SetCenterExtents (const sVec3< T > &center, T size)
 
void SetCenterExtents (const sVec3< T > &center, const sVec3< T > &size)
 
tBool Intersect (const sVec3< T > &p, T epsilon=niEpsilon5) const
 
tBool Intersect (const cAABB< T > &aabb, T epsilon=niEpsilon5) const
 
tBool Intersect (const sVec3< T > &min, const sVec3< T > &max, T epsilon=niEpsilon5) const
 
tBool IntersectRay (const sVec3< T > &avRayPos, const sVec3< T > &avRayDir, sVec3< T > *pOut=NULL, T epsilon=niEpsilon5) const
 
void Reset ()
 Bounding box computing helper. More...
 
void SetPoint (const sVec3< T > &p)
 
void Inflate (T percent)
 Inflate the bounding box of the given percent (1.0 == 100%). More...
 
void Extend (const sVec3< T > &v)
 Extend the bounding box of the given vector. More...
 
void Translate (const sVec3< T > &vVec)
 Translate the AABB. More...
 
void Rotate (const sMatrix< T > &aMtx)
 Rotate/Scale the AABB. More...
 
void Transform (const sMatrix< T > &aMtx)
 Transform the AABB. More...
 
void GetVertices (tPtr pVerts, tU32 aulPosOffset, tU32 aulStride) const
 Get the AABB vertices. More...
 
void GetFacesPlanes (sVec4< T > *pPlanes, bool bOutward) const
 Get the AABB faces planes. More...
 

Additional Inherited Members

- Public Types inherited from cIUnknownImpl< iBoundingVolume >
typedef cIUnknownImpl
< iBoundingVolume, FLAGS, T1,
T2, T3, T4 > 
BaseImpl
 
typedef iBoundingVolume Base0
 
typedef T1 Base1
 
typedef T2 Base2
 
typedef T3 Base3
 
typedef T4 Base4
 
- Static Public Member Functions inherited from cAABB< T >
static tBool Intersect (const sVec3< T > &mina, const sVec3< T > &maxa, const sVec3< T > &minb, const sVec3< T > &maxb, T epsilon=niEpsilon5)
 
static void GetTrianglesIndices (tU32 *pIndices, bool bCW)
 Get triangles indices. More...
 
static void GetLinesIndices (tU32 *pIndices)
 Get lines indices. To draw the AABB borders by example. More...
 
- Protected Attributes inherited from cAABB< T >
sVec3< T > mvMin
 
sVec3< T > mvMax
 

Constructor & Destructor Documentation

Member Function Documentation

tBool Copy ( iBoundingVolume apSrc)
iBoundingVolume* Clone ( ) const
eBoundingVolumeType GetType ( ) const
tBool Begin ( tBool  abReset)
tBool End ( )
tBool AddPoint ( const sVec3f avPoint)
tBool SetCenter ( const sVec3f avPos)
sVec3f GetCenter ( ) const
void SetRadius ( tF32  afRadius)
tF32 GetRadius ( ) const
void SetExtents ( const sVec3f avExtends)
sVec3f GetExtents ( ) const
void SetSize ( const sVec3f avSize)
sVec3f GetSize ( ) const
void SetMin ( const sVec3f avMin)
sVec3f GetMin ( ) const
void SetMax ( const sVec3f avMax)
sVec3f GetMax ( ) const
tBool Translate ( const sVec3f avV)
tBool Rotate ( const sMatrixf amtxRotation)
tBool Transform ( const sMatrixf aMatrix)
void Inflate ( tF32  afPercent)
eIntersectionResult IntersectAABB ( iIntersection apResult,
const sVec3f avMin,
const sVec3f avMax 
) const
eIntersectionResult IntersectRay ( iIntersection apResult,
const sVec3f avPos,
const sVec3f avDir 
) const
eIntersectionResult IntersectPoint ( iIntersection apResult,
const sVec3f aPosition 
) const
eIntersectionResult IntersectFrustum ( iIntersection apResult,
const iFrustum apFrustum 
) const