Commit Graph

1662 Commits

Author SHA1 Message Date
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
5be9f8f301 basic implementation of self-collision for btSoftBody with collision clusters: perform regular soft body versus soft body, but disable collision detection between clusters that are connected/share any node (vertex).
currently self-collision is always enabled for soft bodies that use clusters collision detectoin. to disable, call 'softbody.m_clusterConnectivity.clear' after 'generateClusters(...) call.
2009-03-02 05:13:26 +00:00
erwin.coumans
210fe36106 Add backface culling and option to keep unflipped hit normal in case a ray hits a back-facing triangle.
Usage: set RayResultCallback.m_flags to kF_FilterBackfaces, optionally combined with kF_KeepUnflippedNormal.
Thanks Andy O'Neil for the patch!

Remove the force_inline for some internal constraint solver methods, it makes re-use easier.
Workaround/avoid MSVC 2005 compiler error in LibXML/trionan.c
2009-02-28 01:25:23 +00:00
erwin.coumans
a216ce4bf6 apply patch for convex decomposition performance improvements, thanks to Tuan Kuranes:
http://code.google.com/p/bullet/issues/detail?id=199
Fix in soft body collision, adding collision margin twice (was visible when rigid body spheres rested on cloth)
2009-02-28 00:21:30 +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
a95d0e638e fixes in btConeTwistConstraint, check for btFuzzyZero instead of zero to avoid instability. 2009-02-20 00:53:24 +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
rponom
8295114c68 Some improvements for the btConeTwistConstraint:
- member m_fixThresh was added;
- one of two swing rotations become fixed if the corresponding limit is less than m_fixThresh value;
2009-02-18 19:46:42 +00:00
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