|
Bullet Collision Detection & Physics Library
|
#include <btSoftBodySolver_DX11SIMDAware.h>


Classes | |
| struct | SolvePositionsFromLinksKernelCB |
Public Member Functions | |
| btDX11SIMDAwareSoftBodySolver (ID3D11Device *dx11Device, ID3D11DeviceContext *dx11Context, DXFunctions::CompileFromMemoryFunc dx11CompileFromMemory=&D3DX11CompileFromMemory) | |
| virtual | ~btDX11SIMDAwareSoftBodySolver () |
| virtual btSoftBodyLinkData & | getLinkData () |
| virtual void | optimize (btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false) |
| Optimize soft bodies in this solver. More... | |
| virtual void | solveConstraints (float solverdt) |
| Solve constraints for a set of soft bodies. More... | |
| virtual SolverTypes | getSolverType () const |
| Return the type of the solver. More... | |
Public Member Functions inherited from btDX11SoftBodySolver | |
| btDX11SoftBodySolver (ID3D11Device *dx11Device, ID3D11DeviceContext *dx11Context, DXFunctions::CompileFromMemoryFunc dx11CompileFromMemory=&D3DX11CompileFromMemory) | |
| virtual | ~btDX11SoftBodySolver () |
| void | setEnableUpdateBounds (bool enableBounds) |
| bool | getEnableUpdateBounds () const |
| virtual btSoftBodyVertexData & | getVertexData () |
| virtual btSoftBodyTriangleData & | getTriangleData () |
| btAcceleratedSoftBodyInterface * | findSoftBodyInterface (const btSoftBody *const softBody) |
| const btAcceleratedSoftBodyInterface *const | findSoftBodyInterface (const btSoftBody *const softBody) const |
| 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 | copyBackToSoftBodies (bool bMove=true) |
| Copy necessary data back to the original soft body source objects. 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... | |
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... | |
Protected Member Functions | |
| virtual bool | buildShaders () |
| void | updateConstants (float timeStep) |
| void | solveLinksForPosition (int startLink, int numLinks, float kst, float ti) |
Protected Member Functions inherited from btDX11SoftBodySolver | |
| virtual void | integrate (float solverdt) |
| Integrate motion on the solver. More... | |
| float | computeTriangleArea (const Vectormath::Aos::Point3 &vertex0, const Vectormath::Aos::Point3 &vertex1, const Vectormath::Aos::Point3 &vertex2) |
| 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) |
| virtual void | applyForces (float solverdt) |
| int | findSoftBodyIndex (const btSoftBody *const softBody) |
| virtual void | prepareLinks () |
| void | updatePositionsFromVelocities (float solverdt) |
| void | solveLinksForPosition (int startLink, int numLinks, float kst, float ti) |
| void | solveLinksForVelocity (int startLink, int numLinks, float kst) |
| void | updateVelocitiesFromPositionsWithVelocities (float isolverdt) |
| void | updateVelocitiesFromPositionsWithoutVelocities (float isolverdt) |
| void | computeBounds () |
| void | solveCollisionsAndUpdateVelocities (float isolverdt) |
| void | updateBounds () |
| void | releaseKernels () |
Additional Inherited Members | |
Public Types inherited from btSoftBodySolver | |
| enum | SolverTypes { DEFAULT_SOLVER, CPU_SOLVER, CL_SOLVER, CL_SIMD_SOLVER, DX_SOLVER, DX_SIMD_SOLVER } |
Public Attributes inherited from btDX11SoftBodySolver | |
| btSoftBodyLinkDataDX11 | m_linkData |
| Link data for all cloths. More... | |
| btSoftBodyVertexDataDX11 | m_vertexData |
| btSoftBodyTriangleDataDX11 | m_triangleData |
Definition at line 27 of file btSoftBodySolver_DX11SIMDAware.h.
| btDX11SIMDAwareSoftBodySolver::btDX11SIMDAwareSoftBodySolver | ( | ID3D11Device * | dx11Device, |
| ID3D11DeviceContext * | dx11Context, | ||
| DXFunctions::CompileFromMemoryFunc | dx11CompileFromMemory = &D3DX11CompileFromMemory |
||
| ) |
Definition at line 176 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
virtual |
Definition at line 188 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
protectedvirtual |
Reimplemented from btDX11SoftBodySolver.
Definition at line 485 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
virtual |
Reimplemented from btDX11SoftBodySolver.
Definition at line 194 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
inlinevirtual |
Return the type of the solver.
Reimplemented from btDX11SoftBodySolver.
Definition at line 73 of file btSoftBodySolver_DX11SIMDAware.h.
|
virtual |
Optimize soft bodies in this solver.
Reimplemented from btDX11SoftBodySolver.
Definition at line 202 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
virtual |
Solve constraints for a set of soft bodies.
Reimplemented from btDX11SoftBodySolver.
Definition at line 329 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
protected |
Definition at line 415 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
protectedvirtual |
Reimplemented from btDX11SoftBodySolver.
Definition at line 383 of file btSoftBodySolver_DX11SIMDAware.cpp.
|
protected |
Link data for all cloths.
Note that this will be sorted batch-wise for efficient computation and m_linkAddresses will maintain the addressing.
Definition at line 40 of file btSoftBodySolver_DX11SIMDAware.h.
|
protected |
Variable to define whether we need to update solver constants on the next iteration.
Definition at line 43 of file btSoftBodySolver_DX11SIMDAware.h.
1.8.6