Commit Graph
41 Commits
Author SHA1 Message Date
erwin.coumans@gmail.com d48e2c717c fix rotation correction in btFixedConstraint, see Issue 769 2013-12-04 19:06:28 +00:00
erwin.coumans@gmail.com 1362b6ab48 Fix convex cast normals for btScaledBvhTriangleShape: normals were already in world space
See Issue 371 THere seems to be some other issues, need to get a reproduction case.
2013-11-26 18:44:06 +00:00
erwin.coumans@gmail.com 5910b42d8d fix SIMD_2_PI macro, see Issue 773 2013-11-26 17:15:05 +00:00
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@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@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@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@gmail.com 2bb26cbb7d Enable btHeightfieldShape in VehicleDemo, so it is tested (using heightfield128x128)
(converted raw data to .cpp so it doesn't need to be loaded from disk)
Some optimizations for btHeightfieldShape, thanks to Danny Chapman
 Quick check on AABB (was not done) and reduce calls to 'getVertex'
2013-09-10 00:57:00 +00:00
erwin.coumans@gmail.com dfaed4b258 fix a line in unused testing code (USE_GJK should be defined) 2013-08-30 18:43:10 +00:00
erwin.coumans@gmail.com e045896e92 Releasing, add files that contain VERSION information for a release and remind to cr-create serialization data structure file 2013-08-26 19:06:16 +00:00
erwin.coumans@gmail.com f23693147c Clarify Bullet 2.x release procedure 2013-08-26 19:02:17 +00:00
erwin.coumans@gmail.com 4ed87140fc add an update revision, to make it easier to sync with Bullet 3.x
add set/getUserindex in addition to set/getUserPointer
2013-06-19 01:00:42 +00:00
erwin.coumans@gmail.com 542c53fb30 Don't pass along unused btStackAlloc everywhere. The API change might user code (derived classes with the old virtual method are not called anymore) 2013-05-08 22:45:35 +00:00
erwin.coumans@gmail.com 329b9a1e3c Avoid collision response between non-dynamic bodies, introduced in a recent commit.
Fixes Issue 711 https://code.google.com/p/bullet/issues/detail?id=711
Thanks to Sergej Reich.
2013-05-08 21:07:35 +00:00
erwin.coumans@gmail.com 9abd0b6029 Sorry for the lack of updates, I am preparing Bullet 3.x initial release and get back to merging Bullet 2.x and Bullet 3.x afterwards.
fix some crash in btSoftBody, related to running out-of-memory. You can configure the default maximum memory allocation for the signed distance field using worldInfo->m_sparsesdf.Initialize(hash, maxAllocation);
fix 'exploding' btSoftBody, related to very small masses. You can configure maximum displacement per frame using worldInfo->m_maxDisplacement 
avoid some crash in the world importer
2013-04-22 19:00:58 +00:00
erwin.coumans@gmail.com e8c2475c95 Added a gCompoundChildShapePairCallback to filter (enable/disable) child shape collisions for a btCompoundShape.
Thanks to Rich McDaniel for the patch.
See MyCompoundChildShapeCallback in Demos/ConvexDecompositionDemo/ConvexDecompositionDemo.cpp for usage.
2013-04-02 02:01:43 +00:00
erwin.coumans@gmail.com 1f4f8c7e05 Workaround for sticky convex collisions when using GJK/EPA in combination with very small collision margins.
In some degenerate cases the contact normal is pointing the wrong direction
so fix it now (until we can deal with all degenerate cases in GJK and EPA)
contact normals need to point from B to A in all cases, so we can simply check if the contact normal really points from B to A
We like to use a dot product of the normal against the difference of the centroids, 
once the centroid is available in the API
until then we use the center of the aabb to approximate the centroid
2013-04-02 00:32:18 +00:00
erwin.coumans@gmail.com e208f99289 clear all arrays when deleting data. Fixes Issue 645. 2012-09-08 20:05:53 +00:00
erwin.coumans@gmail.com f3d40957be replace MAKE_ID by BT_MAKE_ID to avoid conflic with Blender code base. Fixes Issue 628, thanks to Sergey! 2012-09-08 19:33:47 +00:00
erwin.coumans@gmail.com 9065f59229 only use neon for armv7, quick commit through website 2012-09-06 05:22:17 +00:00