CS::Collisions::iCollisionSystem Struct Reference
This is the Collision plug-in. More...
#include <ivaria/collisions.h>

Public Member Functions | |
| virtual csRef< iColliderBox > | CreateColliderBox (const csVector3 &size)=0 |
| Create a box collider. | |
| virtual csRef< iColliderCapsule > | CreateColliderCapsule (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< iColliderCone > | CreateColliderCone (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< iColliderCylinder > | CreateColliderCylinder (float length, float radius)=0 |
| Create a cylinder collider. | |
| virtual csRef< iColliderPlane > | CreateColliderPlane (const csPlane3 &plane)=0 |
| Create a static plane collider. | |
| virtual csRef< iColliderSphere > | CreateColliderSphere (float radius)=0 |
| Create a sphere collider. | |
| virtual csRef< iColliderTerrain > | CreateColliderTerrain (iTerrainSystem *terrain, float minHeight=0, float maxHeight=0)=0 |
| Create a terrain collider. | |
| virtual csRef< iCollisionActor > | CreateCollisionActor ()=0 |
| Create a collision actor. | |
| virtual csRef< iCollisionObject > | CreateCollisionObject ()=0 |
| Create a collision object. | |
| virtual csRef< iCollisionSector > | CreateCollisionSector ()=0 |
| Create a collision sector. | |
| virtual void | DecomposeConcaveMesh (iCollisionObject *object, iMeshWrapper *mesh, bool simplify=false)=0 |
| Decompose a concave mesh in convex parts. | |
| virtual iCollisionSector * | FindCollisionSector (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:
- Opcode plugin (crystalspace.collision.opcode2)
- Bullet plugin (crystalspace.physics.bullet2)
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:
- ivaria/collisions.h
Generated for Crystal Space 2.1 by doxygen 1.6.1
