CrystalSpace

Public API Reference

CS::Physics::iPhysicalSystem Struct Reference

This is the interface for the actual plugin. More...

#include <ivaria/physics.h>

Inheritance diagram for CS::Physics::iPhysicalSystem:

List of all members.

Public Member Functions

virtual csRef< iSoftBodyCreateCloth (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< iJointCreateJoint ()=0
 Create a general 6DOF joint.
virtual csRef< iRigidBodyCreateRigidBody ()=0
 Create a rigid body, if there's an iCollisionObject pointer, Need to call iCollisionObject::RebuildObject.
virtual csRef< iSoftBodyCreateRope (csVector3 *vertices, size_t vertexCount)=0
 Create a soft body rope with explicit positions of the vertices.
virtual csRef< iSoftBodyCreateRope (csVector3 start, csVector3 end, size_t segmentCount)=0
 Create a soft body rope.
virtual csRef< iSoftBodyCreateSoftBody (csVector3 *vertices, size_t vertexCount, csTriangle *triangles, size_t triangleCount, const csOrthoTransform &bodyTransform)=0
 Create a custom volumetric soft body.
virtual csRef< iSoftBodyCreateSoftBody (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:

Main ways to get pointers to this interface:

Main users of this interface:

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.
virtual csRef<iJoint> CS::Physics::iPhysicalSystem::CreateJoint (  )  [pure virtual]

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:

Generated for Crystal Space 2.1 by doxygen 1.6.1