Commit Graph

789 Commits

Author SHA1 Message Date
erwincoumans
a5fa8712ec Merge pull request #385 from lordloki/btCone
New btConeshape member functions setHeight and setRadius
2016-06-09 08:58:25 -07:00
Erwin Coumans
372c4ef9c1 Add btConvexHullShape::optimizeConvexHull method,
it automatically removes vertices that are not on the convex hull.
It uses the btConvexHullComputer for this.
2016-05-04 13:01:06 -07:00
erwincoumans
5351b20f9d Merge pull request #609 from AndrewMeadows/ccd-fix-4
optimize CCD against btCompoundShapes with dynamicAabbTree
2016-04-30 11:22:36 -07:00
Andrew Meadows
8d970e5c04 minor cleanup 2016-04-27 13:41:42 -07:00
Ryan Huffman
76d39d4439 Fix build error on OSX + Linux 2016-04-27 12:10:28 -07:00
Ryan Huffman
7f0877339e Replace spaces with tabs 2016-04-27 12:10:28 -07:00
Ryan Huffman
b135699325 Fix errors in ccd against compound objects 2016-04-27 12:10:28 -07:00
Ryan Huffman
25ee137390 Fix missing colObjWrap 2016-04-27 12:10:28 -07:00
Ryan Huffman
af442778a6 Add early rejection tests during CCD against compound objects 2016-04-27 12:10:28 -07:00
Erwin Coumans
87e5128ba8 fix some typos (need to merge into a single implementation later!) 2016-03-11 17:47:00 -08:00
Erwin Coumans
625ea96a3e accidently moved line in wrong place 2016-03-10 23:28:02 -08:00
Erwin Coumans
ea6ecd3579 Use higher precision GJK/EPA collision tolerances in BT_USE_DOUBLE_PRECISION
See https://raw.githubusercontent.com/billhoffman/bullet-pod/ac6aae3e3ee8137de484471094a65bfe166898b4/bullet_gjk_accuracy_patch.diff
2016-03-10 23:12:22 -08:00
Erwin Coumans
25409f93c7 re-quantize for before using the data in quantize method
this fixes issue 558
2016-02-23 08:46:09 -08:00
erwin coumans
6c9bfce975 Support btMultiBody soft contact using ERP and CFM. Also support custom relaxation parameter to allow successive over relaxation.
Added demos for rigid and multi body soft (compliant) contact.
Will also add simplified Hertz compliant contact, by dynamically modifying the ERP/CFM to mimic a non-linear spring.
Note that btManifoldPoint is growing too big, we need to implement proper contact constraints derived from btTypedConstraint.
2016-02-22 18:40:00 -08:00
erwin coumans
645a88176d Enable softness for btRigidBody contacts. This is implemented by some value (CFM, constraint force mixing) to the main diagonal of A.
CFM for contacts use world CFM value by default, and can override with custom CFM value using the
BT_CONTACT_FLAG_HAS_CONTACT_CFM stored in m_contactPointFlags.
Boolean m_lateralFrictionInitialized is replaced 'BT_CONTACT_FLAG_LATERAL_FRICTION_INITIALIZED' flag stored in int m_contactPointFlags in btManifoldPoint.
Enable successive over-relaxation parameter (SOR) for contacts. btMLCPSolver uses global CFM.
In one of the next commits, contact softness will be enabled btMultiBody contacts.
Also need to review use of CFM in btMLCPSolvers (only world CFM is used at the moment)
2016-01-22 17:43:36 -08:00
Andrew Meadows
c0c1691c25 fix whitespace formatting in cmake files 2015-12-07 14:08:04 -08:00
d3x0r
08eb947bac Format fix. 2015-11-08 10:24:16 -08:00
d3x0r
99acea9594 btVoronoiSimplexSolver::inSimplex can return when first 'found=true' is set instead of going through all points, since found is never set to false in any other condition.
PersistentManifold replaceContactPoint set the same values for m_appliedImpluse; remove redunant set.
2015-11-08 10:22:02 -08:00
erwincoumans
e39afd06b9 Merge pull request #513 from erwincoumans/master
workaround for wrong gjk/epa contact normal, add 'replay' command log feature: no mouse interaction during replay etc.
2015-11-01 13:00:19 -08:00
erwincoumans
d6464ce40d add 'replay' command log feature: no mouse interaction during replay, and use a fixed number of sim steps in stepSimulation.
workaround for reversed separating normal in gjk/epa when using very small shapes, detect case and revert normal.
use smaller world size (10 units versus 100) for higher resolution shadow map
use a hard-coded rolling friction of 0.2 for objects in physics server (will make this configurable)
fix loading of command log files, when platform features are different (64bit/32bit)
2015-11-01 12:48:15 -08:00
Ola Røer Thorsen
75207c4839 fix for broken memmove used in btDbvt.h, issue 347. 2015-10-22 21:24:40 +02:00
=
4df58c35c7 use const in PhysicsClientC_Api, thanks to Roland
fix some warnings for Clang, thanks to Aaron
2015-10-15 08:15:22 -07:00
erwincoumans
14eb70a06f Merge pull request #466 from rioharu/patch-1
Update btInternalEdgeUtility.cpp, closes issue #389
2015-10-09 10:09:01 -07:00
=
3d10338ed5 fix warnings (thanks to Aaron!) 2015-09-10 17:52:41 -07:00
=
5be9119455 run the PhysicsServerExample 'stepSimulation' smoother
fix a warning in ThirdParty/stb_image
fix an single/double precision issue in btPolyhedralContactClipping.cpp
2015-09-08 13:39:09 -07:00
rioharu
086902ea51 Update btInternalEdgeUtility.cpp
Fixes issue #389 by removing code which causes a segfault in MinGW's GCC by removing code which did not affect subsequent operations.
2015-08-26 15:10:30 -06:00
erwincoumans
83c4d25819 Merge pull request #460 from erwincoumans/master
initial implementation to send debug lines from physics server to client
2015-08-20 19:47:23 -07:00
Erwin Coumans
9c71a0bb7a Google Code -> github in btCollisionWorld.h documentation 2015-08-12 21:16:23 -07:00
erwincoumans
5853d071fb Merge pull request #445 from erwincoumans/master
improve usability of ExampleBrowser
2015-08-05 10:09:42 -07:00
erwincoumans
b316f30040 improve usability of ExampleBrowser
store command-line arguments in bulletDemo.txt
save/load of configuration, save demo name instead of index
add setBackgroundColor as example (background_color_red) and
mouse move/wheel speed config (mouse_wheel_multiplier and mouse_move_multiplier)
(saved after changing the demo)
default btIDebugDraw colors can be changed
b3CommandLineArgs::GetCmdLineArgument returns bool, and b3CommandLineArgs::addArgs added
fix copy/paste
2015-08-04 18:24:30 -07:00
Andrew Meadows
ac7dc87a4d btCompoundShape data members protected not private 2015-08-03 16:26:23 -07:00
erwincoumans
9d7d5caa8b Merge pull request #404 from donggas90/master
Improve Compound Shape Construction.
2015-08-03 08:49:30 -07:00
=
eb6663ed4b further work on shared memory API
fix dependency of BulletDynamics to Bullet3Common (b3Printf)
2015-08-02 14:00:43 -07:00
Erwin Coumans
26531f3fbc fix some warnings, disable gimpact by default in world importer,
use DIRECTLY_UPDATE_VELOCITY_DURING_SOLVER_ITERATIONS by default for now,
until we find the issue with some failing test cases in btMultiBody
fix a crashing issue in MyMultiBodyCreator.cpp (uninitialized variable)
disable excessive debug printf in URDF2Bullet
2015-07-27 13:28:47 -07:00
erwincoumans
f6f76901fd First draft of btMultiBody serialization, including optional names for base, link and joints (see ImportURDFDemo/ImportURDFSetup.cpp how this is done)
Bump up version number to 2.84 because of new serialization data.
2015-07-09 17:36:00 -07:00
donggas90
96d9e54080 Improve Compound Shape Construction. 2015-06-08 13:35:17 +09:00
Jorge Bernal
c02e197e77 New btConeshape member functions to can set radius and height for the
cone shape after creation
2015-05-17 17:39:48 +02:00
Erwin Coumans
c2006f31e4 don't build any demos on older Mac OS versions <10.9
use btCompoundCompoundCollisionShape to determine maximum collision algorithm size
2015-05-06 08:27:01 -07:00
Erwin Coumans
3da8dbce1c disable memmove in btDbvt
forgot to reset clock
2015-05-04 17:03:37 -07:00
Erwin Coumans
7a0288bf56 fix issue with btDbvt::collideOCL, related to memmove (needs further testing)
only enable OpenCL demo if flag --enable_experimental_opencl is passed to ExampleBrowser
2015-05-02 22:33:33 -07:00
Erwin Coumans
aec360f158 add Raycast demo 2015-04-30 15:31:44 -07:00
erwin coumans
03e53627d6 fix an issue in MPR collision detection (which is not used by default), only for testing in the VoronoiFracture demo 2015-04-29 12:09:12 -07:00
erwincoumans
794c8ec064 add BspDemo.bsp data file
add sphere2.urdf
move btSpatialAlgebra into LinearMath
remove some warnings, introduce BT_ZERO, BT_ONE, BT_HALF as defines for 0.f/0., 1.f/1., 0.5f/0.5 respectively
2015-04-16 10:17:35 -07:00
erwin coumans
1e13454511 Added experimental implicit gyroscopic force implementation, one by Michael Ewert, and another by Cooper (from OpenDE)
Will also add Erin Catto's local implicit version from the GDC 2015 tutorial
Added demo for btGeneric6DofSpring2Constraint, thanks to Gabor Puhr
Add gfxBridge.autogenerateGraphicsObjects method for Bullet 2 demos in new framework (need to implement all Bullet 2 collision shape types...)
Use 1,1,1 for local scaling in btStaticPlaneShape
2015-03-24 15:55:05 -07:00
Erwin Coumans
193e680790 _N -> n, _C -> c, _L ->l, some collision with a standard C++ header? 2015-02-20 13:51:24 -08:00
Erwin Coumans
c7671779c2 add method to add triangle by its indices for btTriangleMesh
See also https://github.com/bulletphysics/bullet3/pull/315
thanks to quiasmo   for the contribution
2015-02-04 10:47:13 -08:00
Erwin Coumans
b1863f7ce2 Refactored GJK, EPA and MPR as a template class, reducing/removing the dependencies
to the rest of the Bullet code base. This code will replace the original GJK/EPA
in a future commit.

Added btMprPenetration, an implementation of Minkowski Portal Refinement
by Daniel Fiser. Original MPR idea is by Gary Snethen, and the first
implementation is here: https://github.com/erwincoumans/xenocollide
It is an alternative to EPA, although computing the local penetration depth.
EPA computes the global penetration depth. In many cases, MPR is sufficient
and performs better than EPA.
2014-11-02 12:53:36 -08:00
Erwin Coumans
f9eb7c68c5 add btInMemorySerializer (experiments, allows for in-memory deep copy of worlds, bypassing the BulletFileLoader mechanism)
add btCollisionWorldImporter that can load a .bullet file, or use the btInMemorySerializer for deep-copy
2014-09-16 19:18:10 -07:00
erwincoumans
89aeae9102 Add serialization support for btGeneric6DofSpring2Constraint
Attempt to re-order serialization data so it can be serialized in-memory (for deep copy)
2014-09-16 09:22:35 -07:00
Erwin Coumans
a26f9c1871 premake: use *.cpp insteadl of **.cpp 2014-09-05 11:22:25 -07:00