csColliderHelper Class Reference
This is a class containing a few static member functions to help work with csColliderWrapper and collision detection in general. More...
#include <cstool/collider.h>
Static Public Member Functions | |
static bool | CollideArray (iCollideSystem *colsys, iCollider *collider, const csReversibleTransform *trans, int num_colliders, iCollider **colliders, csReversibleTransform **transforms) |
Test collision between one collider and an array of colliders. | |
static int | CollidePath (iCollideSystem *colsys, iCollider *collider, const csReversibleTransform *trans, float nbrsteps, csVector3 &newpos, int num_colliders, iCollider **colliders, csReversibleTransform **transforms) |
Test if an object can move to a new position. | |
static csColliderWrapper * | InitializeCollisionWrapper (iCollideSystem *colsys, iMeshWrapper *mesh) |
Initialize collision detection for a single object. | |
static void | InitializeCollisionWrappers (iCollideSystem *colsys, iEngine *engine, iRegion *region=0) |
Initialize collision detection (i.e. | |
static csTraceBeamResult | TraceBeam (iCollideSystem *cdsys, iSector *sector, const csVector3 &start, const csVector3 &end, bool traverse_portals) |
Trace a beam from 'start' to 'end' and return the first hit. | |
static float | TraceBeam (iCollideSystem *cdsys, iSector *sector, const csVector3 &start, const csVector3 &end, bool traverse_portals, csIntersectingTriangle &closest_tri, csVector3 &closest_isect, iMeshWrapper **closest_mesh=0, iSector **end_sector=0) |
Trace a beam from 'start' to 'end' and return the first hit. |
Detailed Description
This is a class containing a few static member functions to help work with csColliderWrapper and collision detection in general.
Definition at line 178 of file collider.h.
Member Function Documentation
|
Test collision between one collider and an array of colliders. This function is mainly used by CollidePath() below.
|
|
Test if an object can move to a new position. The new position vector will be modified to reflect the maximum new position that the object could move to without colliding with something. This function will return:
This function will reset the collision pair array. If there was a collision along the way the array will contain the information for the first collision preventing movement. The given transform should be the transform of the object corresponding with the old position. 'colliders' and 'transforms' should be arrays with 'num_colliders' elements for all the objects that we should test against.
|
|
Initialize collision detection for a single object. This function will first check if the parent factory has a collider. If so it will use that for the object too. Otherwise it will create a new collider and attaches it to the object. The new collider will also be attached to the parent factory if it supports iObjectModel. This function will also initialize colliders for the children of the mesh.
|
|
Initialize collision detection (i.e. create csColliderWrapper) for all objects in the engine. If the optional region is given only the objects from that region will be initialized. |
|
Trace a beam from 'start' to 'end' and return the first hit. This function will use CollideRay() from the collision detection system and is pretty fast. Note that only OPCODE plugin currently supports this! A special note about portals! Portal traversal will NOT be used on portals that have a collider! The idea there is that the portal itself is a surface that cannot be penetrated.
|
|
Trace a beam from 'start' to 'end' and return the first hit. This function will use CollideRay() from the collision detection system and is pretty fast. Note that only OPCODE plugin currently supports this! A special note about portals! Portal traversal will NOT be used on portals that have a collider! The idea there is that the portal itself is a surface that cannot be penetrated.
|
The documentation for this class was generated from the following file:
- cstool/collider.h
Generated for Crystal Space by doxygen 1.4.6