Bullet Collision Detection & Physics Library
Classes | Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
btOpenCLSoftBodySolver Class Reference

#include <btSoftBodySolver_OpenCL.h>

Inheritance diagram for btOpenCLSoftBodySolver:
Inheritance graph
[legend]
Collaboration diagram for btOpenCLSoftBodySolver:
Collaboration graph
[legend]

Classes

struct  AnchorNodeInfoCL
 
struct  CollisionObjectIndices
 
struct  UIntVector3
 

Public Member Functions

 btOpenCLSoftBodySolver (cl_command_queue queue, cl_context ctx, bool bUpdateAchchoredNodePos=false)
 
virtual ~btOpenCLSoftBodySolver ()
 
btOpenCLAcceleratedSoftBodyInterfacefindSoftBodyInterface (const btSoftBody *const softBody)
 
virtual btSoftBodyLinkDatagetLinkData ()
 
virtual btSoftBodyVertexDatagetVertexData ()
 
virtual btSoftBodyTriangleDatagetTriangleData ()
 
virtual SolverTypes getSolverType () const
 Return the type of the solver. More...
 
virtual bool checkInitialized ()
 Ensure that this solver is initialized. More...
 
virtual void updateSoftBodies ()
 Perform necessary per-step updates of soft bodies such as recomputing normals and bounding boxes. More...
 
virtual void optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)
 Optimize soft bodies in this solver. More...
 
virtual void copyBackToSoftBodies (bool bMove=true)
 Copy necessary data back to the original soft body source objects. More...
 
virtual void solveConstraints (float solverdt)
 Solve constraints for a set of soft bodies. More...
 
virtual void predictMotion (float solverdt)
 Predict motion of soft bodies into next timestep. More...
 
virtual void processCollision (btSoftBody *, const btCollisionObjectWrapper *)
 
virtual void processCollision (btSoftBody *, btSoftBody *)
 Process a collision between two soft bodies. More...
 
virtual void setDefaultWorkgroupSize (size_t workGroupSize)
 
virtual size_t getDefaultWorkGroupSize () const
 
void setCLFunctions (CLFunctions *funcs)
 
- Public Member Functions inherited from btSoftBodySolver
 btSoftBodySolver ()
 
virtual ~btSoftBodySolver ()
 
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 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...
 

Public Attributes

btSoftBodyLinkDataOpenCL m_linkData
 
btSoftBodyVertexDataOpenCL m_vertexData
 
btSoftBodyTriangleDataOpenCL m_triangleData
 

Protected Member Functions

virtual bool buildShaders ()
 
void resetNormalsAndAreas (int numVertices)
 
void normalizeNormalsAndAreas (int numVertices)
 
void executeUpdateSoftBodies (int firstTriangle, int numTriangles)
 
void prepareCollisionConstraints ()
 Sort the collision object details array and generate indexing into it for the per-cloth collision object array. More...
 
Vectormath::Aos::Vector3 ProjectOnAxis (const Vectormath::Aos::Vector3 &v, const Vectormath::Aos::Vector3 &a)
 
void ApplyClampedForce (float solverdt, const Vectormath::Aos::Vector3 &force, const Vectormath::Aos::Vector3 &vertexVelocity, float inverseMass, Vectormath::Aos::Vector3 &vertexForce)
 
int findSoftBodyIndex (const btSoftBody *const softBody)
 
virtual void applyForces (float solverdt)
 
void updateFixedVertexPositions ()
 
virtual void integrate (float solverdt)
 Integrate motion on the solver. More...
 
virtual void updateConstants (float timeStep)
 
float computeTriangleArea (const Vectormath::Aos::Point3 &vertex0, const Vectormath::Aos::Point3 &vertex1, const Vectormath::Aos::Point3 &vertex2)
 
void prepareLinks ()
 
void solveLinksForVelocity (int startLink, int numLinks, float kst)
 
void updatePositionsFromVelocities (float solverdt)
 
virtual void solveLinksForPosition (int startLink, int numLinks, float kst, float ti)
 
void updateVelocitiesFromPositionsWithVelocities (float isolverdt)
 
void updateVelocitiesFromPositionsWithoutVelocities (float isolverdt)
 
virtual void solveCollisionsAndUpdateVelocities (float isolverdt)
 
void updateBounds ()
 
void releaseKernels ()
 

Protected Attributes

CLFunctions m_defaultCLFunctions
 
CLFunctionsm_currentCLFunctions
 
bool m_updateSolverConstants
 Variable to define whether we need to update solver constants on the next iteration. More...
 
bool m_shadersInitialized
 
btAlignedObjectArray
< btOpenCLAcceleratedSoftBodyInterface * > 
m_softBodySet
 Cloths owned by this solver. More...
 
btAlignedObjectArray
< Vectormath::Aos::Vector3
m_perClothAcceleration
 Acceleration value to be applied to all non-static vertices in the solver. More...
 
btOpenCLBuffer
< Vectormath::Aos::Vector3
m_clPerClothAcceleration
 
btAlignedObjectArray
< Vectormath::Aos::Vector3
m_perClothWindVelocity
 Wind velocity to be applied normal to all non-static vertices in the solver. More...
 
btOpenCLBuffer
< Vectormath::Aos::Vector3
m_clPerClothWindVelocity
 
btAlignedObjectArray< float > m_perClothDampingFactor
 Velocity damping factor. More...
 
btOpenCLBuffer< float > m_clPerClothDampingFactor
 
btAlignedObjectArray< float > m_perClothVelocityCorrectionCoefficient
 Velocity correction coefficient. More...
 
btOpenCLBuffer< float > m_clPerClothVelocityCorrectionCoefficient
 
btAlignedObjectArray< float > m_perClothLiftFactor
 Lift parameter for wind effect on cloth. More...
 
btOpenCLBuffer< float > m_clPerClothLiftFactor
 
btAlignedObjectArray< float > m_perClothDragFactor
 Drag parameter for wind effect on cloth. More...
 
btOpenCLBuffer< float > m_clPerClothDragFactor
 
btAlignedObjectArray< float > m_perClothMediumDensity
 Density of the medium in which each cloth sits. More...
 
btOpenCLBuffer< float > m_clPerClothMediumDensity
 
btAlignedObjectArray
< CollisionObjectIndices
m_perClothCollisionObjects
 Collision shape details: pair of index of first collision shape for the cloth and number of collision objects. More...
 
btOpenCLBuffer
< CollisionObjectIndices
m_clPerClothCollisionObjects
 
btAlignedObjectArray
< CollisionShapeDescription
m_collisionObjectDetails
 Collision shapes being passed across to the cloths in this solver. More...
 
btOpenCLBuffer
< CollisionShapeDescription
m_clCollisionObjectDetails
 
btAlignedObjectArray< float > m_perClothFriction
 Friction coefficient for each cloth. More...
 
btOpenCLBuffer< float > m_clPerClothFriction
 
btAlignedObjectArray
< AnchorNodeInfoCL
m_anchorNodeInfoArray
 
btAlignedObjectArray
< Vectormath::Aos::Point3
m_anchorPosition
 
btOpenCLBuffer
< Vectormath::Aos::Point3
m_clAnchorPosition
 
btAlignedObjectArray< int > m_anchorIndex
 
btOpenCLBuffer< int > m_clAnchorIndex
 
bool m_bUpdateAnchoredNodePos
 
cl_kernel m_prepareLinksKernel
 
cl_kernel m_solvePositionsFromLinksKernel
 
cl_kernel m_updateConstantsKernel
 
cl_kernel m_integrateKernel
 
cl_kernel m_addVelocityKernel
 
cl_kernel m_updatePositionsFromVelocitiesKernel
 
cl_kernel m_updateVelocitiesFromPositionsWithoutVelocitiesKernel
 
cl_kernel m_updateVelocitiesFromPositionsWithVelocitiesKernel
 
cl_kernel m_vSolveLinksKernel
 
cl_kernel m_solveCollisionsAndUpdateVelocitiesKernel
 
cl_kernel m_resetNormalsAndAreasKernel
 
cl_kernel m_normalizeNormalsAndAreasKernel
 
cl_kernel m_updateSoftBodiesKernel
 
cl_kernel m_outputToVertexArrayKernel
 
cl_kernel m_applyForcesKernel
 
cl_kernel m_updateFixedVertexPositionsKernel
 
cl_command_queue m_cqCommandQue
 
cl_context m_cxMainContext
 
size_t m_defaultWorkGroupSize
 
- Protected Attributes inherited from btSoftBodySolver
int m_numberOfPositionIterations
 
int m_numberOfVelocityIterations
 
float m_timeScale
 

Additional Inherited Members

- Public Types inherited from btSoftBodySolver
enum  SolverTypes {
  DEFAULT_SOLVER,
  CPU_SOLVER,
  CL_SOLVER,
  CL_SIMD_SOLVER,
  DX_SOLVER,
  DX_SIMD_SOLVER
}
 

Detailed Description

Definition at line 243 of file btSoftBodySolver_OpenCL.h.

Constructor & Destructor Documentation

btOpenCLSoftBodySolver::btOpenCLSoftBodySolver ( cl_command_queue  queue,
cl_context  ctx,
bool  bUpdateAchchoredNodePos = false 
)

Definition at line 603 of file btSoftBodySolver_OpenCL.cpp.

btOpenCLSoftBodySolver::~btOpenCLSoftBodySolver ( )
virtual

Definition at line 652 of file btSoftBodySolver_OpenCL.cpp.

Member Function Documentation

void btOpenCLSoftBodySolver::ApplyClampedForce ( float  solverdt,
const Vectormath::Aos::Vector3 force,
const Vectormath::Aos::Vector3 vertexVelocity,
float  inverseMass,
Vectormath::Aos::Vector3 vertexForce 
)
protected

Definition at line 1013 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::applyForces ( float  solverdt)
protectedvirtual

Definition at line 1050 of file btSoftBodySolver_OpenCL.cpp.

bool btOpenCLSoftBodySolver::buildShaders ( )
protectedvirtual

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 1786 of file btSoftBodySolver_OpenCL.cpp.

bool btOpenCLSoftBodySolver::checkInitialized ( )
virtual

Ensure that this solver is initialized.

Implements btSoftBodySolver.

Definition at line 1777 of file btSoftBodySolver_OpenCL.cpp.

float btOpenCLSoftBodySolver::computeTriangleArea ( const Vectormath::Aos::Point3 vertex0,
const Vectormath::Aos::Point3 vertex1,
const Vectormath::Aos::Point3 vertex2 
)
protected

Definition at line 1120 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::copyBackToSoftBodies ( bool  bMove = true)
virtual

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

Implements btSoftBodySolver.

Definition at line 678 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::executeUpdateSoftBodies ( int  firstTriangle,
int  numTriangles 
)
protected

Definition at line 957 of file btSoftBodySolver_OpenCL.cpp.

int btOpenCLSoftBodySolver::findSoftBodyIndex ( const btSoftBody *const  softBody)
protected

Definition at line 1766 of file btSoftBodySolver_OpenCL.cpp.

btOpenCLAcceleratedSoftBodyInterface * btOpenCLSoftBodySolver::findSoftBodyInterface ( const btSoftBody *const  softBody)

Definition at line 1754 of file btSoftBodySolver_OpenCL.cpp.

virtual size_t btOpenCLSoftBodySolver::getDefaultWorkGroupSize ( ) const
inlinevirtual

Definition at line 492 of file btSoftBodySolver_OpenCL.h.

btSoftBodyLinkData & btOpenCLSoftBodySolver::getLinkData ( )
virtual

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 899 of file btSoftBodySolver_OpenCL.cpp.

virtual SolverTypes btOpenCLSoftBodySolver::getSolverType ( ) const
inlinevirtual

Return the type of the solver.

Implements btSoftBodySolver.

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 466 of file btSoftBodySolver_OpenCL.h.

btSoftBodyTriangleData & btOpenCLSoftBodySolver::getTriangleData ( )
virtual

Definition at line 911 of file btSoftBodySolver_OpenCL.cpp.

btSoftBodyVertexData & btOpenCLSoftBodySolver::getVertexData ( )
virtual

Definition at line 905 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::integrate ( float  solverdt)
protectedvirtual

Integrate motion on the solver.

Definition at line 1093 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::normalizeNormalsAndAreas ( int  numVertices)
protected

Definition at line 937 of file btSoftBodySolver_OpenCL.cpp.

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

Optimize soft bodies in this solver.

Implements btSoftBodySolver.

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 711 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::predictMotion ( float  solverdt)
virtual

Predict motion of soft bodies into next timestep.

Implements btSoftBodySolver.

Definition at line 1638 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::prepareCollisionConstraints ( )
protected

Sort the collision object details array and generate indexing into it for the per-cloth collision object array.

Definition at line 1188 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::prepareLinks ( )
protected

Definition at line 1308 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::processCollision ( btSoftBody softBody,
const btCollisionObjectWrapper collisionObject 
)
virtual

Definition at line 1710 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::processCollision ( btSoftBody ,
btSoftBody  
)
virtual

Process a collision between two soft bodies.

Implements btSoftBodySolver.

Definition at line 1704 of file btSoftBodySolver_OpenCL.cpp.

Vectormath::Aos::Vector3 btOpenCLSoftBodySolver::ProjectOnAxis ( const Vectormath::Aos::Vector3 v,
const Vectormath::Aos::Vector3 a 
)
protected

Definition at line 1008 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::releaseKernels ( )
protected

Definition at line 657 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::resetNormalsAndAreas ( int  numVertices)
protected

Definition at line 917 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::setCLFunctions ( CLFunctions funcs)
inline

Definition at line 497 of file btSoftBodySolver_OpenCL.h.

virtual void btOpenCLSoftBodySolver::setDefaultWorkgroupSize ( size_t  workGroupSize)
inlinevirtual

Definition at line 488 of file btSoftBodySolver_OpenCL.h.

void btOpenCLSoftBodySolver::solveCollisionsAndUpdateVelocities ( float  isolverdt)
protectedvirtual

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 1439 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::solveConstraints ( float  solverdt)
virtual

Solve constraints for a set of soft bodies.

Implements btSoftBodySolver.

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 1234 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::solveLinksForPosition ( int  startLink,
int  numLinks,
float  kst,
float  ti 
)
protectedvirtual

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 1347 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::solveLinksForVelocity ( int  startLink,
int  numLinks,
float  kst 
)
protected

Definition at line 1370 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::updateBounds ( )
protected

Definition at line 1133 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::updateConstants ( float  timeStep)
protectedvirtual

Reimplemented in btOpenCLSoftBodySolverSIMDAware.

Definition at line 1144 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::updateFixedVertexPositions ( )
protected

Definition at line 1024 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::updatePositionsFromVelocities ( float  solverdt)
protected

Definition at line 1328 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::updateSoftBodies ( )
virtual

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

Implements btSoftBodySolver.

Definition at line 978 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::updateVelocitiesFromPositionsWithoutVelocities ( float  isolverdt)
protected

Definition at line 1415 of file btSoftBodySolver_OpenCL.cpp.

void btOpenCLSoftBodySolver::updateVelocitiesFromPositionsWithVelocities ( float  isolverdt)
protected

Definition at line 1391 of file btSoftBodySolver_OpenCL.cpp.

Member Data Documentation

cl_kernel btOpenCLSoftBodySolver::m_addVelocityKernel
protected

Definition at line 375 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray<int> btOpenCLSoftBodySolver::m_anchorIndex
protected

Definition at line 366 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray<AnchorNodeInfoCL> btOpenCLSoftBodySolver::m_anchorNodeInfoArray
protected

Definition at line 363 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray<Vectormath::Aos::Point3> btOpenCLSoftBodySolver::m_anchorPosition
protected

Definition at line 364 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_applyForcesKernel
protected

Definition at line 386 of file btSoftBodySolver_OpenCL.h.

bool btOpenCLSoftBodySolver::m_bUpdateAnchoredNodePos
protected

Definition at line 369 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<int> btOpenCLSoftBodySolver::m_clAnchorIndex
protected

Definition at line 367 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<Vectormath::Aos::Point3> btOpenCLSoftBodySolver::m_clAnchorPosition
protected

Definition at line 365 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer< CollisionShapeDescription > btOpenCLSoftBodySolver::m_clCollisionObjectDetails
protected

Definition at line 346 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<Vectormath::Aos::Vector3> btOpenCLSoftBodySolver::m_clPerClothAcceleration
protected

Definition at line 308 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<CollisionObjectIndices> btOpenCLSoftBodySolver::m_clPerClothCollisionObjects
protected

Definition at line 340 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<float> btOpenCLSoftBodySolver::m_clPerClothDampingFactor
protected

Definition at line 318 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<float> btOpenCLSoftBodySolver::m_clPerClothDragFactor
protected

Definition at line 330 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer< float > btOpenCLSoftBodySolver::m_clPerClothFriction
protected

Definition at line 354 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<float> btOpenCLSoftBodySolver::m_clPerClothLiftFactor
protected

Definition at line 326 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<float> btOpenCLSoftBodySolver::m_clPerClothMediumDensity
protected

Definition at line 334 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<float> btOpenCLSoftBodySolver::m_clPerClothVelocityCorrectionCoefficient
protected

Definition at line 322 of file btSoftBodySolver_OpenCL.h.

btOpenCLBuffer<Vectormath::Aos::Vector3> btOpenCLSoftBodySolver::m_clPerClothWindVelocity
protected

Definition at line 314 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< CollisionShapeDescription > btOpenCLSoftBodySolver::m_collisionObjectDetails
protected

Collision shapes being passed across to the cloths in this solver.

Definition at line 345 of file btSoftBodySolver_OpenCL.h.

cl_command_queue btOpenCLSoftBodySolver::m_cqCommandQue
protected

Definition at line 389 of file btSoftBodySolver_OpenCL.h.

CLFunctions* btOpenCLSoftBodySolver::m_currentCLFunctions
protected

Definition at line 291 of file btSoftBodySolver_OpenCL.h.

cl_context btOpenCLSoftBodySolver::m_cxMainContext
protected

Definition at line 390 of file btSoftBodySolver_OpenCL.h.

CLFunctions btOpenCLSoftBodySolver::m_defaultCLFunctions
protected

Definition at line 290 of file btSoftBodySolver_OpenCL.h.

size_t btOpenCLSoftBodySolver::m_defaultWorkGroupSize
protected

Definition at line 392 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_integrateKernel
protected

Definition at line 374 of file btSoftBodySolver_OpenCL.h.

btSoftBodyLinkDataOpenCL btOpenCLSoftBodySolver::m_linkData

Definition at line 284 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_normalizeNormalsAndAreasKernel
protected

Definition at line 382 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_outputToVertexArrayKernel
protected

Definition at line 385 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< Vectormath::Aos::Vector3 > btOpenCLSoftBodySolver::m_perClothAcceleration
protected

Acceleration value to be applied to all non-static vertices in the solver.

Index n is cloth n, array sized by number of cloths in the world not the solver.

Definition at line 307 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< CollisionObjectIndices > btOpenCLSoftBodySolver::m_perClothCollisionObjects
protected

Collision shape details: pair of index of first collision shape for the cloth and number of collision objects.

Definition at line 339 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< float > btOpenCLSoftBodySolver::m_perClothDampingFactor
protected

Velocity damping factor.

Definition at line 317 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< float > btOpenCLSoftBodySolver::m_perClothDragFactor
protected

Drag parameter for wind effect on cloth.

Definition at line 329 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< float > btOpenCLSoftBodySolver::m_perClothFriction
protected

Friction coefficient for each cloth.

Definition at line 353 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< float > btOpenCLSoftBodySolver::m_perClothLiftFactor
protected

Lift parameter for wind effect on cloth.

Definition at line 325 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< float > btOpenCLSoftBodySolver::m_perClothMediumDensity
protected

Density of the medium in which each cloth sits.

Definition at line 333 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< float > btOpenCLSoftBodySolver::m_perClothVelocityCorrectionCoefficient
protected

Velocity correction coefficient.

Definition at line 321 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< Vectormath::Aos::Vector3 > btOpenCLSoftBodySolver::m_perClothWindVelocity
protected

Wind velocity to be applied normal to all non-static vertices in the solver.

Index n is cloth n, array sized by number of cloths in the world not the solver.

Definition at line 313 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_prepareLinksKernel
protected

Definition at line 371 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_resetNormalsAndAreasKernel
protected

Definition at line 381 of file btSoftBodySolver_OpenCL.h.

bool btOpenCLSoftBodySolver::m_shadersInitialized
protected

Definition at line 296 of file btSoftBodySolver_OpenCL.h.

btAlignedObjectArray< btOpenCLAcceleratedSoftBodyInterface * > btOpenCLSoftBodySolver::m_softBodySet
protected

Cloths owned by this solver.

Only our cloths are in this array.

Definition at line 302 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_solveCollisionsAndUpdateVelocitiesKernel
protected

Definition at line 380 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_solvePositionsFromLinksKernel
protected

Definition at line 372 of file btSoftBodySolver_OpenCL.h.

btSoftBodyTriangleDataOpenCL btOpenCLSoftBodySolver::m_triangleData

Definition at line 286 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_updateConstantsKernel
protected

Definition at line 373 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_updateFixedVertexPositionsKernel
protected

Definition at line 387 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_updatePositionsFromVelocitiesKernel
protected

Definition at line 376 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_updateSoftBodiesKernel
protected

Definition at line 383 of file btSoftBodySolver_OpenCL.h.

bool btOpenCLSoftBodySolver::m_updateSolverConstants
protected

Variable to define whether we need to update solver constants on the next iteration.

Definition at line 294 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_updateVelocitiesFromPositionsWithoutVelocitiesKernel
protected

Definition at line 377 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_updateVelocitiesFromPositionsWithVelocitiesKernel
protected

Definition at line 378 of file btSoftBodySolver_OpenCL.h.

btSoftBodyVertexDataOpenCL btOpenCLSoftBodySolver::m_vertexData

Definition at line 285 of file btSoftBodySolver_OpenCL.h.

cl_kernel btOpenCLSoftBodySolver::m_vSolveLinksKernel
protected

Definition at line 379 of file btSoftBodySolver_OpenCL.h.


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