Commit Graph

218 Commits

Author SHA1 Message Date
erwin.coumans
01b66a6799 fixes in serialization (don't serialize shapes multiple times), hull shape issue,
fix InternalEdgeDemo compilation using GLUT
2010-01-30 06:55:39 +00:00
erwin.coumans
37f6df2c32 added serialization support for gimpact mesh
improved cmake build system for updating the serialization structures
2010-01-29 02:50:34 +00:00
rponom
ee3e231be5 + more consistent 'setLocalScaling' for the btCompoundShape. Full non-uniform scaling is not supported when child shapes have a rotation. If any child shapes have rotation, the best you can do is either uniform scaling, or 'baking' the non-uniform scaling into the child geometry (vertices of a convex hull for example)
+ fixed an issue with BulletWorldImporter, btBoxShape implicitShapeDimensions already includes local scaling.
2010-01-28 23:41:09 +00:00
erwin.coumans
485d1a338e fix btCompoundShaps serialization of child shapes
added ConcaveDemo to cmake
added LinearMath/btSerializer.h to btBulletCollisionCommon.h
2010-01-27 23:37:46 +00:00
erwin.coumans
725411a1f3 added a warning to all serialization structures:
///do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
2010-01-27 02:41:38 +00:00
erwin.coumans
00f58e5a91 added basic serialization for several constraints including btPoint2PointConstraint, btHingeConstraint, btSliderConstraint, btConeTwistConstraint, btGeneric6DofConstraint
(no motor support or advanced settings yet)
added btStaticPlaneShape serialization
Added toggle in cmake for BenchmarksDemo to enable/disable graphics rendering
2010-01-27 02:13:56 +00:00
erwin.coumans
44565d20f4 added serialization support for btCompoundShape, btCapsuleShapeX/Z, btCylinderShapeX,Z
make some serialization methods const
prepare for constraint serialization
2010-01-26 02:24:03 +00:00
erwin.coumans
e7ff71d99b add support for double precision and 64bit serialization (and compatibility between all versions)
fix some issue in serialization of nested array data
add some tesing files
2010-01-25 19:42:51 +00:00
erwin.coumans
5d8e6dc3f3 improved btTriangleMeshShape/btBvhTriangleMeshShape serialization 2010-01-24 16:48:14 +00:00
erwin.coumans
9d7d1c3983 more work on serialization, initial for btTriangleMeshShape/btBvhTriangleMeshShape (only for floating point vertices, integer indices) work-in-progress 2010-01-23 20:59:41 +00:00
erwin.coumans
5e85d43b0b more Bullet serialization (uncompleted triangle mesh saving, work-in-progress) 2010-01-23 02:13:25 +00:00
erwin.coumans
5378cf4c8a more work on Bullet serialization (added support for btConvexHullSupport) 2010-01-23 00:58:47 +00:00
erwin.coumans
0f707603f1 more work on serialization, work-in-progress 2010-01-23 00:04:58 +00:00
erwin.coumans
76eccc39fc more work on serialization (work-in-progress) 2010-01-22 03:36:58 +00:00
erwin.coumans
26a056e629 More work on serialization and BulletFileLoader 2010-01-22 00:15:33 +00:00
erwin.coumans
6af9f9434f worked a bit more on the serialization, and added a preliminary SerializeDemo. 2010-01-21 00:17:18 +00:00
erwin.coumans
6b89f028bf add newlines to files, thanks to tasioga for the patch
http://code.google.com/p/bullet/issues/detail?id=334
2010-01-20 21:33:35 +00:00
erwin.coumans
b57314c590 Added write access to implicitShapeDimensions, this allows to change the dimensions of a box, capsule etc.
See also request here: http://code.google.com/p/bullet/issues/detail?id=325

Also added a warning. This warning also applies to all methods that change the collision shape:

"changing a collision shape while the body is in the world is not recommended,
it is best to remove the body from the world, then make the change, and re-add it
alternatively flush the contact points, see documentation for 'cleanProxyFromPairs'"
2010-01-19 06:34:39 +00:00
erwin.coumans
c26f5e4b6e apply patch to allow soft body rayTest. Minor change in patch: test for current hitfraction, so only report hits closer than current closest hit fraction.
Thanks to Benoit Bolsee for the patch, see Issue 311
http://code.google.com/p/bullet/issues/detail?id=311
2010-01-06 00:41:03 +00:00
erwin.coumans
6bf3988837 SetLocalScaling propagates to btCompoundShape children now. Note that this issue might affect shared child shapes.
See also Issue 96
http://code.google.com/p/bullet/issues/detail?id=96

Thanks chucksspencer for the patch
2009-12-18 01:13:33 +00:00
erwin.coumans
0a6f7b271d make relative contact breaking threshold optional (use dispatcher->setDispatcherFlags(0) to turn off feature) 2009-12-13 20:22:21 +00:00
erwin.coumans
3edd806b88 Binary serialization in the .bullet file format (work-in-progress) 2009-12-08 18:02:37 +00:00
erwin.coumans
5acda2d06c move an __SPU__ conditional around the virtual methods, we need some of the other inline methods. 2009-10-21 19:47:52 +00:00
erwin.coumans
f65e829ca0 Add support for generic 2d convex shapes, through wrapper class btConvex2dShape. See Bullet/Demos/Box2dDemo for example wrapping a btCylinderShape and 2d btConvexHullShape.
Add some extra degeneracy debugging check in btGjkPairDetector
2009-09-17 19:45:22 +00:00
erwin.coumans
ed09140fb7 remove some warnings, thanks to Zenja http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=4063 2009-09-09 23:51:30 +00:00
erwin.coumans
659b215a69 Override btCollisionWorld::addCollisionObject with flags more appropriate for btDynamicsWorld (StaticFilter)
Minor fixes (#ifndef SPU_COLLISION_OBJECT_WRAPPER_H block etc)
Only update 'setNumTasks' when necessary
Revert vectormath.h include (can't resolve conflicts with PS3 SDK, need additional #include path)
2009-09-09 22:49:43 +00:00
erwin.coumans
d7c7c0c9ef avoid one redundant motionstate synchronization
minor warning fix
2009-08-11 23:50:59 +00:00
erwin.coumans
d67aa861f2 Add support for childshape index for btCompoundShape during ContactAddedCallback,
see example in Bullet/Demos/ConvexDecompositionDemo
Removed some warnings
2009-08-11 00:30:41 +00:00
erwin.coumans
aef97d6015 Share btGjkPairDetector, btGjkEpa2, btVoronoiSimplexSolver with SPU/Multithreaded implementation (remove duplicate code)
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
2009-08-07 08:57:56 +00:00
erwin.coumans
40c73f327c + CMake build system fix under Windows: don't define _WINDOWS to allow Glut console demo to build properly
+ 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
2009-07-15 16:47:48 +00:00
erwin.coumans
f552a1dbbf Remove first argument from btMultiSphereShape, calculate local inertia approximation from aabb.
If user wants more accurate inertia tensor for multi-sphere shape, use btCompoundShape instead 
(amd btCompoundShape::calculatePrincipalAxisTransform)

Thanks rcharlton for bringing this up.
Erwin
2009-06-11 13:51:48 +00:00
erwin.coumans
3e5fc86a6c Iterate only over non-static rigid bodies, instead of all collision objects
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=18&t=3625
http://code.google.com/p/bullet/issues/detail?id=128

Attempt to fix issue in mesh striding, multiple-mesh-parts were broken.
2009-06-11 01:25:10 +00:00
erwin.coumans
659272685b Applied patch to fix scaling on btCapsuleShape:
http://code.google.com/p/bullet/issues/detail?id=230
Thanks Chuck Spencer for report/fix!

Applied patch to fix triangle mesh embedded in a btCompoundShape:
http://code.google.com/p/bullet/issues/detail?id=229
Thanks Ola for reporting/fixing!
2009-06-11 00:23:49 +00:00
erwin.coumans
badf723257 Replace all hardcoded 1e30(f) by BT_LARGE_FLOAT, defined in btScalar.h as 1e18(f) so that its square still fits in FLT_MAX
Thanks to Ole K. for reporting! http://code.google.com/p/bullet/issues/detail?id=206
2009-05-23 02:15:54 +00:00
erwin.coumans
2f1014268b + Internal improvements for collision shapes
1) add AabbCaching versions of btPolyhedralConvexShape and btMultiSphereShape (this speeds up btMultiSphereShape 'getAabb', and reduces size of btBoxShape)
2) btCylinderShape doesn't derive from btBoxShape anymore
+ Minor fixes in drawing for btMultiSphereShape, btBoxShape.
+ Don't re-generate btDebugFont every frame
+ Disabled velocity prediction for btDbvtBroadphase. Previous default can be restored using btDbvtBroadphase->setVelocityPrediction(1./2.);
2009-05-22 01:03:45 +00:00
erwin.coumans
22fe8935c3 updated test1.oec with a few static objects
fix Maya plugin hinge constraint support
update copyright year in BulletCollision/CollisionShapes.
2009-05-12 22:28:45 +00:00
erwin.coumans
f3c3d2f156 + disable perturbation for btConvexPlaneCollisionAlgorithm, it introduces artifacts (additional points cause spheres/cylinders and other curved objects to move)
+ applied patch to mix double/single precision meshes independent from double/single precision Bullet build
Thanks to Ole for the patch, http://code.google.com/p/bullet/issues/detail?id=213
+ re-enable warming starting in constraint solver, it was disabled by accident
+ fix btConvexHullShape constructor, so accept vertices with non-16-byte striding
Thanks Shawn Baird for report and fix: http://code.google.com/p/bullet/issues/detail?id=204
2009-05-06 19:13:11 +00:00
erwin.coumans
459c22e7cb Synchronized changes of Bullet, from Blender.
Added optional flag btSoftBody::appendAnchor(	int node,btRigidBody* body, bool disableCollisionBetweenLinkedBodies=false), to disable collision between soft body and rigid body, when pinned
Added btCollisionObject::setAnisotropicFriction, to scale friction in x,y,z direction.
Added btCollisionObject::setContactProcessingThreshold(float threshold), to avoid collision resolution of contact above a certain distance.
Avoid collisions between static objects (causes the CharacterDemo to assert, when a dynamic object hits character)
2009-03-03 06:47:52 +00:00
erwin.coumans
3548c01985 add btCollisionWorld::updateSingleAabb see http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3262
Fix memory leak, see http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3266
Change contact breaking threshold
Add 'needsResponse' test for CcdMotionClamping, see http://code.google.com/p/bullet/issues/detail?id=179
Updated user manual (needs lots more work)
Added autoexp.dat, enabled Microsoft Visual Studio debug visualization for btAlignedObjectArray and btVector3.
2009-02-27 02:33:48 +00:00
erwin.coumans
8acadeb711 minor tweaks to demos: enable constraint debug drawing in AllBulletDemos, default constraint debugging size set to 0.3,
set svn:eol-style native for folder files
http://code.google.com/p/bullet/issues/detail?id=191
2009-02-18 22:52:03 +00:00
erwin.coumans
6d17f63c54 fix in btMinkowskiSumShape,
thanks to Kester Maddock for the report, reproduction case and fix:
http://code.google.com/p/bullet/issues/detail?id=194
2009-02-11 00:12:08 +00:00
erwin.coumans
7a2a98078a Fixes for broadphase/paircache determinism.
Revert definition for ATTRIBUTE_ALIGNED16, and try to force sizeof(btSolverConstraint) by using unions with btScalar, for non-btScalar data types.
Use btAssert and not assert.
Don't access btAlignedObjectArray elements, for zero sets
2009-02-10 23:50:21 +00:00
john.mccutchan
cd126aae8f Height field terrain shape fixes from tomva1@yahoo.com 2009-02-09 16:28:44 +00:00
erwin.coumans
24d1fea8b2 applied patches against warnings, thanks a lot Ole K.
http://code.google.com/p/bullet/issues/detail?id=165
http://code.google.com/p/bullet/issues/detail?id=164
http://code.google.com/p/bullet/issues/detail?id=166
http://code.google.com/p/bullet/issues/detail?id=167
2009-02-06 06:09:57 +00:00
erwin.coumans
ed4fab6c47 Fix in btCompoundShape that can cause removeChildShapeByIndex to crash.
Thanks to Benoit for the report and proposed fix:
http://code.google.com/p/bullet/issues/detail?id=171
2009-01-19 07:32:24 +00:00
erwin.coumans
994224c94f fix another bug caused by error-prone btCollisionShape 'getShapeType' refactoring.
Thanks a lot to Alex Silverman for the report and fix:
http://code.google.com/p/bullet/issues/detail?id=170
2009-01-19 07:19:24 +00:00
erwin.coumans
f3a70b65eb Fix issues with btCompoundShape when adding/removing child shapes after construction of a btRigidBody.
Thanks tp for the report:
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2925&p=11700#p11700
2008-12-07 20:57:38 +00:00
erwin.coumans
e80feca36b Big work-in-progress refactoring of the constraint solver:
1) Add fast branchless SIMD support for constraint solver (Windows only until we get other contributions).
See resolveSingleConstraintRowGenericSIMD in Bullet/src/BulletDynamics/ConstraintSolver/btSequentialImpulseConstraintSolver.cpp
resolveSingleConstraintRowGenericSIMD can be used for all constraints, including contact, point 2 point, hinge, generic etc.

2) During this refactoring, all constraints support the obsolete 'solveConstraintObsolete' while we add 'getInfo1' and 'getInfo2' support.
This interface is almost identical interface to Open Dynamics Engine, to make it easier to port Dantzig LCP solver.

3) Some minor refactoring to reduce huge constructor overhead in math classes.
2008-12-01 06:41:25 +00:00
erwin.coumans
444fbfeb40 add obsolete 'getPoints' to be backwards compatible (breaks MayaPlugin) 2008-11-12 16:53:06 +00:00
erwin.coumans
8865e38e5b bugfix: for btCompoundShape::getChildTransform: return (const) reference to btTransform, not a copy.
added btCompoundShape::updateChildTransform
Thanks to ejtttje, see http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2831
2008-11-10 09:04:04 +00:00