![]() |
Public API Reference |
Provides an interface for custom collision. More...
#include <imesh/terrain2.h>
Public Member Functions | |
| virtual bool | Collide (iTerrainCell *cell, iCollider *collider, float radius, const csReversibleTransform &trans, bool oneHit, iTerrainCollisionPairArray *pairs)=0 |
| Collide collider with cell. | |
| virtual bool | CollideSegment (iTerrainCell *cell, const csVector3 &start, const csVector3 &end, bool oneHit, iTerrainVector3Array *points)=0 |
| Collide segment with cell. | |
| virtual bool | CollideSegment (iTerrainCell *cell, const csVector3 &start, const csVector3 &end, csVector3 &hitPoint)=0 |
| Collide segment with cell. | |
| virtual csTerrainColliderCollideSegmentResult | CollideSegment (iTerrainCell *cell, const csVector3 &start, const csVector3 &end)=0 |
| Collide segment with cell. | |
| virtual bool | CollideTriangles (iTerrainCell *cell, const csVector3 *vertices, size_t tri_count, const unsigned int *indices, float radius, const csReversibleTransform &trans, bool oneHit, iTerrainCollisionPairArray *pairs)=0 |
| Collide set of triangles with cell. | |
| virtual csPtr < iTerrainCellCollisionProperties > | CreateProperties ()=0 |
| Create an object that implements iTerrainCellCollisionProperties This object will be stored in the cell. | |
Provides an interface for custom collision.
Definition at line 354 of file terrain2.h.
| virtual bool iTerrainCollider::Collide | ( | iTerrainCell * | cell, |
| iCollider * | collider, | ||
| float | radius, | ||
| const csReversibleTransform & | trans, | ||
| bool | oneHit, | ||
| iTerrainCollisionPairArray * | pairs | ||
| ) | [pure virtual] |
Collide collider with cell.
| cell | cell |
| collider | collider |
| radius | radius of the bounding sphere surrounding the given set of triangles (used for fast rejection) |
| trans | triangle set transformation (vertices' coordinates are specified in the space defined by this transformation) |
| oneHit | if this is true, than stop on finding the first collision pair; otherwise, detect all collisions |
| points | destination collision pair array |
| virtual bool iTerrainCollider::CollideSegment | ( | iTerrainCell * | cell, |
| const csVector3 & | start, | ||
| const csVector3 & | end, | ||
| bool | oneHit, | ||
| iTerrainVector3Array * | points | ||
| ) | [pure virtual] |
Collide segment with cell.
| cell | cell |
| start | segment start (specified in object space) |
| end | segment end (specified in object space) |
| oneHit | if this is true, than stop on finding the first intersection point (the closest to the segment start); otherwise, detect all intersections |
| points | destination point array |
| virtual bool iTerrainCollider::CollideSegment | ( | iTerrainCell * | cell, |
| const csVector3 & | start, | ||
| const csVector3 & | end, | ||
| csVector3 & | hitPoint | ||
| ) | [pure virtual] |
Collide segment with cell.
Stops on finding the first intersection point (the closest to the segment start).
| cell | cell |
| start | segment start (specified in object space) |
| end | segment end (specified in object space) |
| hitPoint | receives the intersection point |
| virtual csTerrainColliderCollideSegmentResult iTerrainCollider::CollideSegment | ( | iTerrainCell * | cell, |
| const csVector3 & | start, | ||
| const csVector3 & | end | ||
| ) | [pure virtual] |
Collide segment with cell.
| cell | cell |
| start | segment start (specified in object space) |
| end | segment end (specified in object space) |
| virtual bool iTerrainCollider::CollideTriangles | ( | iTerrainCell * | cell, |
| const csVector3 * | vertices, | ||
| size_t | tri_count, | ||
| const unsigned int * | indices, | ||
| float | radius, | ||
| const csReversibleTransform & | trans, | ||
| bool | oneHit, | ||
| iTerrainCollisionPairArray * | pairs | ||
| ) | [pure virtual] |
Collide set of triangles with cell.
| cell | cell |
| vertices | vertex array |
| tri_count | triangle count |
| indices | vertex indices, 3 indices for each triangle |
| radius | radius of the bounding sphere surrounding the given set of triangles (used for fast rejection) |
| trans | triangle set transformation (vertices' coordinates are specified in the space defined by this transformation) |
| oneHit | if this is true, than stop on finding the first collision pair; otherwise, detect all collisions |
| points | destination collision pair array |
| virtual csPtr<iTerrainCellCollisionProperties> iTerrainCollider::CreateProperties | ( | ) | [pure virtual] |
Create an object that implements iTerrainCellCollisionProperties This object will be stored in the cell.
This function gets invoked at cells creation.