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

Detailed Description

Collide shape interface.

Public Member Functions

virtual iCollideShapeClone () const =0
 Create a clone of the shape. More...
 
virtual eCollideShapeType GetType () const =0
 Get the shape type. {Property}. More...
 
virtual iDataTableGetDataTable () const =0
 Get the shape description datatable. {Property}. More...
 
virtual void SetMaterialID (tU32 anMatID)=0
 Set the shape's material id. {Property}. More...
 
virtual tU32 GetMaterialID () const =0
 Get the shape's material id. {Property}. More...
 
virtual void SetMargin (tF32 afMargin)=0
 Set the shape's margin. {Property}. More...
 
virtual tF32 GetMargin () const =0
 Get the shape's margin. {Property}. More...
 
virtual sVec3f GetCenter () const =0
 Get the shape's center. {Property}. More...
 
virtual tF32 GetRadius () const =0
 Get the shape's radius. {Property}. More...
 
virtual sVec3f GetMin () const =0
 Get the shape's axis aligned bounding box minimum. {Property}. More...
 
virtual sVec3f GetMax () const =0
 Get the shape's axis aligned bounding box maximum. {Property}. More...
 
virtual sVec3f GetSize () const =0
 Get the shape's size. {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 iCollideShape* Clone ( ) const
pure virtual

Create a clone of the shape.

Remarks
This method should be used instead of sharing directly pointers of the shape as some collide implementation might not be able to handle scaling directly.
virtual eCollideShapeType GetType ( ) const
pure virtual

Get the shape type. {Property}.

virtual iDataTable* GetDataTable ( ) const
pure virtual

Get the shape description datatable. {Property}.

See also
eCollideShapeType
virtual void SetMaterialID ( tU32  anMatID)
pure virtual

Set the shape's material id. {Property}.

Remarks
This is the material id that will be returned for that dont have sub-components (such as triangles in meshes).
virtual tU32 GetMaterialID ( ) const
pure virtual

Get the shape's material id. {Property}.

virtual void SetMargin ( tF32  afMargin)
pure virtual

Set the shape's margin. {Property}.

Remarks
Default is 0.05f
virtual tF32 GetMargin ( ) const
pure virtual

Get the shape's margin. {Property}.

virtual sVec3f GetCenter ( ) const
pure virtual

Get the shape's center. {Property}.

Remarks
The coordinate is in 'shape' space (relative to the shape's center).
virtual tF32 GetRadius ( ) const
pure virtual

Get the shape's radius. {Property}.

Remarks
The coordinate is in 'shape' space (relative to the shape's center).
virtual sVec3f GetMin ( ) const
pure virtual

Get the shape's axis aligned bounding box minimum. {Property}.

Remarks
The coordinate is in 'shape' space (relative to the shape's center).
virtual sVec3f GetMax ( ) const
pure virtual

Get the shape's axis aligned bounding box maximum. {Property}.

Remarks
The coordinate is in 'shape' space (relative to the shape's center).
virtual sVec3f GetSize ( ) const
pure virtual

Get the shape's size. {Property}.

Remarks
The coordinate is in 'shape' space (relative to the shape's center).