diff --git a/examples/SharedMemory/PhysicsClient.cpp b/examples/SharedMemory/PhysicsClient.cpp index 4eada50a8..405c95fd6 100644 --- a/examples/SharedMemory/PhysicsClient.cpp +++ b/examples/SharedMemory/PhysicsClient.cpp @@ -1,3 +1,6 @@ #include "PhysicsClient.h" -PhysicsClient::~PhysicsClient() {} +PhysicsClient::~PhysicsClient() +{ +} + diff --git a/examples/SharedMemory/PhysicsClientExample.cpp b/examples/SharedMemory/PhysicsClientExample.cpp index fadd02e65..a17c40c0a 100644 --- a/examples/SharedMemory/PhysicsClientExample.cpp +++ b/examples/SharedMemory/PhysicsClientExample.cpp @@ -337,13 +337,15 @@ void PhysicsClientExample::prepareAndSubmitCommand(int commandId) }; } + + PhysicsClientExample::PhysicsClientExample(GUIHelperInterface* helper) :SharedMemoryCommon(helper), m_physicsClientHandle(0), -m_selectedBody(-1), -m_prevSelectedBody(-1), m_wantsTermination(false), m_sharedMemoryKey(SHARED_MEMORY_KEY), +m_selectedBody(-1), +m_prevSelectedBody(-1), m_numMotors(0) { b3Printf("Started PhysicsClientExample\n"); diff --git a/src/BulletDynamics/Featherstone/btMultiBody.cpp b/src/BulletDynamics/Featherstone/btMultiBody.cpp index be93a818d..5d62da792 100644 --- a/src/BulletDynamics/Featherstone/btMultiBody.cpp +++ b/src/BulletDynamics/Featherstone/btMultiBody.cpp @@ -92,7 +92,8 @@ btMultiBody::btMultiBody(int n_links, btScalar mass, const btVector3 &inertia, bool fixedBase, - bool canSleep) + bool canSleep, + bool /*deprecatedUseMultiDof*/) : m_baseCollider(0), m_baseName(0), @@ -137,7 +138,7 @@ void btMultiBody::setupFixed(int i, int parent, const btQuaternion &rotParentToThis, const btVector3 &parentComToThisPivotOffset, - const btVector3 &thisPivotToThisComOffset) + const btVector3 &thisPivotToThisComOffset, bool /*deprecatedDisableParentCollision*/) { m_links[i].m_mass = mass; diff --git a/src/BulletDynamics/Featherstone/btMultiBody.h b/src/BulletDynamics/Featherstone/btMultiBody.h index a6a13cb02..62bed98ae 100644 --- a/src/BulletDynamics/Featherstone/btMultiBody.h +++ b/src/BulletDynamics/Featherstone/btMultiBody.h @@ -63,7 +63,7 @@ public: btScalar mass, // mass of base const btVector3 &inertia, // inertia of base, in base frame; assumed diagonal bool fixedBase, // whether the base is fixed (true) or can move (false) - bool canSleep); + bool canSleep, bool deprecatedMultiDof=true); virtual ~btMultiBody(); @@ -75,7 +75,7 @@ public: int parent, const btQuaternion &rotParentToThis, const btVector3 &parentComToThisPivotOffset, - const btVector3 &thisPivotToThisComOffset); + const btVector3 &thisPivotToThisComOffset, bool deprecatedDisableParentCollision=true); void setupPrismatic(int i, @@ -337,7 +337,8 @@ void addJointTorque(int i, btScalar Q); // improvement, at least on Windows (where dynamic memory // allocation appears to be fairly slow). // - + + void computeAccelerationsArticulatedBodyAlgorithmMultiDof(btScalar dt, btAlignedObjectArray &scratch_r, btAlignedObjectArray &scratch_v, @@ -345,17 +346,26 @@ void addJointTorque(int i, btScalar Q); bool isConstraintPass=false ); +///stepVelocitiesMultiDof is deprecated, use computeAccelerationsArticulatedBodyAlgorithmMultiDof instead + void stepVelocitiesMultiDof(btScalar dt, + btAlignedObjectArray &scratch_r, + btAlignedObjectArray &scratch_v, + btAlignedObjectArray &scratch_m, + bool isConstraintPass=false) + { + computeAccelerationsArticulatedBodyAlgorithmMultiDof(dt,scratch_r,scratch_v,scratch_m,isConstraintPass); + } + // calcAccelerationDeltasMultiDof // input: force vector (in same format as jacobian, i.e.: // 3 torque values, 3 force values, num_links joint torque values) // output: 3 omegadot values, 3 vdot values, num_links q_double_dot values // (existing contents of output array are replaced) - // stepVelocities must have been called first. - + // calcAccelerationDeltasMultiDof must have been called first. void calcAccelerationDeltasMultiDof(const btScalar *force, btScalar *output, btAlignedObjectArray &scratch_r, btAlignedObjectArray &scratch_v) const; - + void applyDeltaVeeMultiDof2(const btScalar * delta_vee, btScalar multiplier) {