Bullet Collision Detection & Physics Library
Public Types | Public Member Functions | Protected Attributes | List of all members
btSoftBodySolver Class Referenceabstract

#include <btSoftBodySolvers.h>

Inheritance diagram for btSoftBodySolver:
Inheritance graph
[legend]

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
 Return the type of the solver. More...
 
virtual bool checkInitialized ()=0
 Ensure that this solver is initialized. More...
 
virtual void optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)=0
 Optimize soft bodies in this solver. More...
 
virtual void copyBackToSoftBodies (bool bMove=true)=0
 Copy necessary data back to the original soft body source objects. More...
 
virtual void predictMotion (float solverdt)=0
 Predict motion of soft bodies into next timestep. More...
 
virtual void solveConstraints (float solverdt)=0
 Solve constraints for a set of soft bodies. More...
 
virtual void updateSoftBodies ()=0
 Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes. More...
 
virtual void processCollision (btSoftBody *, const struct btCollisionObjectWrapper *)=0
 Process a collision between one of the world's soft bodies and another collision object. More...
 
virtual void processCollision (btSoftBody *, btSoftBody *)=0
 Process a collision between two soft bodies. More...
 
virtual void setNumberOfPositionIterations (int iterations)
 Set the number of velocity constraint solver iterations this solver uses. More...
 
virtual int getNumberOfPositionIterations ()
 Get the number of velocity constraint solver iterations this solver uses. More...
 
virtual void setNumberOfVelocityIterations (int iterations)
 Set the number of velocity constraint solver iterations this solver uses. More...
 
virtual int getNumberOfVelocityIterations ()
 Get the number of velocity constraint solver iterations this solver uses. More...
 
float getTimeScale ()
 Return the timescale that the simulation is using. More...
 

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

Definition at line 51 of file btSoftBodySolvers.h.

virtual btSoftBodySolver::~btSoftBodySolver ( )
inlinevirtual

Definition at line 59 of file btSoftBodySolvers.h.

Member Function Documentation

virtual bool btSoftBodySolver::checkInitialized ( )
pure virtual

Ensure that this solver is initialized.

Implemented in btDX11SoftBodySolver, btOpenCLSoftBodySolver, and btDefaultSoftBodySolver.

virtual void btSoftBodySolver::copyBackToSoftBodies ( bool  bMove = true)
pure virtual

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

Implemented in btDX11SoftBodySolver, btOpenCLSoftBodySolver, and btDefaultSoftBodySolver.

virtual int btSoftBodySolver::getNumberOfPositionIterations ( )
inlinevirtual

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

Definition at line 100 of file btSoftBodySolvers.h.

virtual int btSoftBodySolver::getNumberOfVelocityIterations ( )
inlinevirtual

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

Definition at line 112 of file btSoftBodySolvers.h.

virtual SolverTypes btSoftBodySolver::getSolverType ( ) const
pure virtual
float btSoftBodySolver::getTimeScale ( )
inline

Return the timescale that the simulation is using.

Definition at line 118 of file btSoftBodySolvers.h.

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

Predict motion of soft bodies into next timestep.

Implemented in btDX11SoftBodySolver, btOpenCLSoftBodySolver, and btDefaultSoftBodySolver.

virtual void btSoftBodySolver::processCollision ( btSoftBody ,
const struct btCollisionObjectWrapper  
)
pure virtual

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

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

Process a collision between two soft bodies.

Implemented in btDX11SoftBodySolver, btOpenCLSoftBodySolver, and btDefaultSoftBodySolver.

virtual void btSoftBodySolver::setNumberOfPositionIterations ( int  iterations)
inlinevirtual

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

Definition at line 94 of file btSoftBodySolvers.h.

virtual void btSoftBodySolver::setNumberOfVelocityIterations ( int  iterations)
inlinevirtual

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

Definition at line 106 of file btSoftBodySolvers.h.

virtual void btSoftBodySolver::solveConstraints ( float  solverdt)
pure virtual
virtual void btSoftBodySolver::updateSoftBodies ( )
pure virtual

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

Implemented in btDX11SoftBodySolver, btOpenCLSoftBodySolver, and btDefaultSoftBodySolver.

Member Data Documentation

int btSoftBodySolver::m_numberOfPositionIterations
protected

Definition at line 45 of file btSoftBodySolvers.h.

int btSoftBodySolver::m_numberOfVelocityIterations
protected

Definition at line 46 of file btSoftBodySolvers.h.

float btSoftBodySolver::m_timeScale
protected

Definition at line 48 of file btSoftBodySolvers.h.


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