Commit Graph

275 Commits

Author SHA1 Message Date
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
erwin.coumans
cef40e5cce no 'const int' but inline for a few methods
remove redundant/unreachable 'breaks'
2008-11-08 05:27:26 +00:00
erwin.coumans
a4c205afc0 enable convex separation util, potentially improves performance. set threshold to zero (docs follow)
fix scaling issue with btConvexHullShape
use virtual getSupportingVertex on non-SPU platform
2008-11-06 23:38:18 +00:00
john.mccutchan
9b5df088de Committing height field terrain work from tomva1@yahoo.com 2008-11-06 19:41:31 +00:00
erwin.coumans
d25d264e77 Improved CharacterDemo/KinematicCharacterController, dynamic objects will bounce off.
Don't create a todo list for doxygen by default (the chaotic todo's would confuse most developers)
Improve support for small objects, by having dynamic contact breaking thresholds. Still needs small internal timestep and some GJK improvements.
2008-11-05 03:28:10 +00:00
erwin.coumans
bcd0f48c28 some doxygen updates, added some comments to classes, fix broken links, rename some prefix some internal GIMPACT collision structures using (for example use GIM_AABB instead of BT_AAABB),
removed obsolete btGjkEpa (it was replaced by btGjkEpa2 ages ago)
2008-11-04 04:01:31 +00:00
erwin.coumans
f49e44b13c Don't search for duplicate vertices by default in btTriangleMesh, it is just too slow.
See http://code.google.com/p/bullet/issues/detail?id=122
2008-10-30 22:09:04 +00:00
erwin.coumans
50930cec5c Some performance improvements and fixes related to btVector3 being aligned on SPU.
btQuantizedBvh has a version number, memory layout might be different now (due to aligned btVector3)
reorganized some data members of some classes, to reduce memory footprint
2008-10-29 02:45:43 +00:00
erwin.coumans
28e580c203 removed STL usage of Extras/ConvexBuilder and replaced by btAlignedObjectArray
fixed several warnings, thanks to sparkprime
added comments patch for linear math, thanks to Tully Foote
2008-10-28 18:52:46 +00:00
erwin.coumans
1ff6420ffb Use the add support for double and float triangle vertices. If it has a bad impact on performance, we can hide it behind an #ifdef for double precision vertex support.
Fix btConvexTriangleMeshShape::calculatePrincipalAxisTransform
Both thanks to Ole.

Use our own union to extract a scalar value from an SSE intrinsic (instead of relying on MSVC-only m128_u32
Thanks to BlindSide
2008-10-27 21:36:36 +00:00
erwin.coumans
003b6fa669 removed some warnings, as reported here:
http://code.google.com/p/bullet/issues/detail?id=123
Thanks sparkprime
2008-10-27 20:20:28 +00:00
erwin.coumans
6ed11057e0 add empty 'processAllTriangles' for btEmptyShape, thanks to Ole K.
http://code.google.com/p/bullet/issues/detail?id=120
2008-10-27 20:08:21 +00:00
erwin.coumans
6f28170422 Removed obsolete btPoint3: use btVector3 instead 2008-10-27 19:56:48 +00:00
erwin.coumans
22a79e61b1 updated Jamfile build system for reorganized files/folders 2008-10-11 05:23:00 +00:00
john.mccutchan
37f6b006af Move some code (mainly constructors) into header files.
Add parameter to optionally compute local AABB for ConvexPointCloudShape
Add setter and getter for cached local AABB in PolyhedralConvexShape
2008-10-08 16:56:08 +00:00
john.mccutchan
4e70343a8b by default, a btTriangleIndexVertexArray has no setPremadeAabb, so initialize m_hasAabb to zero. 2008-10-02 22:15:53 +00:00
erwin.coumans
0ff15db3f3 + capsule should subtract margin, and take local scaling into account.
+ boxshape uses btFsels
+ add assert in btGjkPairDetector that the new non-virtual method produces the same result as old non-virtual
2008-09-30 18:37:01 +00:00
erwin.coumans
9f28b2bc12 Improve damping formula in btRigidBody::applyDamping
Thanks to sparkprime, see http://code.google.com/p/bullet/issues/detail?id=74
Fixed btCompoundShape/btCapsuleShape/btGImpactShape for missing m_shapeType, and added an assert in DemoApplication::localCreateRigidBody for invalid shape types.
2008-09-30 00:34:58 +00:00
john.mccutchan
2b71784c86 Make getShapeType() a non virtual function.
Add localGetSupportVertexNonVirtual, localGetSupportVertexWithoutMarginNonVirtual, getAabbNonVirtual and getMarginNonVirtual methods to convex shape classes
2008-09-29 22:47:05 +00:00
erwin.coumans
682a0a1b90 fixed btSoftBodyConcaveCollisionAlgorithm, wrong bounding box transformation
added vertex welding option for btTriangleMesh (brute-force slow)
reject appendFace for some degenerate triangles (all 3 vertices/nodes need to be different)
add setVelocity method for btSoftBody
2008-09-26 21:59:03 +00:00
erwin.coumans
752eb583d0 some minor work on soft body, to make it easier to integrate into apps. 2008-09-24 02:41:50 +00:00
erwin.coumans
8db0285d4f attempt to support negative local scaling for btConvexHullShape, btConvexInternalShape-derived classes and btScaledBvhTriangleMeshShape 2008-09-20 23:47:38 +00:00
erwin.coumans
93d1d24234 Some changes in rendering, to get shadows for trimeshes
Add dynamic aabb tree (btDbvt) optimization for btCompoundShape/btCompoundCollisionAlgorithm
Add btTransformAabb util, todo: deploy it throughout the codebase
2008-09-10 05:20:04 +00:00
erwin.coumans
6c426f9545 make those members private, in btScaledBvhTriangleMeshShape 2008-09-07 05:30:35 +00:00
erwin.coumans
6b365a7ca5 Add get methods for localAabbMin/localAabbMax, required for btScaledBvhTriangleMeshShape 2008-09-07 05:00:55 +00:00
erwin.coumans
d836e83ea2 Added btScaledBvhTriangleMeshShape. The btScaledBvhTriangleMeshShape allows to instance multiple differently scaled versions of an existing btBvhTriangleMeshShape.
All those instances re-use the same btBvhTriangleMeshShape child shape (and its btOptimizedBvh).
2008-09-07 04:59:57 +00:00
erwin.coumans
398d681b22 fixed compile error for btConvexTriangleMeshShape.
Thanks to slackydeb for the report, http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2567
2008-09-05 18:30:18 +00:00
erwin.coumans
359c84d3b3 Fix previous commit, accidently removed some aabbMin/aabbMax assignments.
move margin calculation for aabb before basis transform.
2008-09-05 00:26:02 +00:00
erwin.coumans
d8a5bf2c9c Calculation of bounding box: margins should be added before basis transform.
Disable btSphereBoxCollisionAlgorithm, it is broken.
More fixes for btSimpleBroadphase
Moved quickstep to Extras/quickstep folder, so developers don't get confused which constraint solver is default.
2008-09-04 22:53:24 +00:00
erwin.coumans
ae1702cfca Bugfix in btOptimizedBvh, update curNodeSubPart correctly.
Thanks to Ole K. for the report and patch:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2558&p=10251#p10251
2008-09-04 18:31:28 +00:00
erwin.coumans
7380db7653 Methods to compute more accurate inertia tensor for btCompoundShape and btConvexTriangleMeshShape.
Thanks to Ole K. for the fixes, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2562
2008-09-04 18:20:32 +00:00
erwin.coumans
cc3e3a851f fix for btPolyhedralShape::setLocalScaling (and derived classes such as btConvexHullShape): recalcLocalAabb.
Thanks to pico for the report: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2550&p=10207#p10207
2008-09-02 17:32:57 +00:00
erwin.coumans
f655eff89f add support for premade aabb in btStridingMeshInterface/btBvhTriangleMeshShape,
Thanks Roy Eltham, http://code.google.com/p/bullet/issues/detail?id=70
2008-08-29 05:39:17 +00:00
erwin.coumans
80f80df7e3 set linear/angular velocity to zero when objects are asleep
Thanks to  http://code.google.com/p/bullet/issues/detail?id=73
improve performance of btConvexTriangleMeshShape::recalcLocalAabb
Thanks to fullmetalcoder, http://code.google.com/p/bullet/issues/detail?id=67#makechanges
2008-08-29 05:30:50 +00:00
erwin.coumans
b21d8caa9a Added more Doxygen comments for classes in src/BulletCollision/CollisionShapes 2008-08-27 22:01:50 +00:00
erwin.coumans
db2514e930 provide serialization for btOptimizedBvh, using btQuantizedBvh. 2008-08-27 01:15:34 +00:00
erwin.coumans
79b6f7a772 Removed (circular) dependency between broadphase and collision shapes: moved parts CollisionShapes/btOptimizedBvh into BroadphaseCollision/btQuantizedBvh 2008-08-26 23:40:51 +00:00
erwin.coumans
8eafab367f syntax error fix, removed comma, see http://code.google.com/p/bullet/issues/detail?id=76&can=1
Fix btOptimizedBvh, thanks to reltham, http://code.google.com/p/bullet/issues/detail?id=72&can=1
2008-08-19 15:57:01 +00:00
erwin.coumans
4894f24c9a Fixes for FPU exceptions, thanks to Phil Knight for reporting and John McCutchan for fix/workarounds.
Added new cluster collision methods for soft bodies, thanks to Nathanael Presson.
Enable/disable textures/shadows for specific demos.
2008-08-01 01:04:45 +00:00
erwin.coumans
af4520801b + Fix btSubsimplexConvexCast
Thanks to Nacho, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2422)
Fix in rendering, GL_STENCIL
+ btTriangleIndexVertexArray indices should be unsigned int/unsigned short int,
+ Made InternalProcessAllTriangles virtual, thanks to 
Both thank to Fullmetalcoder, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2401
+clamp impulse for btPoint2PointConstraint
Thanks to Martijn Reuvers, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2418
+ Free memory of bvh, pass in scaling factor (optional)
Thanks to Roy Eltham, http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2375
2008-07-31 19:44:28 +00:00
erwin.coumans
8f3e9603f3 + fixed issue related to temporary/root collision shape in btCollisionObject
+ normalize plane normal input for btStaticPlaneShape
+ fixed issue related to swapped collision detectors (SphereTriangleDetector in particular)
Thanks a lot to Andrey Tuganov for reporting the issue and his reproduction case ( http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2143 )
2008-07-11 05:39:31 +00:00
john.mccutchan
31dfbf55e1 Compile fixes
Added getOwnsBvh to btBvhTriangleMeshShape
2008-07-10 23:22:29 +00:00
erwin.coumans
1c0fa00bc7 + provide access to 'root' collision shape, in case the original collision shape is temporarily replaced by a child collision shape.
+ added MultiMaterialDemo showing how to use the new btTriangleIndexVertexMaterialArray.
Thanks to Alex Silverman for this contribution!
2008-07-10 22:19:30 +00:00
erwin.coumans
50d41b624b Finally applied patch to removeChildShape from btCompoundShape
http://code.google.com/p/bullet/issues/detail?id=51
Thanks to Ola Røer Thorsen for the patch!
2008-06-26 23:29:42 +00:00