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

Public Member Functions | |
| virtual csPtr< iCollider > | CreateCollider ()=0 |
| Create an empty collider (it does not have a root shape, but only potentially children). | |
| virtual csPtr< iColliderBox > | CreateColliderBox (const csVector3 &size)=0 |
| Create a box collider. | |
| virtual csPtr< iColliderCapsule > | CreateColliderCapsule (float length, float radius)=0 |
| Create a capsule collider. | |
| virtual csPtr < iColliderConcaveMesh > | CreateColliderConcaveMesh (iTriangleMesh *mesh)=0 |
| Create a static concave mesh collider. | |
| virtual csPtr < iColliderConcaveMeshScaled > | CreateColliderConcaveMeshScaled (iColliderConcaveMesh *collider, const csVector3 &scale)=0 |
| Create a static, scaled concave mesh collider. | |
| virtual csPtr< iColliderCone > | CreateColliderCone (float length, float radius)=0 |
| Create a cone collider. | |
| virtual csPtr < iColliderConvexMesh > | CreateColliderConvexMesh (iTriangleMesh *mesh, bool simplify=false)=0 |
| Create a convex mesh collider. | |
| virtual csPtr< iColliderCylinder > | CreateColliderCylinder (float length, float radius)=0 |
| Create a cylinder collider, oriented along the y-axis. | |
| virtual csPtr< iColliderPlane > | CreateColliderPlane (const csPlane3 &plane)=0 |
| Create a static plane collider. | |
| virtual csPtr< iColliderSphere > | CreateColliderSphere (float radius)=0 |
| Create a sphere collider. | |
| virtual csPtr < iCollisionActorFactory > | CreateCollisionActorFactory (CS::Collisions::iCollider *collider=nullptr)=0 |
| Create a iCollisionActorFactory. | |
| virtual iCollisionGroup * | CreateCollisionGroup (const char *name)=0 |
| Create a collision group of the given name. | |
| virtual csPtr < iCollisionObjectFactory > | CreateCollisionObjectFactory (CS::Collisions::iCollider *collider=nullptr)=0 |
| Create a iCollisionObjectFactory. | |
| virtual iCollisionSector * | CreateCollisionSector (iSector *sector=nullptr)=0 |
| Creates a new collision sector and adds it to the system's set. | |
| virtual csPtr< iCollisionTerrain > | CreateCollisionTerrain (iTerrainSystem *terrain, float minHeight=0, float maxHeight=0)=0 |
| Create a terrain collider. | |
| virtual csPtr < iCollisionObjectFactory > | CreateGhostCollisionObjectFactory (CS::Collisions::iCollider *collider=nullptr)=0 |
| Create a iCollisionObjectFactory of type CS::Collisions::COLLISION_OBJECT_GHOST. | |
| virtual void | DeleteAll ()=0 |
| Reset the entire system and delete all sectors and collision groups. | |
| virtual void | DeleteCollisionSector (iCollisionSector *sector)=0 |
| Delete the given collision sector. | |
| virtual void | DeleteCollisionSectors ()=0 |
| Delete all collision sectors. | |
| virtual iCollisionGroup * | FindCollisionGroup (const char *name) const =0 |
| Find the collision group of the given name, or return nullptr if it has not been found. | |
| virtual iCollisionSector * | FindCollisionSector (const char *name)=0 |
| Find a collision sector by name. | |
| virtual iCollisionSector * | FindCollisionSector (const iSector *sceneSector)=0 |
| Find a collision sector by its associated iSector, or nullptr if it has not been found. | |
| virtual iCollisionGroup * | GetCollisionGroup (size_t index) const =0 |
| Get a collision group by its index. | |
| virtual size_t | GetCollisionGroupCount () const =0 |
| Get the count of collision groups in this system. | |
| virtual iCollisionSector * | GetCollisionSector (size_t index)=0 |
| Get a collision sector by index. | |
| virtual size_t | GetCollisionSectorCount () const =0 |
| Return the amount of sectors in this system. | |
| virtual float | GetSimulationSpeed () const =0 |
| Get the speed of the simulation, that is the time ratio that is applied when updating the motion of the objects. | |
| virtual CS::Physics::iPhysicalSystem * | QueryPhysicalSystem ()=0 |
| Return the physical system pointer if this interface is also implemented by the system, or nullptr otherwise. | |
| virtual void | SetSimulationSpeed (float speed)=0 |
| Set the speed of the simulation, that is the time ratio that is applied when updating the motion of the objects. | |
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
Create an empty collider (it does not have a root shape, but only potentially children).
The collider type of this object is CS::Collisions::COLLIDER_COMPOUND.
| virtual csPtr<iColliderBox> CS::Collisions::iCollisionSystem::CreateColliderBox | ( | const csVector3 & | size | ) | [pure virtual] |
Create a box collider.
| virtual csPtr<iColliderCapsule> CS::Collisions::iCollisionSystem::CreateColliderCapsule | ( | float | length, | |
| float | radius | |||
| ) | [pure virtual] |
Create a capsule collider.
| virtual csPtr<iColliderConcaveMesh> CS::Collisions::iCollisionSystem::CreateColliderConcaveMesh | ( | iTriangleMesh * | mesh | ) | [pure virtual] |
Create a static concave mesh collider.
| virtual csPtr<iColliderConcaveMeshScaled> CS::Collisions::iCollisionSystem::CreateColliderConcaveMeshScaled | ( | iColliderConcaveMesh * | collider, | |
| const csVector3 & | scale | |||
| ) | [pure virtual] |
Create a static, scaled concave mesh collider.
| virtual csPtr<iColliderCone> CS::Collisions::iCollisionSystem::CreateColliderCone | ( | float | length, | |
| float | radius | |||
| ) | [pure virtual] |
Create a cone collider.
| virtual csPtr<iColliderConvexMesh> CS::Collisions::iCollisionSystem::CreateColliderConvexMesh | ( | iTriangleMesh * | mesh, | |
| bool | simplify = false | |||
| ) | [pure virtual] |
Create a convex mesh collider.
| virtual csPtr<iColliderCylinder> CS::Collisions::iCollisionSystem::CreateColliderCylinder | ( | float | length, | |
| float | radius | |||
| ) | [pure virtual] |
Create a cylinder collider, oriented along the y-axis.
| virtual csPtr<iColliderPlane> CS::Collisions::iCollisionSystem::CreateColliderPlane | ( | const csPlane3 & | plane | ) | [pure virtual] |
Create a static plane collider.
| virtual csPtr<iColliderSphere> CS::Collisions::iCollisionSystem::CreateColliderSphere | ( | float | radius | ) | [pure virtual] |
Create a sphere collider.
| virtual csPtr<iCollisionActorFactory> CS::Collisions::iCollisionSystem::CreateCollisionActorFactory | ( | CS::Collisions::iCollider * | collider = nullptr |
) | [pure virtual] |
Create a iCollisionActorFactory.
| virtual iCollisionGroup* CS::Collisions::iCollisionSystem::CreateCollisionGroup | ( | const char * | name | ) | [pure virtual] |
Create a collision group of the given name.
Return nullptr if the group could not be created. If a group with the given name already exists, then return a reference to this group.
- Warning:
- You cannot create more than 16 collision groups in total.
- Collision groups cannot be removed once created.
| virtual csPtr<iCollisionObjectFactory> CS::Collisions::iCollisionSystem::CreateCollisionObjectFactory | ( | CS::Collisions::iCollider * | collider = nullptr |
) | [pure virtual] |
Create a iCollisionObjectFactory.
| virtual iCollisionSector* CS::Collisions::iCollisionSystem::CreateCollisionSector | ( | iSector * | sector = nullptr |
) | [pure virtual] |
Creates a new collision sector and adds it to the system's set.
| virtual csPtr<iCollisionTerrain> CS::Collisions::iCollisionSystem::CreateCollisionTerrain | ( | iTerrainSystem * | terrain, | |
| float | minHeight = 0, |
|||
| float | maxHeight = 0 | |||
| ) | [pure virtual] |
Create a terrain collider.
| virtual csPtr<iCollisionObjectFactory> CS::Collisions::iCollisionSystem::CreateGhostCollisionObjectFactory | ( | CS::Collisions::iCollider * | collider = nullptr |
) | [pure virtual] |
Create a iCollisionObjectFactory of type CS::Collisions::COLLISION_OBJECT_GHOST.
| virtual void CS::Collisions::iCollisionSystem::DeleteAll | ( | ) | [pure virtual] |
Reset the entire system and delete all sectors and collision groups.
| virtual void CS::Collisions::iCollisionSystem::DeleteCollisionSector | ( | iCollisionSector * | sector | ) | [pure virtual] |
Delete the given collision sector.
| virtual void CS::Collisions::iCollisionSystem::DeleteCollisionSectors | ( | ) | [pure virtual] |
Delete all collision sectors.
| virtual iCollisionGroup* CS::Collisions::iCollisionSystem::FindCollisionGroup | ( | const char * | name | ) | const [pure virtual] |
Find the collision group of the given name, or return nullptr if it has not been found.
| virtual iCollisionSector* CS::Collisions::iCollisionSystem::FindCollisionSector | ( | const char * | name | ) | [pure virtual] |
Find a collision sector by name.
| virtual iCollisionSector* CS::Collisions::iCollisionSystem::FindCollisionSector | ( | const iSector * | sceneSector | ) | [pure virtual] |
Find a collision sector by its associated iSector, or nullptr if it has not been found.
| virtual iCollisionGroup* CS::Collisions::iCollisionSystem::GetCollisionGroup | ( | size_t | index | ) | const [pure virtual] |
Get a collision group by its index.
| virtual size_t CS::Collisions::iCollisionSystem::GetCollisionGroupCount | ( | ) | const [pure virtual] |
Get the count of collision groups in this system.
| virtual iCollisionSector* CS::Collisions::iCollisionSystem::GetCollisionSector | ( | size_t | index | ) | [pure virtual] |
Get a collision sector by index.
| virtual size_t CS::Collisions::iCollisionSystem::GetCollisionSectorCount | ( | ) | const [pure virtual] |
Return the amount of sectors in this system.
| virtual float CS::Collisions::iCollisionSystem::GetSimulationSpeed | ( | ) | const [pure virtual] |
Get the speed of the simulation, that is the time ratio that is applied when updating the motion of the objects.
| virtual CS::Physics::iPhysicalSystem* CS::Collisions::iCollisionSystem::QueryPhysicalSystem | ( | ) | [pure virtual] |
Return the physical system pointer if this interface is also implemented by the system, or nullptr otherwise.
| virtual void CS::Collisions::iCollisionSystem::SetSimulationSpeed | ( | float | speed | ) | [pure virtual] |
Set the speed of the simulation, that is the time ratio that is applied when updating the motion of the objects.
The default value is 1.0f.
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
