diff options
Diffstat (limited to 'src/BulletSoftBody/btSoftBody.cpp')
-rw-r--r-- | src/BulletSoftBody/btSoftBody.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/BulletSoftBody/btSoftBody.cpp b/src/BulletSoftBody/btSoftBody.cpp index c6226a008..933f3edc5 100644 --- a/src/BulletSoftBody/btSoftBody.cpp +++ b/src/BulletSoftBody/btSoftBody.cpp @@ -231,6 +231,9 @@ void btSoftBody::initDefaults() m_gravityFactor = 1; m_cacheBarycenter = false; m_fdbvnt = 0; + + // reduced flag + m_reducedModel = false; } // @@ -1483,6 +1486,21 @@ void btSoftBody::randomizeConstraints() #undef NEXTRAND } +void btSoftBody::updateState(const btAlignedObjectArray<btVector3>& q, const btAlignedObjectArray<btVector3>& v) +{ + int node_count = m_nodes.size(); + btAssert(node_count == q.size()); + btAssert(node_count == v.size()); + for (int i = 0; i < node_count; i++) + { + Node& n = m_nodes[i]; + n.m_x = q[i]; + n.m_q = q[i]; + n.m_v = v[i]; + n.m_vn = v[i]; + } +} + // void btSoftBody::releaseCluster(int index) { @@ -2821,7 +2839,7 @@ bool btSoftBody::checkDeformableFaceContact(const btCollisionObjectWrapper* colO btScalar dst; btGjkEpaSolver2::sResults results; -// #define USE_QUADRATURE 1 + // #define USE_QUADRATURE 1 // use collision quadrature point #ifdef USE_QUADRATURE |