CrystalSpace

Public API Reference

CS::Collisions::iCollisionSystem Struct Reference

This is the Collision plug-in. More...

#include <ivaria/collisions.h>

Inheritance diagram for CS::Collisions::iCollisionSystem:

List of all members.

Public Member Functions

virtual csRef< iColliderBoxCreateColliderBox (const csVector3 &size)=0
 Create a box collider.
virtual csRef< iColliderCapsuleCreateColliderCapsule (float length, float radius)=0
 Create a capsule collider.
virtual csRef
< iColliderConcaveMesh
CreateColliderConcaveMesh (iMeshWrapper *mesh)=0
 Create a static concave mesh collider.
virtual csRef
< iColliderConcaveMeshScaled
CreateColliderConcaveMeshScaled (iColliderConcaveMesh *collider, csVector3 scale)=0
 Create a scaled concave mesh collider.
virtual csRef< iColliderConeCreateColliderCone (float length, float radius)=0
 Create a cone collider.
virtual csRef
< iColliderConvexMesh
CreateColliderConvexMesh (iMeshWrapper *mesh, bool simplify=false)=0
 Create a convex mesh collider.
virtual csRef< iColliderCylinderCreateColliderCylinder (float length, float radius)=0
 Create a cylinder collider.
virtual csRef< iColliderPlaneCreateColliderPlane (const csPlane3 &plane)=0
 Create a static plane collider.
virtual csRef< iColliderSphereCreateColliderSphere (float radius)=0
 Create a sphere collider.
virtual csRef< iColliderTerrainCreateColliderTerrain (iTerrainSystem *terrain, float minHeight=0, float maxHeight=0)=0
 Create a terrain collider.
virtual csRef< iCollisionActorCreateCollisionActor ()=0
 Create a collision actor.
virtual csRef< iCollisionObjectCreateCollisionObject ()=0
 Create a collision object.
virtual csRef< iCollisionSectorCreateCollisionSector ()=0
 Create a collision sector.
virtual void DecomposeConcaveMesh (iCollisionObject *object, iMeshWrapper *mesh, bool simplify=false)=0
 Decompose a concave mesh in convex parts.
virtual iCollisionSectorFindCollisionSector (const char *name)=0
 Find a collision sector by name.
virtual void SetInternalScale (float scale)=0
 Set the internal scale to be applied to the whole dynamic world.

Detailed Description

This is the Collision plug-in.

This plugin is a factory for creating iCollider, iCollisionObject, iCollisionSector and iCollisionActor entities.

Main creators of instances implementing this interface:

Main ways to get pointers to this interface:

See also:
CS::Physics::iPhysicalSystem

Definition at line 709 of file collisions.h.


Member Function Documentation

virtual csRef<iColliderBox> CS::Collisions::iCollisionSystem::CreateColliderBox ( const csVector3 size  )  [pure virtual]

Create a box collider.

virtual csRef<iColliderCapsule> CS::Collisions::iCollisionSystem::CreateColliderCapsule ( float  length,
float  radius 
) [pure virtual]

Create a capsule collider.

virtual csRef<iColliderConcaveMesh> CS::Collisions::iCollisionSystem::CreateColliderConcaveMesh ( iMeshWrapper mesh  )  [pure virtual]

Create a static concave mesh collider.

virtual csRef<iColliderConcaveMeshScaled> CS::Collisions::iCollisionSystem::CreateColliderConcaveMeshScaled ( iColliderConcaveMesh collider,
csVector3  scale 
) [pure virtual]

Create a scaled concave mesh collider.

virtual csRef<iColliderCone> CS::Collisions::iCollisionSystem::CreateColliderCone ( float  length,
float  radius 
) [pure virtual]

Create a cone collider.

virtual csRef<iColliderConvexMesh> CS::Collisions::iCollisionSystem::CreateColliderConvexMesh ( iMeshWrapper mesh,
bool  simplify = false 
) [pure virtual]

Create a convex mesh collider.

virtual csRef<iColliderCylinder> CS::Collisions::iCollisionSystem::CreateColliderCylinder ( float  length,
float  radius 
) [pure virtual]

Create a cylinder collider.

virtual csRef<iColliderPlane> CS::Collisions::iCollisionSystem::CreateColliderPlane ( const csPlane3 plane  )  [pure virtual]

Create a static plane collider.

virtual csRef<iColliderSphere> CS::Collisions::iCollisionSystem::CreateColliderSphere ( float  radius  )  [pure virtual]

Create a sphere collider.

virtual csRef<iColliderTerrain> CS::Collisions::iCollisionSystem::CreateColliderTerrain ( iTerrainSystem terrain,
float  minHeight = 0,
float  maxHeight = 0 
) [pure virtual]

Create a terrain collider.

virtual csRef<iCollisionActor> CS::Collisions::iCollisionSystem::CreateCollisionActor (  )  [pure virtual]

Create a collision actor.

Need to call iCollisionObject::RebuildObject.

virtual csRef<iCollisionObject> CS::Collisions::iCollisionSystem::CreateCollisionObject (  )  [pure virtual]

Create a collision object.

Without any initialization. Need to call iCollisionObject::RebuildObject.

virtual csRef<iCollisionSector> CS::Collisions::iCollisionSystem::CreateCollisionSector (  )  [pure virtual]

Create a collision sector.

virtual void CS::Collisions::iCollisionSystem::DecomposeConcaveMesh ( iCollisionObject object,
iMeshWrapper mesh,
bool  simplify = false 
) [pure virtual]

Decompose a concave mesh in convex parts.

Each convex part will be added to the collision object as a separate iColliderConvexMesh. By this way you can get a dynamic concave mesh collider.

virtual iCollisionSector* CS::Collisions::iCollisionSystem::FindCollisionSector ( const char *  name  )  [pure virtual]

Find a collision sector by name.

virtual void CS::Collisions::iCollisionSystem::SetInternalScale ( float  scale  )  [pure virtual]

Set the internal scale to be applied to the whole dynamic world.

Use this to put back the range of dimensions you use for your objects to the one Bullet was designed for.

Bullet does not work well if the dimensions of your objects are smaller than 0.1 to 1.0 units or bigger than 10 to 100 units. Use this method to fix the problem.

Warning:
You have to call this method before adding any objects in the world, otherwise the objects won't have the same scale.

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

Generated for Crystal Space 2.1 by doxygen 1.6.1