Make btTypedConstraint and btPersistentManifold both derive from btTypedObject to make SPU-side generic constraint solver easier.
Note: all build systems need to be updated: remove SpuVoronoiSimplexSolver.cpp, SpuGjkPairDetector.cpp, SpuEpaPenetrationDepthSolver.cpp, SpuGjkEpa2.cpp
Also comment-out some code for __SPU__ to reduce code size
Added btContactConstraint (only used on PS3 SPU right now, better to use btPersistentManifold directly for contact constraints)
Improved readblend utility library (see also usage in http://gamekit.googlecode.com with Irrlicht)
Fix for btConvexConvexAlgorithm, potential division by zero
Thanks linzner http://code.google.com/p/bullet/issues/detail?id=260
+ Allow user to enable useConvexConservativeDistanceUtil . Use dynamicsWorld->getDispatchInfo().m_useConvexConservativeDistanceUtil = true;
(see Demos/Benchmarks/Benchmark4 (convex objects falling down)
+ Fix for plane drawing (just wire-frame)
+ Gimpact: use collision margin of 0.07 for demo (because BULLET_TRIANGLE_COLLISION is used)
+ replace dot,cross,distance,angle,triple in btVector3 by btDot, btCross,btDistance,btAngle,btDistance to avoid naming conflicts
+ Some fixes in GJK penetration depth normal direction (broken in a previous commit)
+ fix in calculateDiffAxisAngleQuaternion to make ConvexConservativeDistanceUtil work properly
+ allow debug drawing to debug btContinuousConvexCollision
+ add comment/warning that btTriangleMesh::findOrAddVertex is an internal method, users should use addTriangle instead
+ use default convex drawing instead of special cylinder drawing (caps are wrongly drawn)
+ allow camera translation using middle-mouse button in SoftDemo
+ add/removeCollisionObject virtual
Thanks Ola for this suggestion
If user wants more accurate inertia tensor for multi-sphere shape, use btCompoundShape instead
(amd btCompoundShape::calculatePrincipalAxisTransform)
Thanks rcharlton for bringing this up.
Erwin
Force activation state of static objects to be ISLAND_SLEEPING, once they are added to the world
Add backwards compatibility option btDiscreteDynamicsWorld::setSynchronizeAllMotionStates, just in case only updating active objects broke someones code
Don't disable 3D box-box in box2ddemo
1) use $(CUDA_INC_PATH) for CUDA include path
2) avoid using cuda util, but use BT_GPU_SAFE_CALL and BT_GPU_CHECK_ERROR (defined in Bullet/Extras/CUDA/btCudaUtil.h)
3) remove pre-linked glee*.lib, but include glee.c directly
4) removed fluids_2008.sln, just use automatic converted upgrade using fluids_2005.sln solution
Use Bullet/Glut/GL folder, instead of Bullet/Extras/spu/common/GL folder)
Thanks Ole for the report and suggested fix:
http://code.google.com/p/bullet/issues/detail?id=220&can=1&start=200
Applied Character/btKinematicCharacterController.cpp patch:
Thanks Thomas for the patch!
http://code.google.com/p/bullet/issues/detail?id=196#makechanges
- added a normalizedDirection member variable. This is
slightly more efficient than recalculating the normalized
direction every simulation step.
- I overloaded the m_walkDirection member variable to hold
either the walkDirection or the Velocity, and used a boolean
flag to determine which behavior was required.
- The normalization behavior seemed custom, and I needed it
twice, so I moved it to a static helper method.
- I added the setVelocityForTimeInterval() method to the
base interface class. This to me is the scariest change
since people inheriting from it will need to make changes
(if only to add an empty function).