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

Public Member Functions

virtual iFrustumClone () const =0
 Create a copy of this object. More...
 
virtual void Copy (const iFrustum *apSrc)=0
 Copy the given frustum. More...
 
virtual sVec3f GetForward () const =0
 Get the forward vector of the frustum. More...
 
virtual sVec3f GetUp () const =0
 Get the up vector of the frustum. More...
 
virtual sVec3f GetRight () const =0
 Get the right vector of the frustum. More...
 
virtual void ExtractPlanes (const sMatrixf &mtxVP)=0
 Extract the planes from a view projection matrix. More...
 
virtual void SetNumPlanes (tU32 ulNumPlane)=0
 Set the number of plane in the frustum. {Property}. More...
 
virtual tU32 GetNumPlanes () const =0
 Get the number of planes in the frustum. {Property}. More...
 
virtual void AddPlanes (tU32 aulNumPlane, const sPlanef *apPlanes)=0
 Add the given number of planes to the frustum. {NoAutomation}. More...
 
virtual void AddPlane (const sPlanef &aPlane)=0
 Add one plane to the frustum. More...
 
virtual void SetPlanes (tU32 aulNumPlane, const sPlanef *apPlanes)=0
 Set all planes of the frustum. {NoAutomation}. More...
 
virtual void SetPlane (tU32 ulIdx, const sPlanef &Plane)=0
 Set the plane of the given index. {Property}. More...
 
virtual sPlanef GetPlane (tU32 ulIdx) const =0
 Get the plane of the given index. {Property}. More...
 
virtual sPlanefGetPlanes () const =0
 Get all planes. {NoAutomation}. More...
 
virtual eCullCode CullAABB (const sVec3f &avMin, const sVec3f &avMax) const =0
 Cull an AABB. More...
 
virtual tBool IntersectAABB (const sVec3f &avMin, const sVec3f &avMax) const =0
 Check if the given AABB is in the frustum. More...
 
virtual eCullCode CullSphere (const sVec3f &avCenter, tF32 afRadius) const =0
 Cull a sphere. More...
 
virtual tBool IntersectSphere (const sVec3f &avCenter, tF32 afRadius) const =0
 Check if the given sphere is in the frustum. More...
 
virtual tBool Transform (const sMatrixf &M)=0
 Transform the frustum by the given matrix. More...
 
virtual sRectf ComputeScreenBoundingBox (const sMatrixf &amtxWVP, const sRectf &aViewport)=0
 Compute the screen bounding box. More...
 
virtual tBool SetBoundingVolume (iBoundingVolume *apBV)=0
 Set the world bounding volume. {Property}. More...
 
virtual iBoundingVolumeGetBoundingVolume () const =0
 Get the world bounding volume. {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...
 

Member Function Documentation

virtual iFrustum* Clone ( ) const
pure virtual

Create a copy of this object.

virtual void Copy ( const iFrustum apSrc)
pure virtual

Copy the given frustum.

virtual sVec3f GetForward ( ) const
pure virtual

Get the forward vector of the frustum.

Remarks
The forward vector of the frustum is the normal of the near plane. {Property}
virtual sVec3f GetUp ( ) const
pure virtual

Get the up vector of the frustum.

Remarks
The up vector of the frustum is the cross product between the left and right frustum planes. {Property}
virtual sVec3f GetRight ( ) const
pure virtual

Get the right vector of the frustum.

Remarks
The right vector of the frustum is the cross product between the top and bottom frustum planes. {Property}
virtual void ExtractPlanes ( const sMatrixf mtxVP)
pure virtual

Extract the planes from a view projection matrix.

virtual void SetNumPlanes ( tU32  ulNumPlane)
pure virtual

Set the number of plane in the frustum. {Property}.

virtual tU32 GetNumPlanes ( ) const
pure virtual

Get the number of planes in the frustum. {Property}.

virtual void AddPlanes ( tU32  aulNumPlane,
const sPlanef apPlanes 
)
pure virtual

Add the given number of planes to the frustum. {NoAutomation}.

virtual void AddPlane ( const sPlanef aPlane)
pure virtual

Add one plane to the frustum.

virtual void SetPlanes ( tU32  aulNumPlane,
const sPlanef apPlanes 
)
pure virtual

Set all planes of the frustum. {NoAutomation}.

virtual void SetPlane ( tU32  ulIdx,
const sPlanef Plane 
)
pure virtual

Set the plane of the given index. {Property}.

virtual sPlanef GetPlane ( tU32  ulIdx) const
pure virtual

Get the plane of the given index. {Property}.

virtual sPlanef* GetPlanes ( ) const
pure virtual

Get all planes. {NoAutomation}.

virtual eCullCode CullAABB ( const sVec3f avMin,
const sVec3f avMax 
) const
pure virtual

Cull an AABB.

virtual tBool IntersectAABB ( const sVec3f avMin,
const sVec3f avMax 
) const
pure virtual

Check if the given AABB is in the frustum.

virtual eCullCode CullSphere ( const sVec3f avCenter,
tF32  afRadius 
) const
pure virtual

Cull a sphere.

virtual tBool IntersectSphere ( const sVec3f avCenter,
tF32  afRadius 
) const
pure virtual

Check if the given sphere is in the frustum.

virtual tBool Transform ( const sMatrixf M)
pure virtual

Transform the frustum by the given matrix.

virtual sRectf ComputeScreenBoundingBox ( const sMatrixf amtxWVP,
const sRectf aViewport 
)
pure virtual

Compute the screen bounding box.

virtual tBool SetBoundingVolume ( iBoundingVolume apBV)
pure virtual

Set the world bounding volume. {Property}.

virtual iBoundingVolume* GetBoundingVolume ( ) const
pure virtual

Get the world bounding volume. {Property}.