Commit Graph

129 Commits

Author SHA1 Message Date
erwin.coumans
1381394dd8 reverted 'getActiveObjects', island management will be improved for Bullet 2.74 release.
The implementation was error-prone and could lead to crashes.

See http://code.google.com/p/bullet/issues/detail?id=128
2008-11-11 16:19:20 +00:00
erwin.coumans
85341fee2a fix more places in btSoftBody that assume btRigidBody (it wasn't designed to support btCollisionObject/btGhostObject).
Add another 'findActiveObject'
2008-11-10 21:33:11 +00:00
erwin.coumans
f9aa7f3b53 Add Character control to btDiscreteDynamicsWorld (moved btCharacterControllerInterface/btKinematicCharacterController functionality from demo)
Remove ibmsdk from CcdPhysicsDemo and CollisionDemo
2008-11-08 21:01:20 +00:00
erwin.coumans
ce0bdd891d added synchronizeSingleMotionState, thanks Chunky. 2008-11-08 19:34:05 +00:00
erwin.coumans
075ba0b9d9 Enabling USE_SEPDISTANCE_UTIL2 requires 100% reliable distance computation, but there are issues with large size rations. todo: fix this
Make synchronizeMotionStates() pure virtual in btDynamicsWorld and public in btDiscreteDynamicsWorld. Thanks Chunky.
2008-11-08 19:27:53 +00:00
erwin.coumans
f6dcf94f25 Reduce default memory pool sizes (will use heap on overflow anyway), fits better with iPhone and consoles
Debug drawer needs to iterate over all objects, not just active
2008-11-08 06:37:48 +00:00
erwin.coumans
86353f0ad8 add btActivationCollisionAlgoritm to fix deactivation problems, reported here:
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2616

provide access to active objects, requested here:
http://code.google.com/p/bullet/issues/detail?id=128
2008-11-07 03:37:14 +00:00
erwin.coumans
8e0ee0ad74 Removed assert from rigidbody::setLinearVelocity/rigidbody::setAngularVelocity -> it can be useful for special effects. 2008-11-04 21:18:43 +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
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
6f28170422 Removed obsolete btPoint3: use btVector3 instead 2008-10-27 19:56:48 +00:00
erwin.coumans
6fcd824524 Applied filtering flags for CCD Motion Clamping, thanks to Bbilz, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2736 2008-10-16 20:17:56 +00:00
erwin.coumans
e6c850f13b Fix/improve raycast performance for btBvhTriangleMeshShape (btQuantizedBvh, btOptimizedBvh)
Add raycast acceleration for btAxisSweep3, using btDbvtBroadphase, providing large speedup. Can be disabled in constructor to safe memory.
2008-10-14 20:24:28 +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
erwin.coumans
d7b635cabf logic bug in (de)activation/island management: deactivated 'fantom' objects do merge islands, in particular when connected by constraints. (fantom = object with collision detection but no collision response). 2008-09-23 04:57:20 +00:00
erwin.coumans
d1318a05b3 Add plNearestPoints, contribution from Blender
Thanks!
2008-09-13 06:55:34 +00:00
erwin.coumans
fae48b5c25 some more improvements to support basic CCD motion clamping 2008-09-11 23:50:50 +00:00
erwin.coumans
569946a96f added some debugging variable for CCD motion clamping 2008-09-11 18:44:30 +00:00
erwin.coumans
60fa900995 Added CCD motion camping, to avoid tunneling.
Not as versatile compared to btContinuousDynamicsWorld but still useful.
2008-09-11 18:13:56 +00:00
erwin.coumans
cef07cfa20 Revert to max 1 substep by default: increased maxSubSteps to 10 make debug version way too slow.
Use btDbvtBroadphase in BasicDemo and CcdPhysicsDemo.
2008-09-05 01:41:32 +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
5fd1a69f32 Added some comments for stepSimulation and fixed bug: uninitialized variable m_shapeDrawer(drawer) in DebugCastResult.h 2008-08-28 02:01:23 +00:00
erwin.coumans
07b577fd86 make debugDrawWorld virtual for btSoftRigidDynamicsWorld
Move btSoftBodyWorldInfo to public, instead of nested, so it can be easier forward declared.
See http://code.google.com/p/bullet/issues/detail?id=78

Add get methods for damping/thresholds, see http://code.google.com/p/bullet/issues/detail?id=77
2008-08-19 16:09:04 +00:00
erwin.coumans
7838a5c980 provide interface for setting the number of tasks (unused in the btDiscreteDynamicsWorld). 2008-08-07 00:02:37 +00:00
erwin.coumans
3483e2dfc8 Fix btSoftBody so it compiles with older compilers, such as MSVC 6.0
Add support for angularFactor for applyForce, see http://code.google.com/p/bullet/issues/detail?id=59&can=1
2008-07-22 15:00:25 +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
b66e5350d0 rename HasHit method to hasHit
rename AddSingleResult to addSingleResult
moved collision filtering for btCollisionWorld::rayTest and btCollisionWorld::convexSweepTest from argument to the callback needsCollision
2008-07-09 23:30:21 +00:00
erwin.coumans
dcd57f333b + improved KinematicCharacterController
+ improved btSubsimplexConvexCast, btContinuousConvexCollision and btGjkConvexCast to support configuration that start in touching/penetration, required for 'sliding'.
+ added files to CMakeLists.txt for CharacterController
+ bump up version to 2.70 (preparation for beta)
2008-07-09 00:08:49 +00:00
erwin.coumans
db146019f1 Fixed debug drawing for btCapsuleShapeX and btCapsuleShapeZ 2008-07-02 23:07:27 +00:00
erwin.coumans
8028fa4999 debug draw contact numbers in black, not green (hurts the eyes) 2008-05-29 05:37:50 +00:00
erwin.coumans
d49aeb9dff + improved split impulse constraint solver option
+ improved friction warm starting
+ made constraint solver configuration more consistent (moved m_solverMode into btContactSolverInfo)
+ reset timing in CDTestFramework after initialization (SAP init destorts timings)
+ make it easier to change default sizes for stack allocator in btDefaultCollisionConfiguration
2008-05-29 03:33:32 +00:00
erwin.coumans
f8e5481612 Added method to collect all persistent contact manifolds, given a btBroadphasePair (collision algorithm)
virtual	void	getAllContactManifolds(btManifoldArray&	manifoldArray)
See Demos/CharacterDemo/CharacterDemo.cpp for example usage of getAllContactManifolds
Added btDbvtBroadphase to btBulletCollisionCommon.h headerfile
Enable soft body vs concave (albeit slow)
Improved contact point debug rendering (moved from constraint solver into debugDrawWorld)
2008-05-24 04:23:00 +00:00
erwin.coumans
bd97c5e569 Fixed warnings in Bullet/src core library
Thanks Martijn Reuvers from Two Tribes B.V. (www.twotribes.com) for the patch

To make this work more visible, suppress warnings in external libraries in Extras (COLLADA_DOM, libxml and glui contain many warnings)
Added PreprocessorDefinitions: _CRT_SECURE_NO_DEPRECATE;_CRT_NONSTDC_NO_DEPRECATE to vcproj files
2008-05-10 18:00:21 +00:00
erwin.coumans
1139c06a4d more soft body preparations, moved some parts from Demo/SoftBody to src/BulletDynamics/SoftBody
moved Extras/ConvexHull/btConvexHull.* to src/LinearMath/btConvexHull.*
removed btCollisionObject::m_internalOwner, replaced it by m_internalType. This should not affect external API (it was clearly marked as internal)
2008-04-10 20:00:41 +00:00
erwin.coumans
b32d6f790f added btInternalTickCallback, see btDynamicsWorld::setInternalTickCallback
Thanks chunky!

http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1991
2008-04-08 02:51:49 +00:00
erwin.coumans
65bb612598 - added quickSort to btAlignedObjectArray (has generally better performance then heapSort)
- replaced all usage of heapSort by quickSort
- finished btMultiSapBroadphase. Still some work to be done to increase performance (faster add/remove from child broadphases. 
  uses currently AABB tree to locate child broadphase (should use grid), and sorted array takes too much time.
2008-03-16 04:30:43 +00:00
ejcoumans
a4e63aed00 - DemoApplication, debug text rendering was broken, glLoadIdentity() missing
- copy user data over to child shape
- added applied impulse to btManifoldPoint
- add ContactProcessedCallback (needs test/demo)
- didn't copy over m_additionalDampingFactor into btRigidBody.
2008-02-07 08:00:16 +00:00
johnmccutchan
8fff5c54e9 Added name fields to Collision Object and Shape.
Added name field to Typed Constraint.
Added accessor for gravity in dynamics world.
2008-01-30 01:52:07 +00:00
ejcoumans
6eb97cd966 added debug rendering for planeshape
added void* userpointer (+getUserPointer/setUserPointer) to each btCollisionShape
2008-01-23 03:06:15 +00:00
ejcoumans
f12f04fb97 optimization: only call solveGroup if there is some work: avoid virtual function call, its overhead can be excessive
based on 3000 body benchmark
2008-01-18 07:10:08 +00:00
ejcoumans
d051e2eacb First commit of 2008, Happy New Year!
Add option to compile without btClock and without profiling: comment out USE_BT_CLOCK, and #define BT_NO_PROFILE
Fixed typo/case in #include "LinearMath/btQuickProf.h", in SpuParallelSolver.cpp
Removed unnecessary files from libxml CMakeLists.txt
2008-01-03 04:42:00 +00:00
ejcoumans
17a214a2b3 - Added btRigidBodyConstructionInfo, to make it easier to set individual setting (and leave other untouched) during rigid body construction.
This was harder using default arguments. Thanks Vangelis Kokkevis for pointing this out.
- Fixed memoryleak in the ConstraintDemo and Raytracer demo.
- fixed issue with clearing forces/gravity at the end of the stepSimulation, instead of during internalSingleStepSimulation.
Thanks chunky for pointing this out: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1780
- Disabled additional damping in rigid body by default, but enable it in most demos. Set btRigidBodyConstructionInfo m_additionalDamping to true to enable this.
- Removed obsolete QUICKPROF BEGIN/END_PROFILE, and enabled BT_PROFILE. Profiling is enabled by default (see Bullet/Demos/OpenGL/DemoApplication.cpp how to use this).
User can switch off profiling by enabling define BT_NO_PROFILE in Bullet/src/btQuickprof.h.
2007-12-17 04:26:36 +00:00
ejcoumans
947dc8d33d Moved the 'btRigidBody::clearForce' to the end of the stepSimulation, instead of in each substep.
Should help with this issue, reported here: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1601
We can optionally leave out the 'clearForces'.
Thanks everyone for the discussion.
2007-12-12 02:53:51 +00:00
ejcoumans
a45912e39c move updateAabbs from dynamics world to collision world 2007-12-10 02:59:04 +00:00
ejcoumans
f1be4ab221 only update aabb of active objects, thanks Peter Tchernev for reporting (http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1764 )
move debug aabb rendering from updateAabb to debugDrawWorld
2007-12-10 02:18:38 +00:00
ejcoumans
71fb40b775 some demo cleanup, part 0 2007-12-06 23:58:50 +00:00
ejcoumans
eb9429ad31 need to include btQuickprof.h, instead of btQuickProf.h (breaks case sensitive systems)
Thanks ola for reporting this!
2007-11-28 18:55:28 +00:00
ejcoumans
cab75b53ec added hierarchical profiling (needs more cleanup)
avoid dynamic allocations in btRaycastVehicle
2007-11-21 03:00:40 +00:00
ejcoumans
f5fb2d77eb fixed include path (don't use system include <>, but "" instead)
Thanks to Stephen (shatcher) for reporting!
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1696&p=6412#p6412
2007-11-17 17:16:19 +00:00
ejcoumans
e755d1ed4e added some comments, to clarify unit-test/brute force implementations. 2007-11-02 01:14:29 +00:00