![]() |
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.