Bullet Collision Detection & Physics Library
btReducedDeformableBodySolver.h
Go to the documentation of this file.
1 #ifndef BT_REDUCED_DEFORMABLE_BODY_DYNAMICS_WORLD_H
2 #define BT_REDUCED_DEFORMABLE_BODY_DYNAMICS_WORLD_H
3 
6 
8 
10 {
11  protected:
15 
17 
19 
20  void applyExplicitForce(btScalar solverdt);
21 
22  public:
26 
29 
30  virtual void setGravity(const btVector3& gravity);
31 
32  virtual SolverTypes getSolverType() const
33  {
35  }
36 
37  // resize/clear data structures
38  virtual void reinitialize(const btAlignedObjectArray<btSoftBody*>& bodies, btScalar dt);
39 
40  virtual void predictMotion(btScalar solverdt);
41 
42  virtual void applyTransforms(btScalar timeStep);
43 
44  // set up contact constraints
45  virtual void setConstraints(const btContactSolverInfo& infoGlobal);
46 
47  // solve all constraints (fixed and contact)
48  virtual btScalar solveContactConstraints(btCollisionObject** deformableBodies, int numDeformableBodies, const btContactSolverInfo& infoGlobal);
49 
50  // apply all the delta velocities
51  virtual void deformableBodyInternalWriteBack();
52 
53  // virtual void setProjection() {}
54 
55  // virtual void setLagrangeMultiplier() {}
56 
57  // virtual void setupDeformableSolve(bool implicit);
58 
59 };
60 
61 #endif // BT_REDUCED_DEFORMABLE_BODY_DYNAMICS_WORLD_H
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
Definition: btScalar.h:314
The btAlignedObjectArray template class uses a subset of the stl::vector interface for its methods It...
btCollisionObject can be used to manage collision detection objects.
virtual void predictMotion(btScalar solverdt)
Predict motion of soft bodies into next timestep.
virtual btScalar solveContactConstraints(btCollisionObject **deformableBodies, int numDeformableBodies, const btContactSolverInfo &infoGlobal)
virtual void setConstraints(const btContactSolverInfo &infoGlobal)
virtual void setGravity(const btVector3 &gravity)
virtual SolverTypes getSolverType() const
Return the type of the solver.
btAlignedObjectArray< btAlignedObjectArray< btReducedDeformableNodeRigidContactConstraint > > m_nodeRigidConstraints
virtual void reinitialize(const btAlignedObjectArray< btSoftBody * > &bodies, btScalar dt)
btAlignedObjectArray< btAlignedObjectArray< btReducedDeformableStaticConstraint > > m_staticConstraints
virtual void applyTransforms(btScalar timeStep)
void predictReduceDeformableMotion(btScalar solverdt)
btAlignedObjectArray< btAlignedObjectArray< btReducedDeformableFaceRigidContactConstraint > > m_faceRigidConstraints
btVector3 can be used to represent 3D points and vectors.
Definition: btVector3.h:82