Commit Graph

2761 Commits

Author SHA1 Message Date
erwin.coumans@gmail.com
a1c962192c Allow the ForkLiftDemo to toggle between MLCP and SI solver, using F6 key.
Apply patch for CMake config, see Issue 754 (Issue 753)
Fix a few issue with the MLCP solver: allow split impulse, and fix offset in friction dependencies
2013-10-23 23:35:13 +00:00
erwin.coumans
e5590575a9 disable self-collision for btMultiBody with prismatic joint: the collision normals are conflicting (they assume 3d objects, but 2 bodies/links in a multi-body don't have the DOFs to resolve the collision, resulting in 'explosions' adding energy. 2013-10-23 18:00:32 +00:00
erwin.coumans
7285bd8390 update quickstart guide with 'what's new for 2.82' 2013-10-23 03:31:43 +00:00
erwin.coumans
1503c806bd fix Mac OSX build when using GNU++11 C++ language standard, make this the default in premake under OSX for easier testing 2013-10-22 23:08:43 +00:00
erwin.coumans
9b44762519 pass the settings to create a FeatherstoneMultiBody as a struct, instead of all individual parameters 2013-10-22 22:36:43 +00:00
erwin.coumans
0024c87316 move the m_maxAppliedImpulse into base class, and use it for motor strength/point to point constraint strength 2013-10-22 21:49:52 +00:00
erwin.coumans
f22ceecb82 Fix Featherstone btMultiBodyPoint2Point constraint and picking: don't assume body 0 is the fixed body! 2013-10-22 21:06:47 +00:00
erwin.coumans
75260cd0d7 fix iOS compilation when the C++ Language Dialect is set to GNU++11 2013-10-22 19:13:24 +00:00
erwin.coumans
4169c52b2a use __ARM_NEON__ preprocessor check instead of __armv7__ 2013-10-22 19:01:21 +00:00
erwin.coumans@gmail.com
cf7f5436e4 apply CMake patch in Issue 748
thanks to Julien Schueller for the contribution!
2013-10-22 18:34:17 +00:00
erwin.coumans@gmail.com
23f612bbb5 fix Linux build
by default, only enable 64bit build when using ./premake4_linux64 and only 32bit build when using ./premake4_linux
remove some warning
2013-10-22 18:10:45 +00:00
erwin.coumans@gmail.com
a21480c8ca Attempt to fix "Regression in friction and damping behaviour" , see issue 752
Thanks to Sergej Reich for the report and narrowing down the breaking revision!
2013-10-22 09:26:08 +00:00
erwin.coumans@gmail.com
5e372d6ac5 fix compile errors 2013-10-21 23:33:01 +00:00
erwin.coumans@gmail.com
379f0079e0 Added Dantzig MLCP solver option from Open Dynamics Engine (trying to avoid naming/linking conflicts in case ODE and Bullet is used together)
If an MLCP solver fails, use PGS/SI fallback, add a boolean return value for 'solve' method
2013-10-21 23:27:09 +00:00
erwin.coumans@gmail.com
1ca0493dc4 Build full A matrix and b vector for a MLCP solver interface, to explore Lemke, Dantzig, Newton and other MLCP solvers. The A matrix contains sparsity information.
Added a PGS solver that uses the sparsity of the A matrix, just for testing (the equivalent sequential impulse solver is much faster, not having to allocate the big matrices)
2013-10-20 17:38:14 +00:00
erwin.coumans@gmail.com
5bd6decb2e Use the more accurate, but slightly slower, gjk ray test by default, instead of the sub-simplex convex cast.
Set the rayCallback.m_flag  btTriangleRaycastCallback::kF_UseSubSimplexConvexCastRaytest to enable the previous approximate/faster ray test.
2013-10-19 16:42:17 +00:00
erwin.coumans
d998680a68 fix error in Visual Studio 2005 build, due to unsupported SSE intrinsics 2013-10-16 21:25:52 +00:00
erwin.coumans@gmail.com
d4640227ce add option to disable btMultiBody self-collision (for the entire hierarchy) or to disable parent-child collision for jointed links. 2013-10-08 00:50:40 +00:00
erwin.coumans@gmail.com
34d975143e expose maximum applied impulse for btMultiBody, introduced to reduce/avoid 'exploding' simulations
use btScalar instead of float, to enable double precision build, fix for Issue 744
2013-10-06 17:13:08 +00:00
erwin.coumans@gmail.com
488dd44835 Added btMultiBodyPoint2Point, it can be used between btMultiBody vs btMultiBody or btMultiBody vs btRigidBody
Allow picking of btMultiBody, using a btMultiBodyPoint2Point constraint, with limited strength to avoid adding too much energy to the system (= blowup)
Add btMultiBodyJointMotor, it can be used in combination with joint limit (just add the joint limit after the motor, to avoid jitter)
2013-10-05 01:46:32 +00:00
erwin.coumans@gmail.com
2fb686b937 change btMultiBody to allow removal/changing of links
(still not easy to modify the link structure of a btMultiBody -> You have to manually re-link parents, copying links around etc)
2013-10-03 05:13:41 +00:00
erwin.coumans@gmail.com
88b8ae552b add a btFixedConstraint with toggle between btGeneric6DofConsraint and btFixedConstraint in VoronoiFractureDemo 2013-10-02 21:50:50 +00:00
erwin.coumans
75f17509cc Add a virtual createConstraintRows method, to easier experiment with different kinds of btMultiBodyConstraint 2013-10-02 21:38:40 +00:00
erwin.coumans
c2bece5280 Enable btMultiBodyJointLimitConstraint, seems to be working for the prismatic joint
Fix case sensitive issue, thanks to Martin Felis
Fix crash/bug in btMultiBodyConstraint computation
2013-10-02 20:14:48 +00:00
erwin.coumans
36cfbd47a6 preparation for joint limit constraint for Featherstone btMultiBody 2013-10-02 06:25:20 +00:00
erwin.coumans
d8b6a02a7a Fix some crashes in FeatherstoneMultiBodyDemo, when using a fixed base
Create two btMultiBody, one fixed and one free base
Preparation towards btMultiBodyConstraint
2013-10-02 03:07:52 +00:00
erwin.coumans
f02dd51597 Added a first version of a Featherstone multi body implementation.
The original version was written by Stephen Thompson.
I replaced Eigen math by Bullet LinearMath, and added a dedicated 6x6 matrix solver. 
Also I integrated support for collisions/contact constraints between btMultiBody and btRigidBody, and de-activation support.
See Demos/FeatherstoneMultiBodyDemo/Win32FeatherstoneMultiBodyDemo.cpp for example usage.
There is currently only support for contact constraints for btMultiBody. 
Next on the list will be adding support for joint limit constraint for btMultiBody. 
The implementation is still experimental/untested, the quality will improve in upcoming Bullet releases.
2013-10-01 22:50:31 +00:00
erwin.coumans
7292867d25 applied character controller patch, not tested (allow community to develop btKinematicCharacterController.cpp) 2013-10-01 17:35:45 +00:00
erwin.coumans
dece911679 removed Particles OpenCL demo, all OpenCL work is moved to Bullet 3.x see
http://github.com/erwincoumans/bullet3
Fixes Issue 741
2013-10-01 17:28:56 +00:00
erwin coumans
fcd5541b04 fix BasicGpuDemo compilation 2013-09-17 14:46:11 -07:00
erwin.coumans
858c890c96 prettify the debug wireframe drawing of sphere, capsule, cylinder and cone
add an btAssert in normalize of btVector3 and 'normalized' always use 'normalize'
2013-09-17 02:01:14 +00:00
erwin.coumans
5f5d601ebf added two methods to btQuaternion, and add a note that the 'angle' method returns the half angle.
angleShortestPath and getAngleShortestPath
Thanks to Tully Foote. This fixes issue 379.
2013-09-16 19:05:36 +00:00
erwin.coumans
126fd06ac6 remove the 'isActive' test when merging simulation islands for constraints and speculative contacts, it is wrong
This fixes issue 709
2013-09-16 17:25:05 +00:00
erwin.coumans
c28652de37 add serialization for btGearConstraint
support 'linearFactor' and 'angularFactor' for btRigidBody world importer
2013-09-14 17:51:09 +00:00
erwin.coumans
6fd4738a9e use the old data structures for single precision serialization, to make it backwards compatible
So files created by the new double precision serialization of Bullet 2.82 cannot be read by old Bullet versions,
but double precision serialized file generated by older Bullet versions can be read by Bullet 2.82 or newer.
2013-09-14 16:49:31 +00:00
erwin.coumans
e22a11c021 update serialization structures 2013-09-14 06:22:22 +00:00
erwin.coumans
1aac33f6b6 refactor constraint serialization, so that double precision is maintained,
changes are backwards compatible (btBulletWorldImporter can load old .bullet files)
but not forwards compatible (constraints in new .bullet files are ignored/unrecognized by old Bullet SDK)
This commit is for Issue 734. Some more work needs to be done for btGImpactMeshShapeDoubleData and thus btStridingMeshInterfaceDoubleData and btMeshPartDoubleData
2013-09-14 06:08:50 +00:00
erwin.coumans
e94a2137b0 minor update manual
fix vehicle demo (heightfield is broken, when using very large scaling factor)
add btConeShape serialization, see Issue 725
add btGearConstraint get/set, see Issue 685 and Issue 671
2013-09-13 16:34:39 +00:00
erwin.coumans
8f4f99809e use btScalar instead of float for btTriangleMesh
thanks to nsarkozi. This fixes issue 704
2013-09-12 22:22:15 +00:00
erwin.coumans
29915ba7fd bump up VERSION to 2.82 in various places, there is still some more issue to be fixed before release. 2013-09-12 20:37:30 +00:00
erwin.coumans
fa2276f1ca add option for slightly more accurate, and slightly slower algorithm for ray versus convex, used in btCollisionWorld::rayTest.
rayResult.m_flags |= btTriangleRaycastCallback::kF_UseGjkConvexRaytest;
See Demos/RaytestDemo/RaytestDemo.cpp for usage
This fixes issue 146, longest outstanding from 2008.
2013-09-12 20:25:06 +00:00
erwin.coumans
e792f0e549 Add faster processing of btCompoundShape versus btCompoundShape, using a dedicated btCompoundCompoundCollisionAlgorithm,
with hash pair caching and tandem tree traversal. It should be much faster, when using many child shapes for both compounds.
Fix iOS compilation, added header.
2013-09-12 19:28:39 +00:00
erwin.coumans
1685729b80 Show how to use the btBroadphaseInterface::aabbTest, it collects all objects that overlap with a given bounding box
This fixes old Issue 114
Removed 2 warnings
2013-09-11 05:52:19 +00:00
erwin.coumans
a197c58935 Add #ifdef BT_NO_SIMD_OPERATOR_OVERLOADS before including Bullet headers, to avoid clashes with XNAMath.h
Fixes Issue 710
error C2084: function 'XMVECTOR operator +(FXMVECTOR,FXMVECTOR)' already has a body
error C2084: function 'XMVECTOR operator -(FXMVECTOR,FXMVECTOR)' already has a body
error C2084: function 'XMVECTOR operator *(FXMVECTOR,FXMVECTOR)' already has a body
2013-09-11 00:01:48 +00:00
erwin.coumans
bb379bd84c fix one of the btCompoundShape scaling issues, this fix breaks the API (need to add warning at the next release)
fixes https://code.google.com/p/bullet/issues/detail?id=374 and
https://code.google.com/p/bullet/issues/detail?id=444
2013-09-10 23:34:23 +00:00
erwin.coumans
7195b54d13 Fix Issue 712, related to NVIDIA CUDA check in CMakeLists.txt
Enable btGImpact raycast optimization, thanks to C0DEFACE, see Issue 664
Cull triangle/AABB for concave/heightfield shapes, thanks to Danny Chapman
fix btGetCpuCapabilities, thanks to Ian Ollman! See https://code.google.com/p/bullet/issues/detail?id=738
2013-09-10 23:09:24 +00:00
erwin.coumans
7633dc8b13 use __int64 for 64bit uint64_t for 64bit Visual Studio
See https://code.google.com/p/bullet/issues/detail?id=717
allow parallel constraint solver in double precision
See https://code.google.com/p/bullet/issues/detail?id=728
2013-09-10 21:26:19 +00:00
erwin.coumans
c160bfe74c applied Character controller patch #20 from Issue 198
See https://code.google.com/p/bullet/issues/detail?id=198
2013-09-10 20:40:42 +00:00
erwin.coumans
d50be40f8e Fix Issue 2644, compile error due to use of removed stack alloc 2013-09-10 20:15:52 +00:00
erwin.coumans
0779a274de fix Clang issue
https://code.google.com/p/bullet/issues/detail?id=736
2013-09-10 20:06:24 +00:00