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

Detailed Description

Collide query interface 2nd version.

Remarks
Adds support for Convex Cast.

Public Member Functions

virtual tBool QueryConvexCastScene (ni::iCollideShape *apShape, const sVec3f &avSource, const sVec3f &avTarget, tF32 afMaxParam)=0
 Query a convex cast on the scene, ignore object2. More...
 
virtual tBool QueryConvexCastObject (ni::iCollideShape *apShape, const sVec3f &avSource, const sVec3f &avTarget, tF32 afMaxParam)=0
 Query a convex cast on object1, ignore object2. More...
 
virtual tBool QueryConvexCastSceneEx (ni::iCollideShape *apShape, iHString *ahspRayClass, const sVec3f &avSource, const sVec3f &avTarget, tF32 afMaxParam)=0
 Query a convex cast on a scene and allows to specify the class to collide. More...
 
- Public Member Functions inherited from iCollideQuery
virtual iCollideGetCollide () const =0
 Get the parent collide object. {Property}. More...
 
virtual tBool Copy (const iCollideQuery *apSrc)=0
 Copy the specified query in this query. More...
 
virtual iCollideQueryClone () const =0
 Creates a copy of this query. More...
 
virtual void Reset ()=0
 Reset the query content. More...
 
virtual tBool SetObject1 (iCollideObject *apObj)=0
 Set the object1. {Property}. More...
 
virtual iCollideObjectGetObject1 () const =0
 Get the object1. {Property}. More...
 
virtual tBool SetObject2 (iCollideObject *apObj)=0
 Set the object1. {Property}. More...
 
virtual iCollideObjectGetObject2 () const =0
 Get the object2. {Property}. More...
 
virtual void SetPoint1 (const sVec3f &avPoint)=0
 Set the point1. {Property}. More...
 
virtual sVec3f GetPoint1 () const =0
 Get the point1. {Property}. More...
 
virtual void SetPoint2 (const sVec3f &avPoint)=0
 Set the point2. {Property}. More...
 
virtual sVec3f GetPoint2 () const =0
 Get the point2. {Property}. More...
 
virtual void SetMaterialID1 (tU32 anMatID)=0
 Set the material id of the first hit point. {Property}. More...
 
virtual tU32 GetMaterialID1 () const =0
 Get the material id of the first hit point. {Property}. More...
 
virtual void SetMaterialID2 (tU32 anMatID)=0
 Set the material id of the second hit point. {Property}. More...
 
virtual tU32 GetMaterialID2 () const =0
 Get the material id of the second hit point. {Property}. More...
 
virtual void SetNormal (const sVec3f &avNormal)=0
 Get the normal. {Property}. More...
 
virtual sVec3f GetNormal () const =0
 Set the normal. {Property}. More...
 
virtual void SetT (tF32 afT)=0
 Set T. {Property}. More...
 
virtual tF32 GetT () const =0
 Get T. {Property}. More...
 
virtual tBool SetScene (iCollideScene *apScene)=0
 Set the scene. {Property}. More...
 
virtual iCollideSceneGetScene () const =0
 Get the scene. {Property}. More...
 
virtual tBool SetResponseTable (iCollideResponseTable *apRespTable)=0
 Set the response table. {Property}. More...
 
virtual iCollideResponseTableGetResponseTable () const =0
 Get the response table. {Property}. More...
 
virtual tU32 QueryScene ()=0
 Query collisions in a scene. More...
 
virtual tU32 QueryObjectWithScene ()=0
 Query the number of collisions between object1 and any other object in the scene. More...
 
virtual tBool QueryRayCastObject (const sVec3f &avSource, const sVec3f &avTarget, tF32 afMaxParam)=0
 Query a ray cast on object1, ignore object2. More...
 
virtual tBool QueryRayCastScene (const sVec3f &avSource, const sVec3f &avTarget, tF32 afMaxParam)=0
 Query a ray cast on the scene, ignore object2. More...
 
virtual tBool QueryRayCastSceneEx (iHString *ahspClass, const sVec3f &avSource, const sVec3f &avTarget, tF32 afMaxParam)=0
 Query a ray cast on a scene and allows to specify the class to collide. More...
 
virtual tBool QueryRayCastScene2 (iHString *ahspClass, const sVec3f &avSource, const sVec3f &avTarget, tF32 afMaxParam)=0
 Query a ray cast on a scene and allows to specify the class to collide. More...
 
virtual tBool QueryRayCastSceneVertical (iHString *ahspClass, ni::tF32 afWidth, ni::sVec3f avCurPos, ni::tF32 afDist, ni::tBool abLowest)=0
 Query a vertical ray casting. Returns the closest height of a solid object. 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 tBool QueryConvexCastScene ( ni::iCollideShape apShape,
const sVec3f avSource,
const sVec3f avTarget,
tF32  afMaxParam 
)
pure virtual

Query a convex cast on the scene, ignore object2.

Remarks
T will be set with the t of the hit spot, point1 will be set with source + (target-source) * t, normal will be the object's normal, always pointing towards the object object1 will be set with the object hit.
If the shape passed is not convex the test will return false immediatly.
Returns
eTrue if the ray intersects any object in the scene.
virtual tBool QueryConvexCastObject ( ni::iCollideShape apShape,
const sVec3f avSource,
const sVec3f avTarget,
tF32  afMaxParam 
)
pure virtual

Query a convex cast on object1, ignore object2.

Remarks
T will be set with the t of the hit spot, point1 will be set with source + (target-source) * t, normal will be the object's normal, always pointing towards the object object1 will be set with the object hit.
If the shape passed is not convex the test will return false immediatly.
Returns
eTrue if the ray intersects the object.
virtual tBool QueryConvexCastSceneEx ( ni::iCollideShape apShape,
iHString ahspRayClass,
const sVec3f avSource,
const sVec3f avTarget,
tF32  afMaxParam 
)
pure virtual

Query a convex cast on a scene and allows to specify the class to collide.

Parameters
apShape
ahspRayClassis the class of the convex cast.
avSourceis the source of the ray.
avTargetis the target of the ray.
afMaxParamspecify the magnitude of ray to be used. niMaxF32 means an infinite ray. 1 means source to target.
Remarks
T will be set with the t of the hit spot, point1 will be set with source + (target-source) * t, normal will be the object's normal, always pointing towards the object object1 will be set with the object hit.
If the shape passed is not convex the test will return false immediatly.
Returns
eTrue if the ray intersects the object.