Commit Graph

970 Commits

Author SHA1 Message Date
Daniele Bartolini
78398df00e Fix warning with -Wunused-parameter 2019-12-15 01:03:01 +01:00
Xuchen Han
794614f269 change collision detection between deformables to from continuous to discrete 2019-11-11 13:58:03 -08:00
Aaron Franke
133fd3a73c Fix "seperate" typos 2019-10-31 08:29:09 -04:00
Chuyuan Fu
913400eba1 add SOLVER_USE_ARTICULATED_WARMSTARTING option and APIs
fix compile
2019-10-23 21:36:26 -07:00
Chuyuan Fu
ac680be673 fix space 2019-10-23 21:36:08 -07:00
Chuyuan Fu
08f53fc38d add warmstart 2019-10-23 21:36:08 -07:00
Xuchen Han
96bf2f2ff5 address PR comments 2019-10-01 14:47:49 -07:00
Xuchen Han
cb46440e17 add normal cone optimization for self-collision 2019-09-28 14:44:41 -07:00
Xuchen Han
4e1c1a30a7 remove world dependency from btDeformableBodySolver,btDeformableBackwardEulerObjective, and btCGProjection; reduce invasion into multibody world, all chnages are cosmetic now 2019-08-21 22:17:46 -07:00
Xuchen Han
fce1296413 fix the issue that compound objects's child does not get rotated in the material space in interpolationWorldTransform 2019-08-16 13:45:29 -07:00
Xuchen Han
07bf736aeb build islands once and process islands arbitrary number of times in update constraints 2019-08-16 13:45:29 -07:00
Erwin Coumans
f09cefabe8 Merge remote-tracking branch 'bp/master' 2019-08-14 21:14:56 -07:00
erwincoumans
7fa70c3857 Merge pull request #2351 from xhan0619/Deformable
Add deformable body world and solver
2019-08-14 21:13:41 -07:00
Erwin Coumans
88d1788ee5 PyBullet: allow to update an existing heightfield shape
Also, use flags = p.GEOM_CONCAVE_INTERNAL_EDGE to enable internal edge filtering for heightfield (disabled by default)
See https://github.com/bulletphysics/bullet3/blob/master/examples/pybullet/examples/heightfield.py
2019-08-14 21:06:10 -07:00
Erwin Coumans
54111f7023 PyBullet: add support for internal edge filtering for height field terrains 2019-08-09 10:14:14 -07:00
Xuchen Han
3dc8abcf36 only call buildIslands once for multibody in each timestep 2019-08-02 13:15:06 -07:00
Xuchen Han
243b9fc8c7 combat friction drift in positionCorrect by changing velocity and change it back (effectively only changing position) 2019-08-02 13:14:15 -07:00
Erwin Coumans
51fba6f78d export btHeightfieldTerrainShape to PyBullet. Note that tinyrenderer doesn't support rendering it (it would be too slow on CPU)
fix rare getKeyboardEvents threading issue
change texture color to default plane.urdf blue
2019-07-29 20:23:38 -07:00
Erwin Coumans
a42acfbe31 btHeightFieldTerrainShape, init new member
instead height of example terrain
2019-07-23 15:23:11 -07:00
Erwin Coumans
ebde9926a8 add example loading heightfield from image and csv, using assets from DeepLoco (thanks to Jason Peng) and
from this Blender tutorial https://www.beamng.com/threads/tutorial-adding-heightmap-roads-using-blender.16356/
2019-07-23 11:26:31 -07:00
erwincoumans
1061b3d816 Update btMprPenetration.h
fix typo
2019-06-17 09:39:25 -07:00
Rémi Verschelde
d85b800702 Convert DOS (CRLF) source files to Unix (LF) line endings
Excluded `examples/pybullet/gym/pybullet_data/` which has many (3000+)
CRLF data files (obj, mtl, urdf), and `docs/pybullet_quickstart_guide`
which has generated .js and .htm files with CRLF line endings too.
2019-05-22 10:01:32 +02:00
Chuyuan Fu
64ebe27477 Add safety check 2019-05-16 18:13:29 -07:00
erwincoumans
a8d1c121fd allow Z as up-axis for raycast acceleration in btHeightfieldTerrainShape 2019-04-16 10:34:59 -07:00
erwincoumans
f28fd91e4f add raycast accelerator for btHeightfieldTerrainShape, thanks to Marc Zylann, see https://github.com/bulletphysics/bullet3/pull/2062
it can be disabled by setting the flag cb.m_flags |= btTriangleRaycastCallback::kF_DisableHeightfieldAccelerator;
acceleration is disabled for z axis up.
add btHeightfieldTerrainShape example to example browser
2019-04-15 21:55:29 -07:00
Stephen Gold
231195843f in btSimpleBroadphase::destroyProxy(), remove pairs before freeing proxy 2019-04-02 21:51:58 -07:00
Francois Beaune
649a7d0981 Fix crash in btGImpactMeshShape vs btBvhTriangleMeshShape 2019-02-27 10:41:54 +01:00
Erwin Coumans
77a9a77b60 create some 'Unity Build' cpp files, to work-around setuptools on Windows creating >32k command-line
see 'won't fix' in https://bugs.python.org/issue1539295
2019-01-24 10:32:15 -08:00
erwincoumans
e637b24237 remove Rand.* and <random> (no C++11) 2019-01-23 17:35:45 -08:00
erwincoumans
93087f36df avoid conflicts when using a unity build (single cpp file including many other cpp) 2019-01-23 13:35:58 -08:00
erwincoumans
ae8e83988b Add preliminary PhysX 4.0 backend for PyBullet
Add inverse dynamics / mass matrix code from DeepMimic, thanks to Xue Bin (Jason) Peng
Add example how to use stable PD control for humanoid with spherical joints (see humanoidMotionCapture.py)
Fix related to TinyRenderer object transforms not updating when using collision filtering
2019-01-22 21:08:37 -08:00
Erwin Coumans
80684f44ea fix issue 76 (should be harmless) 2019-01-04 10:10:20 -08:00
Erwin Coumans
01bb0c3bd7 avoid macro redefinition 2019-01-04 08:40:54 -08:00
Erwin Coumans
83213da154 applied patch for Issue 68
// Ensure that gContactProcessedCallback is called for concave shapes.
        if (getLastManifold())
            m_resultOut->refreshContactPoints();
2018-12-22 17:06:57 -08:00
Erwin Coumans
e5fb1aa1d5 apply improvement, to allow btCompoundShape per-shape collision filtering
Fixes old issue 67
2018-12-22 17:02:58 -08:00
Erwin Coumans
7740162ad8 apply gimpact versus rotated plane issue,thanks to @cameronwhite
see bd8bd11929
Fixes Issue 69
2018-12-22 16:38:40 -08:00
erwincoumans
d477d18ad6 Expose subsimplexcast max iterations/epsilon
Note that for best quality, always use BT_USE_DOUBLE_PRECISION
This fixes Issue 34
https://github.com/bulletphysics/bullet3/issues/34
2018-12-22 12:44:29 -08:00
erwincoumans
7ce9ad23fb Use safeNormalize, in case a both objects have identical origin.
Fixes Issue 2021
2018-12-22 10:59:00 -08:00
Erwin Coumans
74223ced56 disable per-thread tsan issue, todo: checkout why it fails 2018-12-04 20:00:05 +01:00
erwincoumans
49c8e738a4 propagate resultOut->m_closestPointDistanceThreshold properly for convex-convex (capsule, sphere) and convex vs plane 2018-11-27 17:31:18 -08:00
erwincoumans
642c6a71d2 fix 2 potential data race conditions. 2018-11-08 14:41:22 -08:00
Erwin Coumans
131535a99f remove debug stats 2018-10-31 21:24:44 -07:00
erwincoumans
5fbc015ba6 Merge pull request #1951 from duckdoom5/patch-1
Added missing extern declaration
2018-10-29 17:00:35 -07:00
Michał Janiszewski
5b90e7e0b7 Update include guard in btGImpactBvh.h 2018-10-28 21:50:28 +01:00
Jelle
f9ff09a6b5 Added extern declaration
The extern declaration  was missing from this file.
2018-10-24 17:20:25 +02:00
Erwin Coumans
42ae4e81a8 apply clang-format (on Mac, slightly different than running it on Windows) 2018-09-30 11:43:57 -07:00
erwincoumans
5bcd43711a PyBullet OpenGL/EGL hardware getCameraImage: use glViewport to reduce the glReadPixels calling cost dramatically for small images
PyBullet Allow OpenGL/EGL hardware to render segmentation mask. Use pybullet.ER_SEGMENTATION_MASK_OBJECT_AND_LINKINDEX or pybullet.ER_SEGMENTATION_MASK
PyBullet.removeBody fix indexing bug (use foundIndex, not i)
PyBullet bump up version to 2.2.3
2018-09-30 07:10:40 -07:00
erwincoumans
ab8f16961e Code-style consistency improvement:
Apply clang-format-all.sh using the _clang-format file through all the cpp/.h files.
make sure not to apply it to certain serialization structures, since some parser expects the * as part of the name, instead of type.
This commit contains no other changes aside from adding and applying clang-format-all.sh
2018-09-23 14:17:31 -07:00
erwincoumans
9553892770 PyBullet / BulletRobotics:
Implement collisionFilterPlugin, use setCollisionFilterPair to enable or disable collision detection between specific pairs of objects.
Also, expose setCollisionFilterGroupMask as PyBullet API and in urdf using the tag <collision group="1" mask="2"/>.
See examples/pybullet/examples/collisionFilter.py for an example.
PyBullet default: Lower the warmstarting factor, for maximal coordinates rigid bodies for more stable simulation.
Add btCollisionWorld::refreshBroadphaseProxy to easier recreate the broadphase proxy without adding/removing objects to the world.
2018-09-12 19:30:49 -07:00
Erwin Coumans
9a26d4aaaf fix type 2018-08-31 09:59:18 -07:00