TalanSoft Toolkits  201707
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Member Functions | List of all members
iBoundingVolume Struct Referenceabstract
Inheritance diagram for iBoundingVolume:
iUnknown

Detailed Description

Bounding volume interface.

Public Member Functions

virtual tBool Copy (iBoundingVolume *apSrc)=0
 Copy another bounding volume in this volume. More...
 
virtual iBoundingVolumeClone () const =0
 Create a copy of the bounding volume. More...
 
virtual eBoundingVolumeType GetType () const =0
 Get the bounding volume type. {Property}. More...
 
- Public Member Functions inherited from iUnknown
virtual tBool IsOK () const =0
 Check if the object is valid. More...
 
virtual tI32 AddRef ()=0
 Signal that one more reference of the object has been created. More...
 
virtual tI32 Release ()=0
 Release a reference of the object. More...
 
virtual void DeleteThis ()=0
 Bypass any reference counting and delete this object. More...
 
virtual void Invalidate ()=0
 Invalidate the object. More...
 
virtual iUnknownQueryInterface (const tUUID &aIID)=0
 Query an interface. More...
 
virtual void ListInterfaces (iMutableCollection *apLst, tU32 anFlags) const =0
 Fill a UUID list containing the UUIDs of the implemented interfaces. More...
 
virtual tI32 SetNumRefs (tI32 anNumRefs)=0
 Set the reference counter directly. More...
 
virtual tI32 GetNumRefs () const =0
 Get the number of references to this object. More...
 

Computation

virtual tBool Begin (tBool abReset)=0
 Begin the computation of the bounding volume. More...
 
virtual tBool End ()=0
 End the computation of the bounding volume. More...
 
virtual tBool AddPoint (const sVec3f &avPoint)=0
 Add a point inside the bounding volume. More...
 

Transformations

virtual tBool SetCenter (const sVec3f &avPos)=0
 Set the center. {Property}. More...
 
virtual sVec3f GetCenter () const =0
 Get the center. {Property}. More...
 
virtual void SetRadius (tF32 afRadius)=0
 Set the radius. {Property}. More...
 
virtual tF32 GetRadius () const =0
 Get the radius. {Property}. More...
 
virtual void SetExtents (const sVec3f &avExtends)=0
 Set the extents. {Property}. More...
 
virtual sVec3f GetExtents () const =0
 Get the extents. {Property}. More...
 
virtual void SetSize (const sVec3f &avSize)=0
 Set the size. {Property}. More...
 
virtual sVec3f GetSize () const =0
 Get the size. {Property}. More...
 
virtual void SetMin (const sVec3f &avMin)=0
 Set the minimum value. {Property}. More...
 
virtual sVec3f GetMin () const =0
 Get the minimum value. {Property}. More...
 
virtual void SetMax (const sVec3f &avMax)=0
 Set the maximum value. {Property}. More...
 
virtual sVec3f GetMax () const =0
 Get the maximum value. {Property}. More...
 
virtual tBool Translate (const sVec3f &avV)=0
 Translate the bounding volume. More...
 
virtual tBool Rotate (const sMatrixf &amtxRotation)=0
 Rotate the bounding volume. More...
 
virtual tBool Transform (const sMatrixf &aMatrix)=0
 Transform by the specified matrix. More...
 
virtual void Inflate (tF32 afPercent)=0
 Inflate the bounding volume by the given percentage. More...
 

Intersection tests

virtual eIntersectionResult IntersectAABB (iIntersection *apResult, const sVec3f &avMin, const sVec3f &avMax) const =0
 Intersect with an AABB. More...
 
virtual eIntersectionResult IntersectRay (iIntersection *apResult, const sVec3f &avOrg, const sVec3f &avDir) const =0
 Intersect with a ray. More...
 
virtual eIntersectionResult IntersectPoint (iIntersection *apResult, const sVec3f &aPosition) const =0
 Intersect with a point. More...
 
virtual eIntersectionResult IntersectFrustum (iIntersection *apResult, const iFrustum *apFrustum) const =0
 Intersect with a frustum. More...
 

Member Function Documentation

virtual tBool Copy ( iBoundingVolume apSrc)
pure virtual

Copy another bounding volume in this volume.

virtual iBoundingVolume* Clone ( ) const
pure virtual

Create a copy of the bounding volume.

virtual eBoundingVolumeType GetType ( ) const
pure virtual

Get the bounding volume type. {Property}.

virtual tBool Begin ( tBool  abReset)
pure virtual

Begin the computation of the bounding volume.

virtual tBool End ( )
pure virtual

End the computation of the bounding volume.

virtual tBool AddPoint ( const sVec3f avPoint)
pure virtual

Add a point inside the bounding volume.

virtual tBool SetCenter ( const sVec3f avPos)
pure virtual

Set the center. {Property}.

virtual sVec3f GetCenter ( ) const
pure virtual

Get the center. {Property}.

virtual void SetRadius ( tF32  afRadius)
pure virtual

Set the radius. {Property}.

virtual tF32 GetRadius ( ) const
pure virtual

Get the radius. {Property}.

virtual void SetExtents ( const sVec3f avExtends)
pure virtual

Set the extents. {Property}.

virtual sVec3f GetExtents ( ) const
pure virtual

Get the extents. {Property}.

virtual void SetSize ( const sVec3f avSize)
pure virtual

Set the size. {Property}.

virtual sVec3f GetSize ( ) const
pure virtual

Get the size. {Property}.

virtual void SetMin ( const sVec3f avMin)
pure virtual

Set the minimum value. {Property}.

virtual sVec3f GetMin ( ) const
pure virtual

Get the minimum value. {Property}.

virtual void SetMax ( const sVec3f avMax)
pure virtual

Set the maximum value. {Property}.

virtual sVec3f GetMax ( ) const
pure virtual

Get the maximum value. {Property}.

virtual tBool Translate ( const sVec3f avV)
pure virtual

Translate the bounding volume.

virtual tBool Rotate ( const sMatrixf amtxRotation)
pure virtual

Rotate the bounding volume.

virtual tBool Transform ( const sMatrixf aMatrix)
pure virtual

Transform by the specified matrix.

virtual void Inflate ( tF32  afPercent)
pure virtual

Inflate the bounding volume by the given percentage.

virtual eIntersectionResult IntersectAABB ( iIntersection apResult,
const sVec3f avMin,
const sVec3f avMax 
) const
pure virtual

Intersect with an AABB.

virtual eIntersectionResult IntersectRay ( iIntersection apResult,
const sVec3f avOrg,
const sVec3f avDir 
) const
pure virtual

Intersect with a ray.

virtual eIntersectionResult IntersectPoint ( iIntersection apResult,
const sVec3f aPosition 
) const
pure virtual

Intersect with a point.

virtual eIntersectionResult IntersectFrustum ( iIntersection apResult,
const iFrustum apFrustum 
) const
pure virtual

Intersect with a frustum.