CS::Physics::iPhysicalSystem Struct Reference
This is the interface for the actual plugin. More...
#include <ivaria/physics.h>
Inheritance diagram for CS::Physics::iPhysicalSystem:

Public Member Functions | |
| virtual csRef< iSoftBody > | CreateCloth (csVector3 corner1, csVector3 corner2, csVector3 corner3, csVector3 corner4, size_t segmentCount1, size_t segmentCount2, bool withDiagonals=false)=0 |
| Create a soft body cloth. | |
| virtual csRef< iJoint > | CreateJoint ()=0 |
| Create a general 6DOF joint. | |
| virtual csRef< iRigidBody > | CreateRigidBody ()=0 |
| Create a rigid body, if there's an iCollisionObject pointer, Need to call iCollisionObject::RebuildObject. | |
| virtual csRef< iSoftBody > | CreateRope (csVector3 *vertices, size_t vertexCount)=0 |
| Create a soft body rope with explicit positions of the vertices. | |
| virtual csRef< iSoftBody > | CreateRope (csVector3 start, csVector3 end, size_t segmentCount)=0 |
| Create a soft body rope. | |
| virtual csRef< iSoftBody > | CreateSoftBody (csVector3 *vertices, size_t vertexCount, csTriangle *triangles, size_t triangleCount, const csOrthoTransform &bodyTransform)=0 |
| Create a custom volumetric soft body. | |
| virtual csRef< iSoftBody > | CreateSoftBody (iGeneralFactoryState *genmeshFactory, const csOrthoTransform &bodyTransform)=0 |
| Create a volumetric soft body from a genmesh. | |
Detailed Description
This is the interface for the actual plugin.
It is responsible for creating iPhysicalSector.
Main creators of instances implementing this interface:
- Bullet plugin (crystalspace.physics.bullet2)
Main ways to get pointers to this interface:
Main users of this interface:
- Dynamics loader plugin (crystalspace.dynamics.loader)
- See also:
- CS::Collisions::iCollisionSystem
Definition at line 712 of file physics.h.
Member Function Documentation
| virtual csRef<iSoftBody> CS::Physics::iPhysicalSystem::CreateCloth | ( | csVector3 | corner1, | |
| csVector3 | corner2, | |||
| csVector3 | corner3, | |||
| csVector3 | corner4, | |||
| size_t | segmentCount1, | |||
| size_t | segmentCount2, | |||
| bool | withDiagonals = false | |||
| ) | [pure virtual] |
Create a soft body cloth.
- Parameters:
-
corner1 The position of the top left corner. corner2 The position of the top right corner. corner3 The position of the bottom left corner. corner4 The position of the bottom right corner. segmentCount1 Number of horizontal segments in the cloth. segmentCount2 Number of vertical segments in the cloth. withDiagonals Whether there must be diagonal segments in the cloth or not. Diagonal segments will make the cloth more rigid.
- Remarks:
- You must call SetSoftBodyWorld() prior to this.
Create a general 6DOF joint.
| virtual csRef<iRigidBody> CS::Physics::iPhysicalSystem::CreateRigidBody | ( | ) | [pure virtual] |
Create a rigid body, if there's an iCollisionObject pointer, Need to call iCollisionObject::RebuildObject.
| virtual csRef<iSoftBody> CS::Physics::iPhysicalSystem::CreateRope | ( | csVector3 * | vertices, | |
| size_t | vertexCount | |||
| ) | [pure virtual] |
Create a soft body rope with explicit positions of the vertices.
- Parameters:
-
vertices The array of positions to use for the vertices. vertexCount The amount of vertices for the rope.
- Remarks:
- You must call SetSoftBodyWorld() prior to this.
| virtual csRef<iSoftBody> CS::Physics::iPhysicalSystem::CreateRope | ( | csVector3 | start, | |
| csVector3 | end, | |||
| size_t | segmentCount | |||
| ) | [pure virtual] |
Create a soft body rope.
- Parameters:
-
start Start position of the rope. end End position of the rope. segmentCount Number of segments in the rope.
- Remarks:
- You must call SetSoftBodyWorld() prior to this.
| virtual csRef<iSoftBody> CS::Physics::iPhysicalSystem::CreateSoftBody | ( | csVector3 * | vertices, | |
| size_t | vertexCount, | |||
| csTriangle * | triangles, | |||
| size_t | triangleCount, | |||
| const csOrthoTransform & | bodyTransform | |||
| ) | [pure virtual] |
Create a custom volumetric soft body.
- Parameters:
-
vertices The vertices of the soft body. The position is absolute. vertexCount The count of vertices of the soft body. triangles The faces of the soft body. triangleCount The count of faces of the soft body. bodyTransform the transform of the soft body. if there's an iCollisionObject pointer, attach the iCollisionObject to it.
- Remarks:
- You must call SetSoftBodyWorld() prior to this.
| virtual csRef<iSoftBody> CS::Physics::iPhysicalSystem::CreateSoftBody | ( | iGeneralFactoryState * | genmeshFactory, | |
| const csOrthoTransform & | bodyTransform | |||
| ) | [pure virtual] |
Create a volumetric soft body from a genmesh.
- Parameters:
-
genmeshFactory The genmesh factory to use. bodyTransform the transform of this body.
- Remarks:
- You must call SetSoftBodyWorld() prior to this.
The documentation for this struct was generated from the following file:
- ivaria/physics.h
Generated for Crystal Space 2.1 by doxygen 1.6.1
