Commit Graph

2320 Commits

Author SHA1 Message Date
erwincoumans
11d8f069f0 Disable overlapping pair debug variables behind the BT_DEBUG_COLLISION_PAIRS preprocessor definition. 2018-05-29 17:06:35 -07:00
erwincoumans
ec4b3505a4 fix fixed constraint between btMultiBody and btRigidBody 2018-05-29 16:49:07 -07:00
Erwin Coumans
e79ae13cde disable adhoc gjk terminarion heuristics by default 2018-05-26 08:52:52 +10:00
Erwin Coumans
d133c33d73 Use a very large default m_contactStiffness (so that if one object is a bit soft, the stiffness is properly combined) 2018-05-26 08:50:45 +10:00
Erwin Coumans
a9ff5246c9 make gjk a bit more robust, try different initial guess vector if it fails to find a solution (happens for queries with large differences in shape size) 2018-05-25 08:18:12 +10:00
Erwin Coumans
62d58259bc Fix Issue #1623, SphereTriangleDetector for cases with positive contactBreakingThreshold and where sphere was intersecting with multiple edges
(need to take the closest edge)

Thanks to Andrea Catania for the report and reproduction case!
2018-05-22 08:36:00 +10:00
erwincoumans
83a34d8ae2 Merge pull request #1663 from vsaulue/fix-doxygen
Fix some Doxygen comments in btMatrix3x3.
2018-05-16 17:02:23 -07:00
erwincoumans
4c4cf11667 Merge pull request #1687 from erwincoumans/master
fix VR controllers only visible in one eye
2018-05-16 14:53:06 -07:00
erwincoumans
b432daed65 Merge branch 'master' of https://github.com/erwincoumans/bullet3 2018-05-16 12:11:29 -07:00
erwincoumans
0ca2c5f925 use Bullet3Common/b3AlignedObjectArray.h instead of LinearMath version in SharedMemory/PhysicsClientSharedMemory 2018-05-16 12:10:34 -07:00
erwincoumans
f99260413d Merge pull request #1684 from erwincoumans/master
BulletInverseDynamics: Fix propagation of user_int and user_ptr when …
2018-05-16 09:08:30 -07:00
Erwin Coumans
703767c6f3 BulletInverseDynamics: Fix propagation of user_int and user_ptr when creating MultiBodyTree.
The user_ptr and user_int arguments passed to addBody were stored in the cache, but not propagated to the MultiBodyTree when finalizing it.

Thanks to Thomas Buschmann for the fix.
2018-05-14 07:34:49 -07:00
Lunkhound
4254837170 solvers: remove erroneous 'break' statement that can occur with incorrectly flagged objects; also added asserts to warn when incorrectly flagged objects are detected 2018-05-12 19:54:39 -07:00
Lunkhound
8d5cd1c324 constraint solvers: fix crash for collision-bodies with incorrect flags 2018-05-11 17:47:08 -07:00
Lunkhound
ded33f3e7e parallel solver: remove bad assert 2018-05-06 23:39:01 -07:00
erwincoumans
bdd7d3c2c0 Merge pull request #1662 from sponji/master
Fixed a collision check bug with CCD
2018-05-03 06:40:22 -07:00
erwincoumans
0e2d0fda1a Revert back to using the Jacobi method to diagonalize a symmetric matrix. 2018-05-03 06:03:52 -07:00
Vincent Saulue-Laborde
0a2f3057d7 Fix some Doxygen comments in btMatrix3x3. 2018-05-02 20:10:53 +02:00
Teemu Patana
cfa3a6d2aa Fixed a collision check bug with CCD 2018-05-02 20:22:12 +03:00
Erwin Coumans
988d78cb61 enable btMultiBodyGearConstraint positional error correction
fix multibody debug drawing of joint frames
2018-05-01 17:40:26 -07:00
Erwin Coumans
552cb5852a PyBullet: add signed distance field support, with example/signedDistanceField.py
See also data\toys\concave_box.urdf and data\toys\concave_box.cdf

data\toys\concave_box.cdf was generated from concave_box.obj using
//GenerateSDF.exe -r "32 32 32" -d "-1.6 -1.6 -.6 1.6 1.6 .6" concave_box.obj
//SDF is based on code from DiscreGrid, https://github.com/InteractiveComputerGraphics/Discregrid
2018-04-16 22:57:43 +02:00
erwincoumans
391b0e4061 Merge pull request #1588 from GaborPuhr/Fix-#1582
Fix for #1582
2018-04-12 13:32:51 -07:00
erwincoumans
25cb37a0d7 Merge remote-tracking branch 'bp/master' 2018-04-12 12:48:37 -07:00
Erwin Coumans
11008d8110 fixes, backwards compatibility 2018-04-12 09:28:30 -07:00
erwincoumans
b53facfc25 Merge pull request #1629 from erwincoumans/master
Preparation to add signed distance field collision detection.
2018-04-12 00:02:25 -07:00
Erwin Coumans
f37e22bfba fix syntax error 2018-04-10 15:29:31 -07:00
erwincoumans
759d8b5317 nullptr -> 0 (no C++11) 2018-04-09 21:28:29 -07:00
erwincoumans
103f16c64a UINT_MAX requires #include <limits.h> 2018-04-09 20:59:16 -07:00
erwincoumans
5747b1a689 fix case sensitive header include 2018-04-09 20:57:36 -07:00
erwincoumans
7949f31c3e fixes in btMiniSDF 2018-04-08 21:30:06 -07:00
erwincoumans
9ab03057ea add btMiniSDF and btSdfCollisionShape to CMakeLists.txt 2018-04-08 21:25:38 -07:00
erwincoumans
698836d54e Preparation to add signed distance field collision detection.
btMiniSDF is based on https://github.com/InteractiveComputerGraphics/Discregrid
2018-04-08 21:10:03 -07:00
Ju-Hyung Lee
00affd62ac Fix to support different kind of wheel axis 2018-04-04 12:31:52 +09:00
Erwin Coumans
6856334d48 fixes: make argument names in header and cpp the same 2018-03-27 16:54:41 -07:00
erwincoumans
fafa939d33 Merge pull request #1579 from lunkhound/parallel-solver-wip3
Multithreaded constraint solver
2018-03-26 17:11:05 -07:00
Lunkhound
bdc3c2bafb task scheduler: add multiple job queues to improve performance when there are many threads 2018-03-17 22:59:29 -07:00
Lunkhound
04e0d57dc1 add premake option 'enable-multithreading' 2018-03-16 23:42:43 -07:00
Daniele Bartolini
e4e82b05b9 Fix warning with -Wmisleading-indentation 2018-03-14 23:19:23 +01:00
Lunkhound
e526e48df8 parallel solver: slightly overallocate to reduce how often allocation is needed 2018-03-13 04:19:02 -07:00
Erwin Coumans
b578361acf Use kF_UseGjkConvexCastRaytest by default for raycast in PyBullet (it is more robust/accurate, but a bit slower)
Use 10*EPSILON, as suggested in Gino's paper:
http://www.continuousphysics.com/ftp/pub/test/files/physics/papers/jgt04raycast.pdf
2018-03-07 14:51:51 -08:00
Lunkhound
eec478709a parallel solver: small tweaks and fixes 2018-03-06 02:43:59 -08:00
Lunkhound
45fd4acf6e dynamicsWorldMt: make island mgr aware of whether a parallel solver is present and make handoff from parallel solver to solver-pool more explicit 2018-03-05 20:05:38 -08:00
a
86ca7dc2d1 Fix for #1567 2018-03-05 23:25:25 +01:00
a
2348c6ba0a Fix for #1582 2018-03-05 23:05:22 +01:00
Lunkhound
06690e542b fix compile error for GCC 2018-02-27 00:30:45 -08:00
Lunkhound
b8720f2161 parallel solver: various changes
- threading: adding btSequentialImpulseConstraintSolverMt
 - task scheduler: added parallelSum so that parallel solver can compute residuals
 - CommonRigidBodyMTBase: add slider for solver least squares residual and allow multithreading without needing OpenMP, TBB, or PPL
 - taskScheduler: don't wait for workers to sleep/signal at the end of each parallel block
 - parallel solver: convertContacts split into an allocContactConstraints and setupContactConstraints stage, the latter of which is done in parallel
 - parallel solver: rolling friction is now interleaved along with normal friction
 - parallel solver: batchified split impulse solving + some cleanup
 - parallel solver: sorting batches from largest to smallest
 - parallel solver: added parallel batch creation
 - parallel solver: added warmstartingWriteBackContacts func + other cleanup
 - task scheduler: truncate low bits to preserve determinism with parallelSum
 - parallel solver: reducing dynamic mem allocs and trying to parallelize more of the batch setup
 - parallel solver: parallelize updating constraint batch ids for merging
 - parallel solver: adding debug visualization
 - task scheduler: make TBB task scheduler parallelSum deterministic
 - parallel solver: split batch gen code into separate file; allow selection of batch gen method
 - task scheduler: add sleepWorkerThreadsHint() at end of simulation
 - parallel solver: added grain size per phase
 - task Scheduler: fix for strange threading issue; also no need for main thread to wait for workers to sleep
 - base constraint solver: break out joint setup into separate function for profiling/overriding
 - parallel solver: allow different batching method for contacts vs joints
 - base constraint solver: add convertJoint and convertBodies to make it possible to parallelize joint and body conversion
 - parallel solver: convert joints and bodies in parallel now
 - parallel solver: speed up batch creation with run-length encoding
 - parallel solver: batch gen: run-length expansion in parallel; collect constraint info in parallel
 - parallel solver: adding spatial grid batching method
 - parallel solver: enhancements to spatial grid batching
 - sequential solver: moving code for writing back into functions that derived classes can call
 - parallel solver: do write back of bodies and joints in parallel
 - parallel solver: removed all batching methods except for spatial grid (others were ineffective)
 - parallel solver: added 2D or 3D grid batching options; and a bit of cleanup
 - move btDefaultTaskScheduler into LinearMath project
2018-02-26 22:47:33 -08:00
Stephen Sinclair
58310bd21d Fix calculation of startPt for perturbed object A.
Fixes #1563.
2018-02-16 11:57:16 -03:00
Erwin Coumans
508550c5e9 fix premake build for linux, thanks to @consultit
See also issue #1538
2018-02-09 18:46:26 -08:00
CuriousRubick
ecfdd07f19 early break if single object sleeping 2018-01-26 10:31:00 -06:00
CuriousRubick
c41d575907 early break if single object sleeping 2018-01-26 10:29:46 -06:00