Bullet Collision Detection & Physics Library
DeformableBodyInplaceSolverIslandCallback.h
Go to the documentation of this file.
1//
2// DeformableBodyInplaceSolverIslandCallback.h
3// BulletSoftBody
4//
5// Created by Xuchen Han on 12/16/19.
6//
7
8#ifndef DeformableBodyInplaceSolverIslandCallback_h
9#define DeformableBodyInplaceSolverIslandCallback_h
10
12{
14
16 btDispatcher* dispatcher)
17 : MultiBodyInplaceSolverIslandCallback(solver, dispatcher), m_deformableSolver(solver)
18 {
19 }
20
21 virtual void processConstraints(int islandId = -1)
22 {
23 btCollisionObject** bodies = m_bodies.size() ? &m_bodies[0] : 0;
24 btCollisionObject** softBodies = m_softBodies.size() ? &m_softBodies[0] : 0;
25 btPersistentManifold** manifold = m_manifolds.size() ? &m_manifolds[0] : 0;
26 btTypedConstraint** constraints = m_constraints.size() ? &m_constraints[0] : 0;
28
29 //printf("mb contacts = %d, mb constraints = %d\n", mbContacts, m_multiBodyConstraints.size());
30
33 {
36 }
42 }
43};
44
45#endif /* DeformableBodyInplaceSolverIslandCallback_h */
int size() const
return the number of elements in the array
void resize(int newsize, const T &fillData=T())
void push_back(const T &_Val)
btCollisionObject can be used to manage collision detection objects.
virtual void solveDeformableBodyGroup(btCollisionObject **bodies, int numBodies, btCollisionObject **deformableBodies, int numDeformableBodies, btPersistentManifold **manifold, int numManifolds, btTypedConstraint **constraints, int numConstraints, btMultiBodyConstraint **multiBodyConstraints, int numMultiBodyConstraints, const btContactSolverInfo &info, btIDebugDraw *debugDrawer, btDispatcher *dispatcher)
The btDispatcher interface class can be used in combination with broadphase to dispatch calculations ...
Definition: btDispatcher.h:77
btPersistentManifold is a contact point cache, it stays persistent as long as objects are overlapping...
TypedConstraint is the baseclass for Bullet constraints and vehicles.
DeformableBodyInplaceSolverIslandCallback(btDeformableMultiBodyConstraintSolver *solver, btDispatcher *dispatcher)
btAlignedObjectArray< btTypedConstraint * > m_constraints
btAlignedObjectArray< btMultiBodyConstraint * > m_multiBodyConstraints
btAlignedObjectArray< btPersistentManifold * > m_manifolds
btAlignedObjectArray< btCollisionObject * > m_bodies
btAlignedObjectArray< btSolverAnalyticsData > m_islandAnalyticsData
btAlignedObjectArray< btCollisionObject * > m_softBodies