Tigran Gasparian
d93980f89f
Adds a simulation stepped notification
...
This notification is called when the simulation is stepped, regardless
of whether any objects have moved.
2018-08-01 17:49:58 +02:00
Erwin Coumans
08b5e6d766
add collisionFilterPlugin to pybullet plugin, also apply quat->euler fix for singular cases
2018-07-30 17:53:37 +02:00
Erwin Coumans
e75178181d
safe normalize on degenerate triangles
2018-07-30 12:21:02 +02:00
Erwin Coumans
2cab56d6ef
prepare build system(s) for collisionFilterPlugin
2018-07-27 15:48:24 +02:00
erwincoumans
8b27a7311c
Merge pull request #1801 from RanTig/TickPlugins
...
Notify plugins on certain events (e.g. body added).
2018-07-27 14:58:55 +02:00
Erwin Coumans
a696bd6a46
fix memory leak reported in Issue #1800
...
avoid access to array elements outside of range
2018-07-25 19:59:29 +02:00
Tigran Gasparian
35a55b2056
Changes tickPlugins to reportNotifications and only calls the processNotifications function on the plugins when there are actually notifications available. tickPlugins will to into a separate PR.
2018-07-25 14:47:34 +02:00
Tigran Gasparian
f745eafb36
Changes dynamic_cast<> to c-style cast.
2018-07-24 16:04:16 +02:00
Tigran Gasparian
c59afb88c4
Notify plugins on certain events (e.g. body added).
...
This also adds a periodic tick function to plugins, giving them periodically control over the simulation thread, even when the simulation is paused.
2018-07-24 14:12:16 +02:00
erwincoumans
defd961f60
Merge pull request #1798 from erwincoumans/master
...
Change constraint solver threshold-based termination condition on res…
2018-07-22 12:28:32 +02:00
Erwin Coumans
b5495e789d
Change constraint solver threshold-based termination condition on residual of velocity threshold, not on residual of impulse threshold.
...
This avoids issues with systems with large mass ratios.
Test: add this to BasicDemo/BasicExample.cpp in initPhysics
m_dynamicsWorld->getSolverInfo().m_numIterations = 1000;
m_dynamicsWorld->getSolverInfo().m_leastSquaresResidualThreshold = 1e-4;
2018-07-22 11:30:16 +02:00
erwincoumans
c254768d1a
Merge pull request #1793 from jslee02/fix_build_clang6
...
Fix build errors with Clang 6 (also resolve #1510 )
2018-07-19 09:20:42 +02:00
Jeongseok Lee
8b26945f8f
Fix build errors with Clang 6 (also addresses #1510 )
2018-07-18 12:02:36 -07:00
Jeongseok Lee
8857638ded
Revert C++ code changes to make the PR small
2018-07-18 11:57:34 -07:00
Jeongseok Lee
6323309f89
Fix c++11-narrowing errors in multibody examples
2018-07-10 09:22:41 -07:00
erwincoumans
3d5c921495
Merge pull request #1782 from RanTig/userdata
...
Changes UserData to use global identifiers and makes linkIndex optional.
2018-07-09 11:36:51 +02:00
Erwin Coumans
f8cc33f3a3
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-07-08 11:24:37 +02:00
Erwin Coumans
127b82ec1b
expose texture unique id after loading URD file, so you can restore to the original texture after changing it to a custom texture. See also getTextureUid.py example.
2018-07-08 11:23:12 +02:00
Tigran Gasparian
49684144dc
Some minor formatting fixes
2018-07-05 16:01:03 +02:00
Tigran Gasparian
8a6db042de
Removes int initializer in SharedMemoryUserDataHashKey, changes '>>' into '> >' for nexted templates.
2018-07-04 14:25:48 +02:00
Tigran Gasparian
7c7e8af717
Increases the shared memory magic number.
2018-07-04 10:22:44 +02:00
Erwin Coumans
2ce1e65b53
PyBullet: tweak in TCP server for VR - ROS bridge
2018-07-03 16:30:54 -07:00
Tigran Gasparian
9c7aa3a863
Changes UserData to use global identifiers and makes linkIndex optional.
...
This removes the need to specify the body id/link index when retrieving a user data entry.
Additionally, user data can now optionally be set to visual shapes as well.
The following public pybullet APIs have changed (backwards incompatible)
addUserData and getUserDataId
Makes linkIndex parameter optional (default value is -1)
Adds optional visualShapeIndex parameter (default value is -1)
getUserData and removeUserData
Removes required parameters bodyUniqueId and linkIndex
getNumUserData
Removes required bodyUniqueId parameter
getUserDataInfo
Removes required linkIndex parameter
Changes returned tuple from (userDataId, key) to (userDataId, key, bodyUniqueId, linkIndex, visualShapeIndex)
2018-07-03 17:45:19 +02:00
erwincoumans
23f235e449
PyBullet: add example to enable another physics engine backend (DART, MuJoCo)
2018-07-01 14:49:34 -07:00
erwincoumans
98fc4b1510
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-07-01 14:42:48 -07:00
erwincoumans
0d8564db22
PyBullet: added preliminary DART and MuJoCo backend files, MuJoCo can loadMJCF, stepSimulation and getBasePositionAndOrientation, DART is empty.
...
PyBullet: add 2d biped example.,
2018-07-01 14:42:32 -07:00
Erwin Coumans
bfc85ff1fd
PyBullet: TCP connection, optimized getVREvents to allow faster Windows -> Linux Vive tracking state communication.
2018-06-27 23:43:42 -07:00
Erwin Coumans
ac59886960
fix hidden API
2018-06-27 07:39:56 -07:00
Erwin Coumans
dffff4d3b6
Merge remote-tracking branch 'bp/master'
2018-06-26 08:58:38 -07:00
erwincoumans
e023d94b32
Merge pull request #1775 from bingjeff/marios_fix_global_variables
...
remove some debug globals from third_party/bullet
2018-06-26 08:58:27 -07:00
Erwin Coumans
21b089b0d7
Merge remote-tracking branch 'bp/master'
2018-06-26 08:57:44 -07:00
YunfeiBai
812c229736
Remove the pdController when maxForce = 0
2018-06-24 17:06:16 -07:00
Jeffrey Bingham
f2afb4af35
remove some debug globals from third_party/bullet
...
There are some debug global variables that prevent using bullet safely on multi-threaded environments (tsan failures).
PATCH from marioprats@
2018-06-23 22:01:41 -07:00
erwincoumans
49b0ec08e1
PyBullet: allow to replace existing debug lines in addUserDebugLine through the replaceItemUniqueId argument
...
See batchRayCast.py for example usage
2018-06-22 16:47:20 -07:00
erwincoumans
6b2cae1b1d
Merge pull request #1769 from RanTig/parallel_raycast_fix
...
Several fixes for the parallel raycasts
2018-06-22 15:49:56 -07:00
Tigran Gasparian
618e3230a4
Fix: Use function context reference instead of value
2018-06-22 20:41:02 +02:00
erwincoumans
784f0fdc04
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-06-22 09:28:14 -07:00
erwincoumans
55e185fe39
PyBullet loadURDF in useMaximalCoordinated=True (btRigidBody), support lower/upper limits for revolute joints.
2018-06-22 09:28:07 -07:00
Erwin Coumans
092e39a9e5
PyBullet urdfEditor example, use the pybullet_utils version (more up-to-date)
2018-06-22 09:18:55 -07:00
Erwin Coumans
fcde193d52
PyBullet.setPhysicsEngineParameter: only update solverResidualThreshold if valid values is given
2018-06-20 13:18:08 -07:00
Tigran Gasparian
b84eb8af74
Several fixes for the parallel raycasts
...
- Limits the maximum number of threads to 64, since btThreadSupportPosix
and btThreadsupportWin32 don't support more than 64 bits at this moment,
due to the use of UINT64 bitmasks. This could be fixed by using
std::bitset or some other alternative.
- Introduces a threadpool class, b3ThreadPool, which is a simple wrapper
around btThreadSupportInterface and uses this instead of the global task
scheduler for parallel raycasting. This is actually quite a bit faster
than the task scheduler (~10-15% in my tests for parallel raycasts),
since the advanced features (parallelFor) are not necessary for the
parallel raycasts.
- Puts 16*1024 of MAX_RAY_INTERSECTION_MAX_SIZE_STREAMING in
parentheses, since it otherwise causes problems with other operators
of equal precedence and introduces a smaller constant for Apple targets.
- Refactors the parallel raycasts code and adds some more profiling.
2018-06-19 18:41:42 +02:00
erwincoumans
42c9d9aa3c
lazy creation of batch scheduler, it causes issues with the physics.
2018-06-16 13:59:03 -07:00
erwincoumans
c55720fb41
Merge branch 'master' of https://github.com/erwincoumans/bullet3
2018-06-16 12:28:38 -07:00
erwincoumans
7924d51665
PyBullet: deal with backward compatibility of b3RaycastBatchAddRay:
...
use b3RaycastBatchAddRays API to enable MAX_RAY_INTERSECTION_BATCH_SIZE_STREAMING num rays.
Old API (b3RaycastBatchAddRay) sticks to 256 rays, MAX_RAY_INTERSECTION_BATCH_SIZE.
2018-06-16 12:28:21 -07:00
Erwin Coumans
b94df12081
add missing pthread link in App_HelloBulletRobotics
2018-06-16 10:20:43 -07:00
erwincoumans
04d03d10be
Fix memory leak due to batchRayCast never deleting the btTaskScheduler.
...
(and issue with TaskScheduler/btTaskScheduler.cpp, add JobQueue::exit, call it first, since it uses the m_threadSupport which was deleted before the destrucor was called.
Use a hashmap to store user timers, to avoid allocating many identical strings.
2018-06-16 09:37:53 -07:00
erwincoumans
cb1fce7899
revert exposing getSharedMemoryStreamBuffer / adding to command structure
...
use 16k rays by default
add uploadRaysToSharedMemory method
2018-06-16 08:14:00 -07:00
erwincoumans
23f9250e04
Merge remote-tracking branch 'bp/master'
2018-06-16 06:58:10 -07:00
erwincoumans
d660042d76
Merge pull request #1763 from YunfeiBai/master
...
Add the pdControlPlugin to the joint control C API, and add the PD co…
2018-06-16 06:57:50 -07:00
erwincoumans
75ec8f3fd9
PyBullet: add batchRayCast.py example
2018-06-16 06:20:15 -07:00