Blender V2.61 - r43446
Public Types | Public Member Functions | Protected Attributes

btSoftBodySolver Class Reference

#include <btSoftBodySolvers.h>

Inheritance diagram for btSoftBodySolver:
Inheritance graph
[legend]

List of all members.

Public Types

enum  SolverTypes {
  DEFAULT_SOLVER, CPU_SOLVER, CL_SOLVER, CL_SIMD_SOLVER,
  DX_SOLVER, DX_SIMD_SOLVER
}

Public Member Functions

 btSoftBodySolver ()
virtual ~btSoftBodySolver ()
virtual SolverTypes getSolverType () const =0
virtual bool checkInitialized ()=0
virtual void optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)=0
virtual void copyBackToSoftBodies ()=0
virtual void predictMotion (float solverdt)=0
virtual void solveConstraints (float solverdt)=0
virtual void updateSoftBodies ()=0
virtual void processCollision (btSoftBody *, btCollisionObject *)=0
virtual void processCollision (btSoftBody *, btSoftBody *)=0
virtual void setNumberOfPositionIterations (int iterations)
virtual int getNumberOfPositionIterations ()
virtual void setNumberOfVelocityIterations (int iterations)
virtual int getNumberOfVelocityIterations ()
float getTimeScale ()

Protected Attributes

int m_numberOfPositionIterations
int m_numberOfVelocityIterations
float m_timeScale

Detailed Description

Definition at line 30 of file btSoftBodySolvers.h.


Member Enumeration Documentation

Enumerator:
DEFAULT_SOLVER 
CPU_SOLVER 
CL_SOLVER 
CL_SIMD_SOLVER 
DX_SOLVER 
DX_SIMD_SOLVER 

Definition at line 33 of file btSoftBodySolvers.h.


Constructor & Destructor Documentation

btSoftBodySolver::btSoftBodySolver ( ) [inline]
virtual btSoftBodySolver::~btSoftBodySolver ( ) [inline, virtual]

Member Function Documentation

virtual bool btSoftBodySolver::checkInitialized ( ) [pure virtual]

Ensure that this solver is initialized.

Implemented in btDefaultSoftBodySolver.

Referenced by btSoftRigidDynamicsWorld::internalSingleStepSimulation().

virtual void btSoftBodySolver::copyBackToSoftBodies ( ) [pure virtual]

Copy necessary data back to the original soft body source objects.

Implemented in btDefaultSoftBodySolver.

virtual int btSoftBodySolver::getNumberOfPositionIterations ( ) [inline, virtual]

Get the number of velocity constraint solver iterations this solver uses.

Definition at line 100 of file btSoftBodySolvers.h.

References m_numberOfPositionIterations.

virtual int btSoftBodySolver::getNumberOfVelocityIterations ( ) [inline, virtual]

Get the number of velocity constraint solver iterations this solver uses.

Definition at line 112 of file btSoftBodySolvers.h.

References m_numberOfVelocityIterations.

virtual SolverTypes btSoftBodySolver::getSolverType ( ) const [pure virtual]

Return the type of the solver.

Implemented in btDefaultSoftBodySolver.

float btSoftBodySolver::getTimeScale ( ) [inline]

Return the timescale that the simulation is using

Definition at line 118 of file btSoftBodySolvers.h.

References m_timeScale.

Referenced by btSoftRigidDynamicsWorld::solveSoftBodiesConstraints().

virtual void btSoftBodySolver::optimize ( btAlignedObjectArray< btSoftBody * > &  softBodies,
bool  forceUpdate = false 
) [pure virtual]

Optimize soft bodies in this solver.

Implemented in btDefaultSoftBodySolver.

Referenced by btSoftRigidDynamicsWorld::internalSingleStepSimulation().

virtual void btSoftBodySolver::predictMotion ( float  solverdt) [pure virtual]

Predict motion of soft bodies into next timestep

Implemented in btDefaultSoftBodySolver.

Referenced by btSoftRigidDynamicsWorld::predictUnconstraintMotion().

virtual void btSoftBodySolver::processCollision ( btSoftBody ,
btCollisionObject *   
) [pure virtual]

Process a collision between one of the world's soft bodies and another collision object

Implemented in btDefaultSoftBodySolver.

Referenced by btSoftRigidCollisionAlgorithm::processCollision(), and btSoftSoftCollisionAlgorithm::processCollision().

virtual void btSoftBodySolver::processCollision ( btSoftBody ,
btSoftBody  
) [pure virtual]

Process a collision between two soft bodies

Implemented in btDefaultSoftBodySolver.

virtual void btSoftBodySolver::setNumberOfPositionIterations ( int  iterations) [inline, virtual]

Set the number of velocity constraint solver iterations this solver uses.

Definition at line 94 of file btSoftBodySolvers.h.

References m_numberOfPositionIterations.

virtual void btSoftBodySolver::setNumberOfVelocityIterations ( int  iterations) [inline, virtual]

Set the number of velocity constraint solver iterations this solver uses.

Definition at line 106 of file btSoftBodySolvers.h.

References m_numberOfVelocityIterations.

virtual void btSoftBodySolver::solveConstraints ( float  solverdt) [pure virtual]

Solve constraints for a set of soft bodies

Implemented in btDefaultSoftBodySolver.

Referenced by btSoftRigidDynamicsWorld::solveSoftBodiesConstraints().

virtual void btSoftBodySolver::updateSoftBodies ( ) [pure virtual]

Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes

Implemented in btDefaultSoftBodySolver.

Referenced by btSoftRigidDynamicsWorld::internalSingleStepSimulation().


Member Data Documentation

float btSoftBodySolver::m_timeScale [protected]

Definition at line 48 of file btSoftBodySolvers.h.

Referenced by getTimeScale().


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