Commit Graph

9366 Commits

Author SHA1 Message Date
Sho Yamanishi
d19a418728 fix: improve the lexico-minimum finder in LemkeAlgorithm.
The following issues in btLemkeAlgorithm::findLexicographicMinimum() are addressed in this commit.

- The z_0 column located at A(*,2*dim), is used for lexico minimum test, which should not be used.
- If the check on the 1st column 'q' produces multiple minimums due to generacy,
  and if it contains z_0, the tie must be broken in favor of z_0 and return,
  which is not performed in the original.

- The 1st part to construct 'Rows' is unnecessary.
- The 2nd part has three nested loops with brute-force search, which is inefficient.

The improved version performs the lexico minimum test column-by-column
from the left-most column of (-B^{-1}q:B^{-1}).
If the test finds a single row, it returns it.
If the test finds multiple rows and if they contain z_0, it returns z_0.
Otherwise, it moves on to the next column.
Please see  2.2.2 "Pivot Step" of
    K. Murty, "Linear Complementarity, Linear and Nonlinear Programming" Heldermann Verlag, Berlin, 1998
for the algorithm details.

Some performance tests are done and non-negligible improvment was observed.
Please see https://github.com/ShoYamanishi/AppleNumericalComputing/tree/main/14_lcp for the test details.
2022-06-30 19:10:24 +02:00
erwincoumans
a1d96646c8 Merge pull request #4118 from dbartolini/fix-warning
Fix indentation
2022-05-26 23:12:33 -04:00
erwincoumans
466b76680b Merge pull request #4146 from petershh/patch-1
Add explicit int cast to avoid conversion warning
2022-05-26 23:10:40 -04:00
erwincoumans
19aa740d84 Merge pull request #4269 from erwincoumans/master
OpenAI Gym API change: add mode argument to render method
2022-05-20 12:35:28 -07:00
Erwin Coumans
4ca2de2fd7 Merge remote-tracking branch 'bp/master' 2022-05-20 12:32:22 -07:00
Erwin Coumans
7ba2965a22 bump up PyBullet to version 3.25 2022-05-20 12:21:34 -07:00
Erwin Coumans
56186db344 disable the early out, it has some issues.
see https://github.com/bulletphysics/bullet3/issues/4263
2022-05-20 12:18:37 -07:00
erwincoumans
2ad5f5a7d7 Merge pull request #4264 from akien-mga/fix-Wunused-but-set-variable
Fix `-Wunused-but-set-variable` in debug code
2022-05-20 12:14:30 -07:00
Erwin Coumans
b9df2190f1 OpenAI Gym API change: add mode argument to render method 2022-05-20 11:16:19 -07:00
Rémi Verschelde
cc3f3cf7ca Fix -Wunused-but-set-variable in debug code 2022-05-16 16:07:29 +02:00
erwincoumans
7dee3436e7 Merge pull request #4252 from erwincoumans/master
manually copy data, to avoid possible memory leaks.
Thanks to Jason Peng and Gilbert Feng for the report and reproduction case.
3.24
2022-04-25 19:39:24 -07:00
Erwin Coumans
657f347223 Merge remote-tracking branch 'bp/master' 2022-04-25 19:38:10 -07:00
erwin coumans
fdab95dbab Merge branch 'master' of github.com:erwincoumans/bullet3 2022-04-25 19:32:45 -07:00
erwin coumans
a899725cc6 clear the m_userVisualShapeHandles at resetSimulation to avoid memory build-up (not a leak at exit, since memory was del-allocated in the destructor) 2022-04-25 19:32:25 -07:00
Erwin Coumans
ae4c1f8e72 bump up pybullet to 3.24 2022-04-25 18:33:59 -07:00
erwin coumans
9185f93174 manually copy data, to avoid possible memory leaks. 2022-04-25 18:31:07 -07:00
erwincoumans
e95657f80f Merge pull request #4251 from erwincoumans/master
remove 'override' since Bullet uses C++2003
3.23
2022-04-24 16:50:07 -07:00
Erwin Coumans
9eb945b1e8 Merge remote-tracking branch 'bp/master' 2022-04-24 16:48:57 -07:00
Erwin Coumans
968b4356dc bump up pybullet version to 3.23 2022-04-24 16:48:28 -07:00
Erwin Coumans
957a46d840 Merge branch 'master' of github.com:erwincoumans/bullet3 2022-04-24 16:13:14 -07:00
Erwin Coumans
a3ec165915 remove the 'override' keyword, Bullet is C++2003 2022-04-24 16:12:40 -07:00
erwincoumans
617df44898 Merge pull request #4248 from CrosRoad95/patch-1
Allow delivered classes to access unscaled points
2022-04-23 15:52:39 -07:00
erwincoumans
ce23bb9dce Merge pull request #4249 from erwincoumans/master
fix for debug lines / point rendering, introduced in PR #3996
2022-04-23 15:52:10 -07:00
Erwin Coumans
f263c422e2 Merge branch 'master' of github.com:erwincoumans/bullet3 2022-04-23 14:00:22 -07:00
Erwin Coumans
31b9be82a1 revert lines glsl shader, and add points glsl shader for instanced rendering of point cloud. 2022-04-23 13:56:40 -07:00
erwincoumans
0edcbd693a Merge pull request #4241 from erwincoumans/master
remove dependency on Examples from src folder.
2022-04-23 06:25:00 -07:00
Sebastian Jura
2a8d463fd3 Allow delivered classes to access unscaled points 2022-04-22 18:09:49 +02:00
Erwin Coumans
4f0673810c move loadDeformableState into CustomSoftBodyHelper, Bullet/src is not allowed to depend on Bullet/Examples 2022-04-18 21:17:21 -07:00
erwincoumans
cd771af26f Merge pull request #4228 from Teemperor/FixUninitRead
Fix uninitialized read in rpyFromMatrix
2022-04-14 21:55:52 -07:00
erwincoumans
31aeeadb2d Merge pull request #4234 from szabolcsdombi/szabolcsdombi-patch-1
fix missing getTransformB in btMinkowskiSumShape
2022-04-14 21:55:29 -07:00
Szabolcs Dombi
aef1d3e27d fix missing getTransformB in btMinkowskiSumShape
- also keep original method with different casing for backward compatibility reasons
2022-04-14 17:10:40 +03:00
Raphael Isemann
772dcf57ff Fix uninitialized read in rpyFromMatrix
The computation of `rpy(1)` tries to take the sin of `rpy(0)` (which is only
initialized a line later).
2022-04-02 00:56:14 +02:00
erwincoumans
e306b274f1 Update VERSION 3.22b 2022-03-29 21:03:06 -07:00
Daniele Bartolini
66012fe215 Fix indentation 2022-03-28 21:57:41 +02:00
Erwin Coumans
d3b4c27db4 bump up version to 3.22 2022-03-25 19:59:28 -07:00
erwincoumans
22d9eec148 Merge pull request #4219 from erwincoumans/master
remove thread import, it is not needed and required C++11
3.22a
2022-03-25 19:56:39 -07:00
Erwin Coumans
5e8a4717b9 remove thread import, it is not needed and required C++11 2022-03-25 19:56:03 -07:00
erwincoumans
ae885be38d Merge pull request #4218 from erwincoumans/master
fix compile error
2022-03-25 19:50:48 -07:00
Erwin Coumans
0070e0d52b fix compile error
bump up to pybullet 3.22
2022-03-25 19:49:53 -07:00
erwincoumans
5d75748c0d Merge pull request #4213 from bwrsandman/fix-uwp
UWP: Fix potentially uninitialized local pointer variable error
3.22
2022-03-25 19:29:36 -07:00
erwincoumans
b9117c780f Merge pull request #4212 from bwrsandman/patch-1
Fix compile on windows 64 bit arm architecture
2022-03-25 19:29:27 -07:00
erwincoumans
c07f6f66e8 Merge pull request #4211 from Roker2/fix_manifold_point_warning
BulletCollision: NarrowPhaseCollision: btManifoldPoint: Fix warning spam
2022-03-25 19:25:37 -07:00
erwincoumans
c0c03f279a Merge pull request #4217 from DVLP/patch-1
Intermittent alignment issues fix
2022-03-25 19:21:01 -07:00
Pawel
5e8343cffe Intermittent alignment issues fix
Not sure if this is omitted at purpose, but adding this like in most aligned classes/structs fixes some intermittent problems with alignment when reassigning transforms. There's also one `BT_DECLARE_ALIGNED_ALLOCATOR` missing in `btMatrix3x3.h` but with the fix above it doesn't seem to be necessary.
2022-03-24 10:39:51 +00:00
Sandy Carter
35264f81bb UWP: Fix potentially uninitialized local pointer variable error 2022-03-20 15:46:58 -04:00
Sandy
e4414c8023 Fix compile on windows 64 bit arm architecture
When building 64 bit arm with visual studio, btScalar will try to include SSE headers meant for x86 and x64 architectures.
This gives the following error in many source files:
```
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\emmintrin.h(20): fatal error C1189: #error:  This header is specific to X86 and X64 targets
```
2022-03-20 15:41:07 -04:00
Roker2
072439b8eb BulletCollision: NarrowPhaseCollision: btManifoldPoint: Fix warning spam
C:\Program Files (x86)\BULLET_PHYSICS\include\bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h: In constructor 'btManifoldPoint::btManifoldPoint(const btVector3&, const btVector3&, const btVector3&, btScalar)':
C:\Program Files (x86)\BULLET_PHYSICS\include\bullet/BulletCollision/NarrowPhaseCollision/btManifoldPoint.h:108:12: warning: 'btManifoldPoint::m_normalWorldOnB' will be initialized after [-Wreorder]
  btVector3 m_normalWorldOnB;
            ^~~~~~~~~~~~~~~~
2022-03-19 15:08:53 +03:00
erwincoumans
ea715cc3b3 Merge pull request #4196 from erwincoumans/master
remove debugging lines
2022-03-09 20:48:02 -08:00
erwincoumans
6c300fbeee Merge pull request #4198 from fuchuyuan/fix
Restore B3_MESH_DATA_SIMULATION_MESH flag and suppress virtual warnings
2022-03-09 17:55:30 -08:00
Chuyuan Kelly Fu
d63a721eaa fix 2022-03-09 10:00:19 -08:00