Commit Graph
704 Commits
Author SHA1 Message Date
erwin.coumans 4236764cfb enable 'getAngularFactor' again
add getAppliedImpulse accessor to btManifoldPoint
2009-02-17 20:38:54 +00:00
erwin.coumans d886c06fa5 Add the option for the btSimulationIslandManager to avoid splitting islands (for constraint solving)
Move the convertContact inside constraint solver to its own method
2009-02-13 02:34:46 +00:00
erwin.coumans 26d7757135 avoid breaking the API (forcing to implement resetPool), so that spubullet 2.73 sp1 stays compatible with public bullet-2.74 2009-02-12 02:48:18 +00:00
erwin.coumans 5698d6aed1 reset randseed in constraint solver for determinism
use BT_USE_SSE in btDbvt, defined in btScalar.h
2009-02-11 05:44:48 +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 be3260280a Fix for issue #192
Also: Avoid divide by zero before OpenGL window is up
2009-02-10 22:10:21 +00:00
erwin.coumans d0572bdef7 revert to use non-obsolete implementation, thanks to Kate for bringing this up.
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3191
2009-02-10 17:22:05 +00:00
erwin.coumans 2a10a61f50 Some work-in-progress on making btDbvtBroadphase deterministic. When using the btSortedOverlappingPairCache, it seems deterministic now. todo: when using btHashedOverlappingPairCache. 2009-02-10 03:50:58 +00:00
rponom c94cad8cba Added a possibility for btHingeConstraint to use frame of rigid body A as a reference frame at construction time.
It is off by default, so the existing code should work as before
2009-02-10 02:42:54 +00:00
erwin.coumans 98436a85c3 Fix issues with btSortedOverlappingPairCache, both for btAxisSweep3 and btDbvtBroadphase. 2009-02-09 22:57:52 +00:00
erwin.coumans cf751f5493 Add a convenience method to control the number of single-shot contact points for convex-convex collision detection, using the perturbation method.
(btDefaultCollisionConfiguration::setConvexConvexMultipointIterations)
Default value is zero, for best performance.
2009-02-09 19:53:00 +00:00
john.mccutchan cd126aae8f Height field terrain shape fixes from tomva1@yahoo.com 2009-02-09 16:28:44 +00:00
erwin.coumans 0a94209df1 make btTransform::getIdentity a static const reference, returning a static, and add getIdentity to btMatrix3x3 and btQuaternion class
Thanks to ejtttje and martijn for the suggestions:
http://code.google.com/p/bullet/issues/detail?id=139
2009-02-06 19:30:50 +00:00
erwin.coumans 41af960e7a Applied some warning/assert patches, thanks to Ole K.
http://code.google.com/p/bullet/issues/detail?id=186
2009-02-06 19:05:54 +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 5593a23417 upgrade version of projectfiles, cmake
fix build for msvc 6.0
2009-02-06 05:37:37 +00:00
erwin.coumans f7092c0767 version update to 2.74 2009-02-06 05:02:33 +00:00
erwin.coumans 2162f6663d disable help text by default in AllBulletDemos (text slows down many graphics cards)
improve CollisionDemo.cpp, show multi-contact generation using perturbation
improve ColladaConverter: add hinge/point 2 point constraint conversion support, add btScaledTriangleMeshShape support
Fix Dynamica MayaPlygin: remove 'active' flag, it has to be replaced by mass=0 for active, mass<>0 for passive
Added missing projectfiles
Fixed single-shot contact generation. it is disabled by default to improve performance
Bugfixes for character controller, thanks to John McCutchan for reporting
Constraint solver: better default settings
btDefaultAllocator: aligned allocator uses non-aligned allocator (instead of directly malloc/free)
disable memalign by default, use Bullet's aligned allocator
2009-02-06 03:20:43 +00:00
rponom d1b9dd4c83 Several improvements in constraint debug drawing 2009-02-06 00:04:52 +00:00
rponom 2766d19d65 Bug in 6DOF constraint fixed
Twist is now locked when twistSpan == 0 for btConeTwistConstraint
Hinge axis for rigidBodyB is no longer flipped
2009-02-06 00:04:32 +00:00
erwin.coumans fd2cc88db8 contact point perturbation is work-in-progress, so disable until fully functional and tested. 2009-02-05 06:25:09 +00:00
erwin.coumans f4ad4b9d00 add generic btConeTwistConstraint::setLimit, and change defaults for limit drawing 2009-02-04 02:41:16 +00:00
rponom 2f23237185 Improved and more stable btConeTwistConstraint (thanks to Edy Boxerman) 2009-02-04 02:11:45 +00:00
erwin.coumans daf350168d fix spelling mistake: pertube -> perturbe 2009-02-03 01:00:55 +00:00
erwin.coumans 0754876d77 Calculate multiple contact points (for convex-convex and convex-plane) when less then 3 points exist in the persistent manifold.
Uses the normal pertubation method, described by Gino van den Bergen:  http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=4&t=288&p=888#p888
Made btRigidBody::getInvInertiaDiagLocal const, thanks to abhikp (http://code.google.com/p/bullet/issues/detail?id=183 )
2009-02-03 00:54:01 +00:00
erwin.coumans bcbe730471 Perform several rotation pertubations, to create multiple collision contact. works for convex versus plane. todo: convex versus convex.
See issue http://code.google.com/p/bullet/issues/detail?id=20:

Note that the default number of pertubation iterations (10) and pertubation angle (0.05) can be modified through the collisionConfiguration:

	btConvexPlaneCollisionAlgorithm::CreateFunc* func = (btConvexPlaneCollisionAlgorithm::CreateFunc*)collisionConfiguration->getCollisionAlgorithmCreateFunc(BOX_SHAPE_PROXYTYPE,STATIC_PLANE_PROXYTYPE);
	func->m_numPertubationIterations = 0;
	func = (btConvexPlaneCollisionAlgorithm::CreateFunc*)collisionConfiguration->getCollisionAlgorithmCreateFunc(STATIC_PLANE_PROXYTYPE,BOX_SHAPE_PROXYTYPE);
	func->m_numPertubationIterations = 0;
2009-02-02 21:11:19 +00:00
john.mccutchan bb07d68c32 Added shared library support to autoconf build.
Cleanups to autoconf makefile hierarchy
Fixes to bullet package config
2009-01-26 21:42:34 +00:00
erwin.coumans 57fb21879b Expose various advanced friction options to the developer, and use a higher-quality friction model by default, to match ODE quickstep constraint solver.
Thanks to Martijn Reuvers for bringing this up, and reproduction case.
See issue here: http://code.google.com/p/bullet/issues/detail?id=177
2009-01-20 01:21:48 +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 fb15a0ab27 fix bug in btSoftBodyHelpers, flags the wrong linked index-pairs.
Thanks to basarugur for the fix:
http://code.google.com/p/bullet/issues/detail?id=172
2009-01-19 07:15:23 +00:00
erwin.coumans 0e3b04d952 Add COLLADA physics support for GImpact (allowing dynamic moving rigid bodies using concave collision shapes) in ColladaDemo, and ColladaConverter (import and export)
Note: ColladaConverter will export a btGImpactConvexDecompositionShape the same as a btCompoundShape, so importing an exported btGImpactConvexDecompositionShape (roundtrip) creates a btCompoundShape
2009-01-19 04:18:02 +00:00
erwin.coumans d1263be23f Fix compile error: invalid initialization of non-const reference of type ‘btVector3&’ from a temporary of type ‘btVector3’ 2009-01-16 05:21:54 +00:00
rponom 21afccdb29 Handy functions for debug visualization was added 2009-01-16 03:04:55 +00:00
rponom e7ca0e6a9c Bug in Generic 6DOF joint fixed
Debug visualization of joint constraints was added
2009-01-16 03:04:07 +00:00
rponom 33fe793bcd a bug in the btHingeConstraint motor for SIMD solver fixed 2009-01-13 20:23:29 +00:00
john.mccutchan ff274a2e77 Allow setting up axis on kinematic character controller 2009-01-12 17:11:35 +00:00
rponom 682dd3262b Bug in the sign of linear motor force for btSliderConstraint fixed 2009-01-09 00:32:06 +00:00
john.mccutchan a8ec916af0 Added Height Field Fluid Demo to Bullet. All code stored in the Demos/HeightFieldFluidDemo directory for now.
Please see HfFluidDemo.cpp for examples of how to use the height field fluid along with buoyant collision shapes.

The implementation is still lacking in my ways:
1) Need to complete more collision algorithms for buoyant collision shapes
2) Support compound buoyant shapes
3) The buoyancy model isn't that great
4) Fluid volume can be lost over time
2009-01-08 22:53:23 +00:00
rponom 1991bf3013 Added getInfo1()/ getInfo2() code for joints to support the new SIMD constraint solver 2008-12-25 02:13:46 +00:00
erwin.coumans 4be20dc347 BulletMultiThreaded optimization: remove some memory copy on non-SPU platforms, using cellDmaGetReadOnly. 2008-12-12 22:28:16 +00:00
erwin.coumans c541414c84 disable btDbvt::collideTT with transform, it is unused and uses an invalid Intersect method. 2008-12-09 06:21:19 +00:00
erwin.coumans 8ed2db9b42 finally applied this 'getGravity' patch, so getGravity matches setGravity.
Thanks to Evgeny for the report/patch:
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1852
http://code.google.com/p/bullet/issues/detail?id=23
2008-12-09 02:16:05 +00:00
erwin.coumans 6db1b932fd Make the btDbvtBroadphase deterministic/reproducable, by sorting the btBroadphasePair using unique ID, instead of proxy address.
The btAxisSweep3 didn't suffer from this issue, because proxies were always allocated in-order, as part of an array.
2008-12-08 20:16:29 +00:00
erwin.coumans 65cdd7146f Use placement new for copy constructor of arrays. Thanks to M. Reuvers for the patch.
http://bulletphysics.com/Bullet/phpBB3/viewforum.php?f=9

Generally, however, it is best to avoid copying entire arrays, but use a 
reference.

typedef btAlignedObjectArray<btSomeClass> Array;

Array a;
Array b = a;//avoid this whenever possible

This is much better:
Array& b = a;//use a reference
const Array& b = a; //or const reference
2008-12-08 17:57:18 +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 635e1a6aa0 set broadphase handle to zero when destructing a btCollisionWorld, just in case a collision object/ rigid body is re-used.
Thanks to Ole for reporting

Fix a bug , causing some deep penetrations to be missed. Not likely to have impacted many users, as such deep penetrations should have prevented in the first place.
Thanks a lot to Andy O'Neil for reporting and reproduction case.
2008-12-05 22:40:13 +00:00
erwin.coumans b89b71b38d improving the SSE constraint solver performance: avoid a FPU/minus operation, by replacing a _mm_add_ps(-normal,X) by _mm_sub_ps(X,normal) 2008-12-03 17:40:01 +00:00
erwin.coumans 452fd24501 use 0.2 for erp, 0.4 makes stacks very spungy 2008-12-03 06:09:25 +00:00