CrystalSpace

Public API Reference

Public Member Functions
iTerrainCollider Struct Reference

Provides an interface for custom collision. More...

#include <imesh/terrain2.h>

Inheritance diagram for iTerrainCollider:
iBase

List of all members.

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.

Detailed Description

Provides an interface for custom collision.

Definition at line 354 of file terrain2.h.


Member Function Documentation

virtual bool iTerrainCollider::Collide ( iTerrainCell cell,
iCollider collider,
float  radius,
const csReversibleTransform trans,
bool  oneHit,
iTerrainCollisionPairArray pairs 
) [pure virtual]

Collide collider with cell.

Parameters:
cellcell
collidercollider
radiusradius of the bounding sphere surrounding the given set of triangles (used for fast rejection)
transtriangle set transformation (vertices' coordinates are specified in the space defined by this transformation)
oneHitif this is true, than stop on finding the first collision pair; otherwise, detect all collisions
pointsdestination collision pair array
Returns:
true if there were any collisions, false if there were none
virtual bool iTerrainCollider::CollideSegment ( iTerrainCell cell,
const csVector3 start,
const csVector3 end,
bool  oneHit,
iTerrainVector3Array points 
) [pure virtual]

Collide segment with cell.

Parameters:
cellcell
startsegment start (specified in object space)
endsegment end (specified in object space)
oneHitif this is true, than stop on finding the first intersection point (the closest to the segment start); otherwise, detect all intersections
pointsdestination point array
Returns:
true if there were any intersections, false if there were none
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).

Parameters:
cellcell
startsegment start (specified in object space)
endsegment end (specified in object space)
hitPointreceives the intersection point
Returns:
true if there was an intersections, false if there was none
virtual csTerrainColliderCollideSegmentResult iTerrainCollider::CollideSegment ( iTerrainCell cell,
const csVector3 start,
const csVector3 end 
) [pure virtual]

Collide segment with cell.

Parameters:
cellcell
startsegment start (specified in object space)
endsegment end (specified in object space)
Returns:
a csTerrainColliderCollideSegmentResult instance indicating what we hit.
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.

Parameters:
cellcell
verticesvertex array
tri_counttriangle count
indicesvertex indices, 3 indices for each triangle
radiusradius of the bounding sphere surrounding the given set of triangles (used for fast rejection)
transtriangle set transformation (vertices' coordinates are specified in the space defined by this transformation)
oneHitif this is true, than stop on finding the first collision pair; otherwise, detect all collisions
pointsdestination collision pair array
Returns:
true if there were any collisions, false if there were none

Create an object that implements iTerrainCellCollisionProperties This object will be stored in the cell.

This function gets invoked at cells creation.

Returns:
properties object

The documentation for this struct was generated from the following file:

Generated for Crystal Space 2.0 by doxygen 1.7.6.1