Commit Graph

9186 Commits

Author SHA1 Message Date
erwin coumans
201f3dd7d8 cmake: move stable pd files from BulletRoboticsGUI to BulletRobotics. 2021-03-04 09:55:35 -08:00
Erwin Coumans
b619763569 Merge remote-tracking branch 'bp/master' 2021-03-04 09:38:13 -08:00
erwin coumans
3963f077fc Fix memory leak in EGL / GUI mode, resetSimulation with textures in GUI mode.
Fixes Issue #3285
2021-03-04 09:13:22 -08:00
Gleb Mazovetskiy
89c76981fc heightfield: Better support for float/double data
Previously, the heightfield constructor always assumed `PHY_FLOAT` meant
`btScalar`, contrary to documentation and other usages of `PHY_FLOAT`.

Adds new constructors that distinguish between `float` and `double`.
The legacy constructor is still there for backwards compatibility.

This allows the client to use `float` or `double` regardless of
`BT_USE_DOUBLE_PRECISION`.
2021-03-03 14:25:55 +00:00
Gleb Mazovetskiy
40a9584ccb heightfield: Add a test for processAllTriangles up-axis filtering 2021-03-03 13:58:09 +00:00
Gleb Mazovetskiy
8f5a00dd1e heightfield: Add range constructor and overlaps 2021-03-03 00:07:51 +00:00
erwincoumans
7b84fabb1e
Merge pull request #3291 from vabr-g/efficient-find
Optimize calls to find*() for a single char.
2021-03-02 10:06:54 -08:00
Vaclav Brozek
364e98c92d Optimize calls to find*() for a single char.
The character literal overload is more efficient.
2021-03-02 18:59:31 +01:00
erwincoumans
e913a75f18
Merge pull request #3288 from vabr-g/fix-null-inertial-urdf
Fix a null dereference in UrdfParser
2021-03-02 08:07:14 -08:00
erwincoumans
e041514b03
Merge pull request #3289 from vabr-g/vabr-g-stack-overflow
Fix stack overflow in parsing URDF files in Bullet
2021-03-02 08:05:21 -08:00
vabr-g
390eeb111b
Fix stack overflow in parsing URDF files in Bullet
When reading response from the Bullet server after a "load URDF" command, the client code allocated and zeroed buffers for the data chunks with a "+1" to account for the terminating zero. This was when the buffer pointer was interpreted as a `char *`, so it meant "+ 1 byte".

When reading those buffers, however, the associated pointer was a `void *`, so reading `sizeof(void*)` (8 on my machine) bytes at a time. Therefore it was reading up to 7 bytes past the allocated (and zeroed) memory.

The change fixes that by changing the "+ 1" to "+ sizeof(void*)". At one place it also extends the zeroing to the final buffer position (missing "+ 1" in the original).
2021-03-02 11:55:19 +01:00
Erwin Coumans
adcaa75777 enable v-hacd in cmake for BulletRobotics and pybullet build (use cmake -DENABLE_VHACD=OFF .. to disable)
cmake: enable stable PD plugin (-DDSTATIC_LINK_SPD_PLUGIN)
btMultibody, make some args const in mulMatrix
2021-03-01 14:03:48 -08:00
vabr-g
e4963f73f2
Fix a null dereference in UrdfParser
When the parser sees no <inertial> tag inside a <deformable>, it logs an error but does not return false. So in the next step, a null pointer is dereferenced.

This can be tested with loading the following URDF:
```
<?xml version="1.0"?>
<robot name="rhythm_carrot_sticks">
  <deformable name="bag">
  </deformable>
</robot>
```
2021-03-01 21:21:11 +01:00
Gleb Mazovetskiy
bb838dbec0 heightfield up axis: Use Range
Reads a bit better than using individual min/max scalars.
2021-03-01 10:26:27 +00:00
Gleb Mazovetskiy
e7e28bebf8 heightfield processAllTriangles: Skip triangle processing if the triangle is out-of-AABB
Skips triangle processing if the triangle is out-of-AABB on the up axis.

This massively improves OpenMW performance on my test machine.

Co-authored-by: Andrew Shulaev <ash.drone@gmail.com>
2021-02-28 21:33:27 +00:00
Gleb Mazovetskiy
782f14caa1 heightfield processAllTriangles: Copy 1 less vertex
The 2 triangles of a heightfield quad share 2 vertices.

Co-authored-by: Andrew Shulaev <ash.drone@gmail.com>
2021-02-28 15:22:28 +00:00
Erwin Coumans
97add36b9f update bullet_client.py to accept options
p.connect(p.GUI, options="--background_color_red=1 --background_color_blue=1 --background_color_green=1")

If you use bullet_client.py, you can use:
p = bc.BulletClient(connection_mode=pybullet.GUI,options="--background_color_red=1 --background_color_blue=1 --background_color_green=1")
--mouse_move_multiplier=0.4
--mouse_wheel_multiplier=0.01
--mp4=moviename.mp4
2021-02-25 16:32:39 -08:00
Alexander Turkin
7aff26b80d one cmake option per one extra package 2021-02-22 07:30:16 +03:00
erwincoumans
abea1a8484
Create LICENSE.txt 2021-02-08 08:06:16 -08:00
erwincoumans
af6aa5fb99
Create LICENSE.txt 2021-02-08 08:05:46 -08:00
erwincoumans
c3f137773b
Create LICENSE.txt 2021-02-08 08:05:22 -08:00
erwincoumans
ecbbf24d2a
Create LICENSE.txt 2021-02-08 08:04:10 -08:00
erwincoumans
1257ab5915
Create LICENSE.txt 2021-02-08 08:03:23 -08:00
erwincoumans
b582287943
Create LICENSE.txt 2021-02-08 08:02:52 -08:00
erwincoumans
7a6fb20da8
Create LICENSE.txt 2021-02-08 08:02:02 -08:00
erwincoumans
a061644454
Create LICENSE.txt 2021-02-08 08:01:18 -08:00
erwincoumans
643f9c90be
Create LICENSE.txt 2021-02-08 08:00:22 -08:00
erwincoumans
5d149250ba
Create LICENSE.txt 2021-02-08 07:58:30 -08:00
erwincoumans
062860e455
Create LICENSE.txt 2021-02-08 07:57:53 -08:00
erwincoumans
1fbee5299a
Create LICENSE.txt 2021-02-08 07:57:25 -08:00
erwincoumans
6ad7e8fa6e
Create LICENSE.txt 2021-02-08 07:57:00 -08:00
erwincoumans
3b52be333b
Create LICENSE.txt 2021-02-08 07:56:27 -08:00
erwincoumans
70d7063249
Create LICENSE.txt 2021-02-08 07:55:45 -08:00
erwincoumans
53bc9fe222
Update obj2sdf.cpp 2021-02-08 07:55:04 -08:00
erwincoumans
e850c15754
Create LICENSE.txt 2021-02-08 07:53:36 -08:00
erwincoumans
671668f6c8
Update DNA_rigidbody.h 2021-02-08 07:52:54 -08:00
erwincoumans
b259d04ba9
Create LICENSE.txt 2021-02-08 07:50:39 -08:00
erwincoumans
9673ff28cf
Create LICENSE.txt 2021-02-08 07:49:56 -08:00
erwincoumans
a101dfeaa0
Create LICENSE.txt 2021-02-08 07:49:13 -08:00
erwincoumans
7155d05d67
Create LICENSE.txt 2021-02-08 07:48:31 -08:00
daniel.ordonez
f719c27b04 Fix Stable PD bug on First Order Taylor approximation of next q state 2021-01-27 21:59:49 -05:00
erwincoumans
537ccb2200
Merge pull request #3237 from glebm/fix-pthread
CMake: Use Threads instead of pthread directly
2021-01-23 10:26:58 -08:00
Gleb Mazovetskiy
d248271e38 CMake: Also link Threads correctly in examples/ 2021-01-20 18:20:43 +00:00
yycho0108
6f65a12b3a no nullptr 2021-01-20 16:45:23 +09:00
yycho0108
c0d9553d65 add link names args to CreateMultibody 2021-01-20 15:53:24 +09:00
Gleb Mazovetskiy
6442613ba6 CMake: Use Threads instead of pthread directly
On some systems, such as Android, threads are not provided via
`-lpthread`.

CMake comes with a built-in module for finding the correct threads
library.

Use it to fix the linking issue on Android and possibly other systems.
2021-01-20 02:16:51 +00:00
erwincoumans
d274093f76
Merge pull request #3208 from erwincoumans/master
allow to specify hostName
2021-01-19 13:07:26 -08:00
erwincoumans
48514d038b
Update .travis.yml
travis is failing with regular g++ and python3, remove config
2021-01-19 11:28:55 -08:00
erwincoumans
de8f04f819
Update pybullet.c 2021-01-17 23:42:28 -08:00
Erwin Coumans
21bc93a084 disable cone friction in example 2021-01-15 14:42:12 -08:00