95 float *vertexPointer = basePointer + vertexOffset;
97 for (
int vertexIndex = 0; vertexIndex <
numVertices; ++vertexIndex)
99 btVector3 position = clothVertices[vertexIndex].m_x;
100 *(vertexPointer + 0) = (
float)position.getX();
101 *(vertexPointer + 1) = (
float)position.getY();
102 *(vertexPointer + 2) = (
float)position.getZ();
103 vertexPointer += vertexStride;
110 float *normalPointer = basePointer + normalOffset;
112 for (
int vertexIndex = 0; vertexIndex <
numVertices; ++vertexIndex)
114 btVector3 normal = clothVertices[vertexIndex].m_n;
115 *(normalPointer + 0) = (
float)normal.getX();
116 *(normalPointer + 1) = (
float)normal.getY();
117 *(normalPointer + 2) = (
float)normal.getZ();
118 normalPointer += normalStride;
virtual ~btDefaultSoftBodySolver()
btDefaultSoftBodySolver()
virtual void updateSoftBodies()
virtual void predictMotion(btScalar solverdt)
btAlignedObjectArray< btSoftBody * > m_softBodySet
virtual void processCollision(btSoftBody *, const btCollisionObjectWrapper *)
virtual void optimize(btAlignedObjectArray< btSoftBody * > &softBodies, bool forceUpdate=false)
virtual void copySoftBodyToVertexBuffer(const btSoftBody *const softBody, btVertexBufferDescriptor *vertexBuffer)
virtual void solveConstraints(btScalar solverdt)
bool m_updateSolverConstants
virtual void copyBackToSoftBodies(bool bMove=true)
virtual bool checkInitialized()
void defaultCollisionHandler(const btCollisionObjectWrapper *pcoWrap)
void predictMotion(btScalar dt)