Commit Graph

25 Commits

Author SHA1 Message Date
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
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
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
erwin.coumans
8847b21eb7 fix for gcc/ubuntu 2011-03-29 09:12:35 +00:00
erwin.coumans
784e7fdb39 Added support for separating axis test for polyhedral shapes
Added initial support for polyhedral contact clipping. 
This clipping takes a separating normal, that can be computed using either SAT or GJK/EPA.
To enable clipping, use btPolyhedralConvexShape::initializePolyhedralFeatures(); (needs to be enabled for both convex shapes)
No concave trimesh support for SAT/clipping yet. To enable SAT, see the toggle in btConvexConvexAlgorithm.
Fixes in contact normal in btGjkPairDetector. Hopefully this doesn't cause any regression (we need unit tests!)
2011-03-29 08:52:18 +00:00
erwin.coumans
d67aa861f2 Add support for childshape index for btCompoundShape during ContactAddedCallback,
see example in Bullet/Demos/ConvexDecompositionDemo
Removed some warnings
2009-08-11 00:30:41 +00:00
erwin.coumans
aef97d6015 Share btGjkPairDetector, btGjkEpa2, btVoronoiSimplexSolver with SPU/Multithreaded implementation (remove duplicate code)
Make btTypedConstraint and btPersistentManifold both derive from btTypedObject to make SPU-side generic constraint solver easier.

Note: all build systems need to be updated: remove SpuVoronoiSimplexSolver.cpp, SpuGjkPairDetector.cpp, SpuEpaPenetrationDepthSolver.cpp, SpuGjkEpa2.cpp
2009-08-07 08:57:56 +00:00
erwin.coumans
badf723257 Replace all hardcoded 1e30(f) by BT_LARGE_FLOAT, defined in btScalar.h as 1e18(f) so that its square still fits in FLT_MAX
Thanks to Ole K. for reporting! http://code.google.com/p/bullet/issues/detail?id=206
2009-05-23 02:15:54 +00:00
erwin.coumans
2f1014268b + Internal improvements for collision shapes
1) add AabbCaching versions of btPolyhedralConvexShape and btMultiSphereShape (this speeds up btMultiSphereShape 'getAabb', and reduces size of btBoxShape)
2) btCylinderShape doesn't derive from btBoxShape anymore
+ Minor fixes in drawing for btMultiSphereShape, btBoxShape.
+ Don't re-generate btDebugFont every frame
+ Disabled velocity prediction for btDbvtBroadphase. Previous default can be restored using btDbvtBroadphase->setVelocityPrediction(1./2.);
2009-05-22 01:03:45 +00:00
erwin.coumans
22fe8935c3 updated test1.oec with a few static objects
fix Maya plugin hinge constraint support
update copyright year in BulletCollision/CollisionShapes.
2009-05-12 22:28:45 +00:00
erwin.coumans
22a79e61b1 updated Jamfile build system for reorganized files/folders 2008-10-11 05:23:00 +00:00
john.mccutchan
37f6b006af Move some code (mainly constructors) into header files.
Add parameter to optionally compute local AABB for ConvexPointCloudShape
Add setter and getter for cached local AABB in PolyhedralConvexShape
2008-10-08 16:56:08 +00:00
john.mccutchan
2b71784c86 Make getShapeType() a non virtual function.
Add localGetSupportVertexNonVirtual, localGetSupportVertexWithoutMarginNonVirtual, getAabbNonVirtual and getMarginNonVirtual methods to convex shape classes
2008-09-29 22:47:05 +00:00
erwin.coumans
cc3e3a851f fix for btPolyhedralShape::setLocalScaling (and derived classes such as btConvexHullShape): recalcLocalAabb.
Thanks to pico for the report: http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2550&p=10207#p10207
2008-09-02 17:32:57 +00:00
erwin.coumans
80f80df7e3 set linear/angular velocity to zero when objects are asleep
Thanks to  http://code.google.com/p/bullet/issues/detail?id=73
improve performance of btConvexTriangleMeshShape::recalcLocalAabb
Thanks to fullmetalcoder, http://code.google.com/p/bullet/issues/detail?id=67#makechanges
2008-08-29 05:30:50 +00:00
ejcoumans
f5fb2d77eb fixed include path (don't use system include <>, but "" instead)
Thanks to Stephen (shatcher) for reporting!
http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1696&p=6412#p6412
2007-11-17 17:16:19 +00:00
ejcoumans
ea3dfb4ca3 made 'calculateLocalInertia' const, thanks to cgripeos, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1514
- applied a large patch to remove warnings
Thanks to Enrico, see http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1568
- removed SSE includes, added #incude <string.h> for memset in Extras/quickstep, thanks Eternl Knight
- disabled 16-byte alignement on btQuadWord class, it causes problems under PS3 Linux. Need to check out why.
2007-10-13 23:41:37 +00:00
ejcoumans
eca55afe4d some more changes related to PS3 SPU optimizations (16-byte alignment, allowing non-virtual access to data) 2007-05-25 23:27:49 +00:00
sjbaker
6b102c65b3 Cleanup some trivial compilation warnings. 2007-03-19 04:27:59 +00:00
ejcoumans
b73900bc60 Improved performance of convex collision shapes, cache local AABB instead of recomputation. This fixes issue with very slow performance in larger .bsp levels.
Moved some asserts into 'btFullAssert', which is disabled by default (see btScalar.h to enable them). This is to speed-up debugging.
2007-02-26 04:59:05 +00:00
ejcoumans
df9230327c Contribution to add optional double precision floating point support. Define BT_USE_DOUBLE_PRECISION for all involved libraries/apps. 2006-12-16 05:51:30 +00:00
ejcoumans
1208c67f85 removed duplicate int i, caused VC6 not to compile. 2006-10-03 17:51:07 +00:00
ejcoumans
2b1657b1dd Refactoring: another huge number of changes, renamed methods to start with lower-case. 2006-09-28 01:11:16 +00:00
ejcoumans
eb23bb5c0c merged most of the changes from the branch into trunk, except for COLLADA, libxml and glut glitches.
Still need to verify to make sure no unwanted renaming is introduced.
2006-09-27 20:43:51 +00:00
ejcoumans
0e04cfc806 First stage in refactoring Bullet: moved Bullet Collision and Dynamics and LinearMath into src folder, and all files in Collision Detection and Dynamics have bt prefix.
Made all buildsystems to work again (jam, msvc, cmake)
2006-09-25 08:58:57 +00:00