sortedConstraints.heapSort(btAlignedObjectArray<btTypedConstraint*>::less());
should be
sortedConstraints.heapSort(btSortConstraintOnIslandPredicate);
Thanks Clemens Unterkofler for pointing this out!
eg:
bulletmath_suffix="-lbulletmath"
bulletcollision_suffix="-lbulletcollision"
bulletdynamics_suffix="-lbulletdynamics"
dnl Check bulletmath library
AC_CHECK_LIB(bulletmath, btBulletMathProbe, true,
AC_MSG_ERROR([there seems to be a problem with the bulletmath library]))
LIBS="$bulletmath_suffix $LIBS"
dnl Check bulletcollision library
AC_CHECK_LIB(bulletcollision, btBulletCollisionProbe, true,
AC_MSG_ERROR([there seems to be a problem with the bulletcollision library]))
LIBS="$bulletcollision_suffix $LIBS"
dnl Check bulletdynamics library
AC_CHECK_LIB(bulletdynamics, btBulletDynamicsProbe, true,
AC_MSG_ERROR([there seems to be a problem with the bulletdynamics library]))
LIBS="$bulletdynamics_suffix $LIBS"
Same interface but less features (push_back, pop_back, clear, size, [] etc).
To prepare for SIMD/SSE code: Added #define ATTRIBUTE_ALIGNED16(a) __declspec(align(16)) a
- contact points are persistent (lifetime more then one frame, for warmstarting/incremental contact point management)
- continuous collision detection, time of impact
Added btRigidBody::isInWorld(), returns true if btRigidBody is inside a btCollisionWorld/btDynamicsWorld derived class
Added angularFactor to btRigidbody, this helps some character control (no angular impulse applied)
Added btStackAlloc to Bullet (right now only used by btGjkEpa)
removed default constructors of btCollisionWorld/btDiscreteDynamicsWorld, to reduce link-time dependencies
Improved vehicle interpolation of wheels, and added Z-up axis option for the Demo
made 'getWorldTransform' const method in btMotionState
added future 'deactivationCallback'(not used yet)
improved performance of constraint solver by precalculating the cross product/impulse arm
added collision comparison code: ODE box-box, also sphere-triangle
added safety check into GJK, and an assert for AABB's that are very large
write partid/triangle index outside of GJK
CompoundShapes are tricky to manage with respect to persistent contact points and swapped order of btCollisionObjects,
During dispatch, finding an algorith etc. order can be swapped.
fixed several other issues, related to SimpleBroadphase (removing a proxy was not working)
Fixed memoryleak in btOptimizedBvh (delete []m_contiguousNodes;)
Changed DemoApplication::localCreateRigidBody, so it adds the rigidbody to the btDynamicsWorld.
Added check for duplicate objects in world when adding.
Added assert to prevent setLinearVelocity on static rigidbodies
Added btCollisionFilterGroups to btBroadphaseProxy
removed duplicate 'btBroadphaseProxy* m_broadphaseProxy;' in btRigidBody
removed two cached optimizations, type in btTransform and cached inverse transform (todo: test performance impact)
committed fixes that make the code adhere to 'who creates it, also destroys it'