erwin.coumans@gmail.com
9aad92315b
Avoid crash in btCompoundCompoundCollisionAlgorithm if there is no tree for one of the btCompoundShapes
...
Update the revision, to avoid clearing the child cache each frame
2013-11-17 20:35:35 +00:00
erwin.coumans@gmail.com
886650a038
fix 'unused' warning. Fixes Issue 770
2013-11-17 20:13:50 +00:00
erwin.coumans@gmail.com
673e74146e
only build demos using extras if BUILD_EXTRAS is on
2013-11-17 20:03:42 +00:00
erwin.coumans@gmail.com
0536f986a6
apply patch: soft bodies should not collide with ghost objects.
...
Thanks to Sergej Reich for the patch, fixes Issue 757
2013-11-04 01:12:52 +00:00
erwin.coumans@gmail.com
439ab03940
fix Mac OSX build (there is no such member called e.m128_f32[0]
2013-11-03 19:55:08 +00:00
erwin.coumans@gmail.com
218d4d1394
use a separate default cfm for the MLCP solver, it is a very sensitive value for Dantzig (and Lemke)
2013-10-31 16:52:32 +00:00
erwin.coumans@gmail.com
644d01d231
added the btNNCGConstraintSolver, based on the paper "Nonsmooth Nonlinear Conjugate Gradient Method for interactive
...
contact force problems". The solver needs a lot of iterations, before the quality goes up (~ 1000)
Thanks to Gabor PUHR for the contribution!
Improved the btLemkeSolver.
Remove the sparse optimizations from the btMatrixX.h, replace it with explicit call to rowComputeNonZeroElements (only used in the btSolveProjectedGaussSeidel), it was likely slowing things down, without being useful.
Re-enable SIMD in the solver (was accidently disabled in Bullet 2.82 release)
2013-10-31 06:17:08 +00:00
erwin.coumans@gmail.com
6ca948e22f
make Lemke work with lower/upper bounds, using the BLCP to LCP conversion (using a dog-slow matrix inversion etc)
...
for this conversion, see also https://github.com/erwincoumans/num4lcp/blob/master/matlab/test_lcp_bounds.m and
appendix A1 in http://www.cs.duke.edu/~parr/nips10.pdf , thanks to Kenny Erleben and Evan Drumwright for the tips!
(friction is not coupled to normal forces yet)
2013-10-30 00:02:13 +00:00
erwin.coumans@gmail.com
13936eb9a5
use square epsilon in btVector3::fuzzyZero (length2)
2013-10-29 22:53:01 +00:00
erwin.coumans
1a2c3c0ee9
Added a Lemke MLCP solver, extracted from the MBSim project, and re-licensed under the zlib license
...
with permission of the original author.
The Lemke implementation is not fully working yet:
1) we need to convert the lo-high LCP problem into a problem without the lo/high
2) we need to sort out the remaining instabilities, and report a failure if the max loopcount is reached etc.
We replaced the fmatvec library with our own LinearMath/btMatrixX.h, and STL std::vector with btAlignedObjectArray
Removed some warnings/potential issues: use fuzzyZero instead of isZero, and some warnings,
related to this issue 756
2013-10-26 18:45:25 +00:00
erwin.coumans@gmail.com
19f999ac08
fix double precision, and remove alloca
...
increase mass of the load, to show benefits of direct MLCP solver
move damping back to original location
2013-10-24 18:31:27 +00:00
erwin.coumans@gmail.com
5ca137cb54
fix autotools build, add MLCPSolvers and ForkLiftDemo
2013-10-24 02:27:37 +00:00
erwin.coumans@gmail.com
f5320e4106
add "latency motion state interpolation", using previous frame/current, instead of current->next
...
See Demos/ForkLiftDemo for example (F7 to toggle, use single-frame stepping, press 'i' and 's' to see the effect)
2013-10-24 00:13:43 +00:00
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
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