Commit Graph

287 Commits

Author SHA1 Message Date
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
erwin.coumans
624dac6128 Make btParallelConstraintSolver 64-bit ready
add an optional assert method for the btCollisionDispatcher, to make sure the contact pool is contiguous (needed for btParallelConstraintSolver)
2011-04-04 22:38:56 +00:00
erwin.coumans
d198451909 clear the applied impulse for constraints (no warmstarting)
simplify logic, see Issue 499
2011-04-02 00:44:15 +00:00
erwin.coumans
852fa3ba30 add the BT_ prefix for all #ifdef guards, to avoid conflicts with developers own header defines.
Fixes Issue 497

//license header
#ifndef BT_RIGIDBODY_H
#define BT_RIGIDBODY_H
class btRigidBody
{
};
#endif //BT_RIGIDBODY_H
2011-04-01 17:14:52 +00:00
erwin.coumans
b1f21a7e6a Add better support for btCollisionWorld::convexSweepTest for btStaticPlaneShape, now using the btContinuousConvexCollision directly.
Bugfix in btKinematicCharacterController, using an uninitialized variable
2011-04-01 16:33:55 +00:00
erwin.coumans
2a856f8c32 add support for clipFaceAgainstHull, so we can clip convex polyhedra against triangles (without connectivity information)
in addition to the existing clipHullAgainstHull
Fix for debug drawing of contact points
comment-out some debug drawing code for triangle meshes
2011-03-29 21:58:15 +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
7a9c349a8c enable predictive contact constraints, see BasicDemo 2011-03-05 03:01:44 +00:00
erwin.coumans
58af9d7569 void->int patch (64bit issue)
THanks to core13/Nan, See Issue 25
2011-02-28 17:24:19 +00:00
erwin.coumans
ec1bd45f4f move some of the debug drawing from btCollisionWorld into btIDebugDraw.h,
this allows the developer to create better looking debug primitives (sphere, capsule, cylinder, cone and plane)
2011-02-27 06:33:30 +00:00
erwin.coumans
18371e7876 Fix in user collision filtering for btCollisionWorld::rayTestSingle: it was not properly overridden.
Thanks Paul Dubois, See Issue 397
2011-02-27 03:52:33 +00:00
erwin.coumans
e5b5126876 Enable rayTest btDbvt (dynamic aabb-tree) acceleration for btCompoundShape
Thanks to NaN/core13, see Issue 25
2011-02-26 22:19:00 +00:00
erwin.coumans
f10846ed7a Added preliminary cmake support for PE branch, Win32 only for now. 2011-01-07 01:48:50 +00:00
erwin.coumans
f5d2fceb3e Use resize(0) instead of clear() to optimize the btCompoundCollisionAlgorithm
See Issue 459, thanks to Peter Messmer
2010-12-13 23:37:25 +00:00
erwin.coumans
98d902b7c1 Propagate the allowed penetration through convex cast against a triangle mesh.
Thanks for the report and patch to Paul Dubois, Issue 451
2010-11-18 00:25:04 +00:00
erwin.coumans
bc3b920995 clarified the comments for set/getting of an OpenGL submatrix
Thanks to Mihail Isakov, see Issue 452

Fix sleeping/deactivation issue with kinematic objects, see Issue 442
2010-11-11 22:18:02 +00:00
erwin.coumans
a061306bd2 fixes in SphereTriangleDetector, needs review/test:
+ remove obsolete comment and code
+ use contact breaking threshold
2010-10-02 00:03:01 +00:00
erwin.coumans
fc21378b48 add a fudge factor to avoid degeneracies/failures in the box-box edge-edge separating axis tests. 2010-09-10 20:29:40 +00:00
erwin.coumans
9086c15e49 Applied patch to avoid "Assert in ClosestConvexResultCallback::addSingleResult",
Thanks to Paul Dubois for the report and patch, see Issue 396
Also Issue 415
2010-08-25 19:23:09 +00:00
erwin.coumans
958c705a02 Demos/ConvexHullDistance/ConvexHullDistanceDemo.cpp to compile again
Allow to use convexProcessingThreshold as maximum distance for convex-convex computation (useful for closest distance/point computation)
2010-08-25 01:28:46 +00:00
erwin.coumans
d2522aefbb added the btCollisionWorld::AllHitsRayResultCallback to collect all ray hits (when using btCollisionWorld::rayTest) 2010-08-23 23:00:34 +00:00
erwin.coumans
844a54a409 Fix broken CDTestFramework
Avoid crash in BulletWorldImporter, ignoring 'invalid' constraints between two static bodies
Use a bitfield for btCollisionObject::CollisionObjectTypes (to allow custom types that are derived from build-in types such as btRigidBody)
Revert/improve softbody debug rendering
2010-08-15 20:45:55 +00:00
erwin.coumans
745b3d4e05 fix some warnings, see Issue 400 2010-07-20 01:09:34 +00:00
erwin.coumans
f5e6f87427 implemented patch by Vroonsh to optimize island management with many static objects.
It can be disabled by commenting out the #define STATIC_SIMULATION_ISLAND_OPTIMIZATION in Bullet/src/BulletCollision/CollisionDispatch/btUnionFind.h

See also Issue 406
2010-07-20 00:21:52 +00:00
erwin.coumans
b2798eaae5 fix typo on API btCollisionDispatcher::getDispatherFlags -> getDispatcherFlags
Thanks to Andres Traks for the report/patch:
http://code.google.com/p/bullet/issues/detail?id=372
2010-06-18 01:17:40 +00:00
erwin.coumans
1c218bffed Add an 'extension' pointer to btCollisionObject for some of our Bullet extentions (a custom constraint solver that needs a back-pointer) 2010-04-13 21:43:34 +00:00
erwin.coumans
0fbd9d49c4 + Optimization: move some variable declarations outside of the innerloop in btCompoundCollisionAlgorithm.cpp
Thanks to mccdo at iastate.edu for the contribution, see Issue 373
+ Optimization: removed some unnecessary code in btConvexHullShape::localGetSupportingVertexWithoutMargin
+ Added autogenerated Visual Studio 2005 projectfiles (using a patched cmake 2.8.1 to avoid any references to cmake/absolute paths)
2010-04-12 17:46:56 +00:00
erwin.coumans
f0ba00c010 prettify debug drawing of cone and cylinder,
thanks to francois.sugny
see also http://code.google.com/p/bullet/issues/detail?id=369
2010-03-31 21:12:59 +00:00
erwin.coumans
2f2d33d578 bugfix related to previous commit (btAssert at the wrong place)
fixes for automake build system (remove references to ColladaDemo)
2010-03-13 20:47:21 +00:00
erwin.coumans
192a2b38e9 assign proper index when removing a child shape from btCompoundShape
Thanks to sparkprime for the report and fix in Issue 354
See http://code.google.com/p/bullet/issues/detail?id=354
Fix a few warnings
2010-03-12 05:32:57 +00:00
erwin.coumans
81f04a4d48 fix: some file didn't have the svn:eol-style native yet 2010-03-06 15:23:36 +00:00
erwin.coumans
1f38568f14 Fixing serialization issues introduced in previous commits:
0 maps to 0 (for getUniquePointer)
use getUniquePointer for names too
2010-03-02 11:40:08 +00:00
erwin.coumans
9acb3d1805 Added some improvements on Bullet serialization:
Introduced generated unique id's, instead of the pointer address to avoid 64bit->32bit truncation issues
Use serializer->getUniquePointer instead of directly using a pointer

moved  ChunkUtils::getNextBlock to bFile::getNextBlock.
Moved 'TEST_BACKWARD_FORWARD_COMPATIBILITY' to bDNA.cpp. Enable the define for further testing of .bullet format
Removed duplicate definitions and use the one in LinearMath/btSerialization.h
2010-02-28 20:50:50 +00:00
erwin.coumans
40dc18f604 remove Extras/obsolete/quickstep
improve serialization based on feedback: make it easier to serialize a single object, or single shape, or single bvh.
Modified Bullet/Demos/ConcaveDemo to use btSerializer to serialize the btOptimizedBvh (or optionally the trimesh+bvh)

You can also serialize trimesh without BVH, use:
serializer->setSerializationFlags(BT_SERIALIZE_NO_BVH);//	or BT_SERIALIZE_NO_TRIANGLEINFOMAP
2010-02-25 20:12:40 +00:00
erwin.coumans
5a6afb2b8d expose the SphereTriangleDetector::collide method
cmake build tweaks: only compile BlenderSerialize if necessary
2010-02-24 19:27:24 +00:00
erwin.coumans
e156967762 Enable graphical benchmark by default in cmake
Toggle between point to point and generic 6dof constraint for mouse picking in the demos

Use a 'equal vertex thresdhold' in the btVoronoiSimplexSolver of  0.0001f by default.
This can be disabled (or configured) using defaultCollisionConfiguration->getSimplexSolver()->setEqualVertexThreshold(0.f);
See http://code.google.com/p/bullet/issues/detail?id=305
2010-02-24 01:28:23 +00:00
erwin.coumans
621eddb769 make btHashMap data protected (not private) for easier serialization
move btTriangleInfoMap.h into its own header, into the BulletCollision/CollisionShapes folder
add btTriangleInfoMap pointer to btBvhTriangleMeshShape, so we don't need to use the 'userpointer' anymore
preparation for serialization of btTriangleInfoMap.

See also http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4603&start=30
2010-02-23 09:52:39 +00:00
erwin.coumans
45e7c7f564 Add missing files to XCode project
Add option to disable SPU collision processing, and add assert to detect unsupported recursive compounds on SPU.
2010-02-17 02:34:26 +00:00
erwin.coumans
729a883b71 attempt to let Maya plugin build under Linux using cmake
Thanks redpawfx for the feedback, see http://code.google.com/p/bullet/issues/detail?id=221

improvements in cmake (disable this incremental linking)
2010-02-16 04:30:53 +00:00
erwin.coumans
bb8d1b11df Add btBroadphaseInterface::aabbTest. btDbvtBroadphase and btAxisSweep3 should perform well, as long as the raycast accelerator is enabled.
This should fix the btCollisionWorld::contactTest(btCollisionObject* colObj, ContactResultCallback& resultCallback);

Thanks to Ola for the report!
2010-02-11 18:25:50 +00:00
erwin.coumans
7a175fb65e Add pairwise collision test:
void	btCollisionWorld::contactPairTest(btCollisionObject* colObjA, btCollisionObject* colObjB, ContactResultCallback& resultCallback)

cmake: improve feedback for Maya Plugin handling if the Maya base path is not detected
2010-02-11 09:18:49 +00:00
erwin.coumans
5907f81774 Add void btCollisionWorld::contactTest(btCollisionObject* colObj, ContactResultCallback& resultCallback);
The user should derive its own class from ContactResultCallback and implement the following callback (similar to the gContactAddedCallback):

virtual	btScalar	addSingleResult(btManifoldPoint& cp,	const btCollisionObject* colObj0,int partId0,int index0,const btCollisionObject* colObj1,int partId1,int index1) = 0;
2010-02-11 08:45:41 +00:00
erwin.coumans
a5f51905e8 deal with degenerate triangles in the btInternalEdgeUtility
thanks to scarrow, see http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4603&start=15
2010-02-05 05:31:08 +00:00
erwin.coumans
5364f22047 use #include "BulletHeaders.h" instead of #include <BulletHeader.h> 2010-02-04 20:37:06 +00:00
erwin.coumans
58c5630d7f Add new demos to cmake: SerializeDemo and InternalEdgeDemo
Fix in btShapeHull for previous commit
Add support to serialize name for objects
Updated serialization structures.
2010-02-04 01:07:07 +00:00
erwin.coumans
e57f03599a make Bullet compile on Visual Studio 6 2010-01-30 23:10:12 +00:00