Commit Graph

682 Commits

Author SHA1 Message Date
erwin.coumans
2fb970ce33 disable debug drawing in btCompoundCollisionAlgorithm
Fixes Issue 600.
Thanks to Stuart for the report.
2012-09-09 21:31:02 +00:00
erwin.coumans
7bb4e0e1bd fix ForkLiftDemo update (previous commit)
implement preallocate{Vertices,Indices} in btTriangleMesh. Fixes Issue 647.
2012-09-09 17:59:02 +00:00
erwin.coumans
3b83428a7f Applied polar decomposition patch. Fixes Issue 621. Thanks to Christian for the report, Joshua for the fix, Dongsoo for checking the fix.
Applied picking cloth patch. Fixes Issue 646. Thanks to Dongsoo.
Applied patch Softbody updateConstraints. Fixes Issue 503. Thanks to Dave Bruce Phillips and Dongsoo.
Fix various warnigns under Mac OSX.
2012-09-09 17:22:30 +00:00
erwin.coumans
2700ba17c0 fix memory leak when calling initializePolyhedralFeatures
Fixes Issue 623, thanks for the report/patch!
2012-09-08 19:43:24 +00:00
erwin.coumans
b69c6ac3f5 fix padding in btSolverConstraint, see Issue 650
fix some warnings
2012-09-08 19:21:14 +00:00
erwin.coumans
196aa20329 add m_splitImpulseTurnErp solver setting, initialized to 0.1: more stable recovery from deeper penetrations by reducing the angular effect (if split impulse is enabled)
Set it to 1.0 to disable the effect.
removed broken/not maintained heightfield fluid demo
add some API methods to btPersistentManifold
2012-09-03 04:38:08 +00:00
erwin.coumans
c1138535f9 use btAssert instead of assert
use __debugbreak for Windows MSVC asserts and asm volatile ("int3");\ on Mac OSX (__i386__ / __x86_64__)
2012-09-02 17:54:30 +00:00
erwin.coumans
c28f413e50 remove obsolete IBM Cell SDK makefiles 2012-09-02 17:38:51 +00:00
erwin.coumans
84b1774dda improve handling of restitution by using the velocity (linear/angular) before applying forces: this is done by re-introducing the btSolverBody and only apply the forces to solver body, and use the original rigid body velocity for restitution computation.
warmstarting for contact points was broken, fix in btPersistentManifold
enable split impulse by default (at the cost of some performance)
add  the option for zero-length friction (instead of recomputing friction directions using btPlaneSpace), use the solver mode flag SOLVER_ALLOW_ZERO_LENGTH_FRICTION_DIRECTIONS
precompute lateral friction directions (in btManifoldResult)
remove the mConstraintRow[3] from btManifoldPoint, it just took a lot of memory with no benefits: fixed it in btParallelConstraintSolver
2012-08-31 19:46:24 +00:00
erwin.coumans
37ebcc3aa6 fix and re-enable sphere-box collision algorithm, Issue 643
Thanks to Laurent for the fix and Thomas for adapting the fix to latest trunk revision!
2012-07-31 17:17:51 +00:00
erwin.coumans
73b217fb07 Apple contribution for OSX SSE and iOS NEON optimizations unit tests, thanks to Jordan Hubbard, Ian Ollmann and Hristo Hristov.
For OSX:
cd build
./premake_osx xcode4
for iOS:
cd build
./ios_build.sh
./ios_run.sh

Also integrated the branches/StackAllocation to make it easier to multi-thread collision detection in the near future. It avoids changing the btCollisionObject while performing collision detection.

As this is a large patch, some stuff might be temporarily broken, I'll keep an eye out on issues.
2012-06-07 00:56:30 +00:00
erwin.coumans
da54814d09 Bug fix in EPA implementation, compute closest triangle to the origin using edges/vertices, instead of the projected origin distance.
See Issue 606 for detailed description. Thanks a lot to Jarno for the report and fix!
2012-03-16 18:59:50 +00:00
erwin.coumans
76375afff2 revert quickSort change in commit http://code.google.com/p/bullet/source/detail?r=2527 and fix the underlying sort issue
in VoronoiFractureDemo (store intermediate values in memory to avoid problems)
@todo: rewrite the island management to avoid sort for better performance
Thanks to Peter Kyme for the report, fixes Issue 607
2012-03-14 03:52:29 +00:00
erwin.coumans
52f9f6ed09 convert UTF-8 to ascii (how did the Byte Order Mark/BOM ever get into this file?) 2012-03-12 18:43:11 +00:00
erwin.coumans
710954d772 Constraints can override their own number of solver iterations (either more or less than the default) or leave it default (-1)
Bump version to 2.80
2012-03-03 03:07:18 +00:00
erwin.coumans
0daf69afb6 Add an improved way to approximate the area of the contact manifold, using 4 points instead of 3. It is switched off by default (need to check performance first), use gContactCalcArea3Points = false to enable it. Thanks to Hiroshi Matsuike for the improvement!
Use App prefix for AppHfFluidDemo
2012-03-01 05:02:01 +00:00
erwin.coumans
73c8a8673e comment the stride parameters of btIndexedMesh
See Issue 518,
thanks to Julien Rebetez
2012-02-29 05:40:55 +00:00
erwin.coumans
dff62e67df CMakeListst.txt maintenance/improvement: create frameworks for BulletMultiThreaded and MiniCL, also minor fix in BulletCollision
thanks to eitttje, see Issue 548
2012-02-29 05:19:22 +00:00
erwin.coumans
4010b9a58c make some methods/data const for btHeightfieldTerrainShape
See Issue 569
Thanks to Camilla Berglund
2012-02-29 05:04:34 +00:00
erwin.coumans
b90352d62b changes in debug drawing, thanks to Dennis Cappendijk
See Issue 559
2012-02-29 04:15:09 +00:00
erwin.coumans
1bcfd824f2 object that have no contact response should not activate other objects
See Issue 592
2012-02-29 03:56:53 +00:00
erwin.coumans
b8d293c1fe Fixes for double precision compilation
Thanks to Dennis Cappendijk for the report and fix
See Issue 575
2012-02-29 03:50:53 +00:00
erwin.coumans
f754952232 Pass in a const reference to a CompareFunc for quickSort, to make Visual Studio 2011 happy.
Thanks to Cameron Hart
Fixes Issue 588
2012-01-23 21:39:44 +00:00
erwin.coumans
ccf30e8ee9 fix for ghost objects 2012-01-11 20:13:06 +00:00
erwin.coumans
c3ae82633c fix issue 586
fix OpenCL demo compile issue on non-Windows issues
2012-01-11 01:43:35 +00:00
erwin.coumans
3035ee69c4 Fix for btCapsuleShape, m_localScaling is already applied to the radius/halfExtents so don't apply it again in the localGetSupportVertex(NonVirtual)
Make sure SerializeDemo compiles fine without DESERIALIZE_SOFT_BODIES defined
2011-12-14 11:18:11 +00:00
erwin.coumans
e1c9b67ef7 reduce dynamic memory allocations in btDbvt::rayTestInternal,
fixes Issue 574, thanks to Anton Breusov
2011-12-12 16:52:52 +00:00
erwin.coumans
606d65d95b Reduce dynamic memory allocation, fixes Issue 573
Thanks to Anton Breusov for the patch
2011-12-12 16:47:41 +00:00
erwin.coumans
665829bd81 only use the getInterpolationWorldTransform for objects that are not isStaticOrKinematic
This should solver the issue discussed here: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=7681
remove some warning
2011-12-12 13:33:34 +00:00
erwin.coumans
4e0aa42123 Disallow the operator= for btAlignedObjectArray, together with some fixes in the code (to avoid accidental deep copy)
Enable #define BT_ALLOW_ARRAY_COPY_OPERATOR in Bullet/LinearMath/btAlignedObjectArray.h to re-enable it
Fixes Issue 564, thanks to Tissen Peter for the report/fix
2011-11-15 20:09:05 +00:00
erwin.coumans
d3c6f9dd67 BulletWorldImporter didn't properly import m_3indices16 arrays, fixes Issue 562 thanks to Marius Elvert
Support for m_3indices8 import
Fix un-initialized memPtr->m_3indices8 at export time, add a workaround at loading time
2011-11-15 18:40:45 +00:00
erwin.coumans
f64fc0a26b avoid array out-of-bounds access 2011-11-15 18:16:42 +00:00
erwin.coumans
a415ef6067 apply patch to fix incorrect co-planar polygon merging
Thanks to fastflo for the report/patch. This fixes Issue 557
2011-10-18 15:41:14 +00:00
erwin.coumans
04285116ad Use a different check for duplicate vertices,
Thanks to fastflo, see http://code.google.com/p/bullet/issues/detail?id=555
and http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=7511&p=25762#p25762
Added missing Intel OpenCL build file, and fix some compile issue due to missing external
2011-10-12 22:40:43 +00:00
erwin.coumans
961fb12985 also set the properties for the mirror version of the plane-convex algorithm (convex-plane)
This fixes Issue 548, thanks to ejtttje
2011-09-19 22:10:32 +00:00
erwin.coumans
69a932f13e Choose a default 'safe' collision margin for very small convex collision shapes, in particular btBoxShape and btCylinderShape
and add some documentation in btConvexInternalShape.h
Thanks to Simon Lundmark for the suggestion

Fixes http://code.google.com/p/bullet/issues/detail?id=349
2011-09-15 18:17:20 +00:00
erwin.coumans
a13d22dc84 Fix a lot of warnings, thanks to ejtttje, Fixes issue 537
Fix soft body debug rendering
2011-09-15 01:17:34 +00:00
erwin.coumans
385933b5ed Expose the multi-point perturbation algorithm for btConvexPlaneCollisionAlgorithm
Usage:
	m_collisionConfiguration = new btDefaultCollisionConfiguration();
	m_collisionConfiguration->setPlaneConvexMultipointIterations();

It is only enabled for polyhedral convex shapes, because implicit/smooth surfaces such as spheres, cylinders, capsules and cones keep on rolling forever, due to the extra off-center contact points
2011-09-14 20:38:33 +00:00
erwin.coumans
fe6991822d Use the original code for convex-plane collision in (btConvexPlaneCollisionAlgorithm),
rather than the perturbed rotated version (it is slower and harder to debug)
2011-09-14 01:28:40 +00:00
erwin.coumans
1e360bdb6b add Intel build support for the OpenCL cloth demo, and use the bullet_logo.png
Thanks to ggjunker for the patch, see Issue 533
2011-09-13 01:52:42 +00:00
erwin.coumans
82234e6f33 add preliminary premake4 support (next to cmake) mainly to auto-generate Visual Studio projectfiles that can be redistributed (with no dependency on cmake, premake) 2011-09-02 22:24:08 +00:00
erwin.coumans
642a6821a5 remove speculative contacts, they break restitution and cause other artifacts
use btConvexPolyhedron for debug rendering, if available
fixes in btConvexConvexAlgorithm for polyhedral contact clipping, if GJK separating normal is zero
don't shift vertices in btPolyhedralConvexShape
2011-08-30 03:28:32 +00:00
erwin.coumans
b80e5fd167 Remove co-planar faces from convex hull, using 2d Graham scan
Improve SAT performance, by skipping back-facing features
Add assert in array class (probably fires in places)
2011-05-20 12:29:24 +00:00
erwin.coumans
7dd0cbb726 fix OSX compilation 2011-04-15 19:17:34 +00:00
erwin.coumans
1b305562be Added Pierre Terdiman's 'internal object' optimization to improve performance for separating axis tests.
Make the winding consistent in btConvexHullComputer (and related fixes in btPolyhedralConvexShape), thanks to Ole!
Some fixes in the btPolyhedralContactClipping implementation (never report a penetration deeper than GJK/EPA found, to avoid issues due to its approximate contact normal directions)
Properly visualize btPolyhedralConvexHullShape that have a  btConvexPolyhedron (by calling initializePolyhedralFeatures() method)
2011-04-15 18:37:28 +00:00
erwin.coumans
9a9a4394ab fix in btParallelConstraintSolver to support double precision
fixes in SAT/polyhedral contact clipping, avoid adding GJK contacts (the contact margin causes different contact depths)
add polyhedral convex shape in InternalEdgeDemo as example of the new SAT/polyhedral contact clipping (added reference to Manual/what's new)
avoid glueing objecs with contacts that are positive (no gaps)
2011-04-09 03:40:15 +00:00
erwin.coumans
cdddf9d25a add FractureDemo to AllBulletDemos
improvements in CCD handling
some cleanup of CcdPhysicsDemo and BasicDemo
2011-04-09 01:14:21 +00:00
erwin.coumans
e6044a1086 re-enabled m_maxEdgeAngleThreshold and m_edgeDistanceThreshold 2011-04-07 16:46:22 +00:00
erwin.coumans
a4e8213ede Implemented btDiscreteDynamicsWorld::addSpeculativeContacts, using conservative advancement to find contact point ahead of time
make Extras/ConvexDecomposition thread safe, Issue 501
some improvements to the btInternalEdgeUtility, patch from Issue 501
2011-04-07 06:23:34 +00:00
erwin.coumans
49630e9c77 improvements in separating axis test / polyhedral clipping support.
improved debug rendering for polyhedra
allow to dynamically switch between gjk and sat test to compute separating axis (independent from the polyhedral clipping)
2011-04-07 03:59:14 +00:00