Blender  V3.3
Public Types | Public Member Functions | Protected Attributes | List of all members
btSoftBodySolver Class Referenceabstract

#include <btSoftBodySolvers.h>

Inheritance diagram for btSoftBodySolver:
btDefaultSoftBodySolver btDeformableBodySolver

Public Types

enum  SolverTypes {
  DEFAULT_SOLVER , CPU_SOLVER , CL_SOLVER , CL_SIMD_SOLVER ,
  DX_SOLVER , DX_SIMD_SOLVER , DEFORMABLE_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 (bool bMove=true)=0
 
virtual void predictMotion (btScalar solverdt)=0
 
virtual void solveConstraints (btScalar solverdt)=0
 
virtual void updateSoftBodies ()=0
 
virtual void processCollision (btSoftBody *, const struct btCollisionObjectWrapper *)=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 28 of file btSoftBodySolvers.h.

Member Enumeration Documentation

◆ SolverTypes

Enumerator
DEFAULT_SOLVER 
CPU_SOLVER 
CL_SOLVER 
CL_SIMD_SOLVER 
DX_SOLVER 
DX_SIMD_SOLVER 
DEFORMABLE_SOLVER 

Definition at line 31 of file btSoftBodySolvers.h.

Constructor & Destructor Documentation

◆ btSoftBodySolver()

btSoftBodySolver::btSoftBodySolver ( )
inline

◆ ~btSoftBodySolver()

virtual btSoftBodySolver::~btSoftBodySolver ( )
inlinevirtual

Member Function Documentation

◆ checkInitialized()

virtual bool btSoftBodySolver::checkInitialized ( )
pure virtual

◆ copyBackToSoftBodies()

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

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

Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.

◆ getNumberOfPositionIterations()

virtual int btSoftBodySolver::getNumberOfPositionIterations ( )
inlinevirtual

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

Definition at line 96 of file btSoftBodySolvers.h.

References m_numberOfPositionIterations.

◆ getNumberOfVelocityIterations()

virtual int btSoftBodySolver::getNumberOfVelocityIterations ( )
inlinevirtual

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

Definition at line 108 of file btSoftBodySolvers.h.

References m_numberOfVelocityIterations.

◆ getSolverType()

virtual SolverTypes btSoftBodySolver::getSolverType ( ) const
pure virtual

Return the type of the solver.

Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.

◆ getTimeScale()

float btSoftBodySolver::getTimeScale ( )
inline

Return the timescale that the simulation is using

Definition at line 114 of file btSoftBodySolvers.h.

References m_timeScale.

Referenced by btSoftMultiBodyDynamicsWorld::solveSoftBodiesConstraints(), and btSoftRigidDynamicsWorld::solveSoftBodiesConstraints().

◆ optimize()

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

◆ predictMotion()

virtual void btSoftBodySolver::predictMotion ( btScalar  solverdt)
pure virtual

◆ processCollision() [1/2]

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

Process a collision between two soft bodies

Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.

◆ processCollision() [2/2]

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

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

◆ setNumberOfPositionIterations()

virtual void btSoftBodySolver::setNumberOfPositionIterations ( int  iterations)
inlinevirtual

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

Definition at line 90 of file btSoftBodySolvers.h.

References m_numberOfPositionIterations.

◆ setNumberOfVelocityIterations()

virtual void btSoftBodySolver::setNumberOfVelocityIterations ( int  iterations)
inlinevirtual

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

Definition at line 102 of file btSoftBodySolvers.h.

References m_numberOfVelocityIterations.

◆ solveConstraints()

virtual void btSoftBodySolver::solveConstraints ( btScalar  solverdt)
pure virtual

◆ updateSoftBodies()

virtual void btSoftBodySolver::updateSoftBodies ( )
pure virtual

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

Implemented in btDeformableBodySolver, and btDefaultSoftBodySolver.

Referenced by btSoftMultiBodyDynamicsWorld::internalSingleStepSimulation(), and btSoftRigidDynamicsWorld::internalSingleStepSimulation().

Member Data Documentation

◆ m_numberOfPositionIterations

int btSoftBodySolver::m_numberOfPositionIterations
protected

◆ m_numberOfVelocityIterations

int btSoftBodySolver::m_numberOfVelocityIterations
protected

◆ m_timeScale

float btSoftBodySolver::m_timeScale
protected

Definition at line 46 of file btSoftBodySolvers.h.

Referenced by getTimeScale().


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