Enable 'global absolute velocities' by default for btMultiBody. See 8.3.2B Proposed resolution Jakub Stepien PhD Thesis

https://drive.google.com/file/d/0Bz3vEa19XOYGNWdZWGpMdUdqVmZ5ZVBOaEh4ZnpNaUxxZFNV/view?usp=sharing
Fixes crashes due to rendering of softbody wireframe in the wrong thread (needs to be in 'debug' rendering section)
Use btCapsuleShapeZ instead of btMultiSphereShape when converting MJCF MuJoCo capsules using fromto
This commit is contained in:
erwincoumans
2018-01-09 22:47:56 -08:00
parent 164d3e62c3
commit c4b1b84687
16 changed files with 779 additions and 666 deletions

View File

@@ -1456,6 +1456,10 @@ typedef struct bInvalidHandle {
btVector3DoubleData m_jointAxisTop[6];
btVector3DoubleData m_jointAxisBottom[6];
btVector3DoubleData m_linkInertia;
btVector3DoubleData m_absFrameTotVelocityTop;
btVector3DoubleData m_absFrameTotVelocityBottom;
btVector3DoubleData m_absFrameLocVelocityTop;
btVector3DoubleData m_absFrameLocVelocityBottom;
double m_linkMass;
int m_parentIndex;
int m_jointType;
@@ -1487,6 +1491,10 @@ typedef struct bInvalidHandle {
btVector3FloatData m_jointAxisTop[6];
btVector3FloatData m_jointAxisBottom[6];
btVector3FloatData m_linkInertia;
btVector3FloatData m_absFrameTotVelocityTop;
btVector3FloatData m_absFrameTotVelocityBottom;
btVector3FloatData m_absFrameLocVelocityTop;
btVector3FloatData m_absFrameLocVelocityBottom;
int m_dofCount;
float m_linkMass;
int m_parentIndex;

View File

@@ -129,6 +129,12 @@ template<class T> void syncMultiBody(T* mbd, btMultiBody* mb, btMultiBodyWorldI
for (int i = 0; i < mbd->m_numLinks; i++)
{
mb->getLink(i).m_absFrameTotVelocity.m_topVec.deSerialize(mbd->m_links[i].m_absFrameTotVelocityTop);
mb->getLink(i).m_absFrameTotVelocity.m_bottomVec.deSerialize(mbd->m_links[i].m_absFrameTotVelocityBottom);
mb->getLink(i).m_absFrameLocVelocity.m_topVec.deSerialize(mbd->m_links[i].m_absFrameLocVelocityTop);
mb->getLink(i).m_absFrameLocVelocity.m_bottomVec.deSerialize(mbd->m_links[i].m_absFrameLocVelocityBottom);
switch (mbd->m_links[i].m_jointType)
{
case btMultibodyLink::eFixed: