Commit Graph

311 Commits

Author SHA1 Message Date
erwin.coumans
fcb1448f21 fix member variable name 2011-05-22 11:01:46 +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
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
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
f44cb95b2a Added improved convex hull computation utility based on Preparata and Hong
Thanks to Ole Kniemeyer, MAXON, See also http://code.google.com/p/bullet/issues/detail?id=275
The ConvexHullDistanceDemo uses it to visualize the convex hull of a point cloud.
2011-03-22 00:53:17 +00:00
erwin.coumans
7c3db274c2 add support for btScaledBvhTriangleMeshShape serialization (export and import through btBulletWorldImporter) 2011-03-12 20:25:03 +00:00
erwin.coumans
bcb08a93f8 update serialization structures 2011-03-12 04:39:24 +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
4e8596eef5 Added some helper methods for constraints and btMatrix3x3,
Thanks to  francois, See Issue 466

Prevent crash in SoftBodyDemo, when picking constraints and demo-mode switches to next demo.
2011-02-27 03:28:53 +00:00
erwin.coumans
cb497b88a6 Avoid division by zero in softbody constraint solving
Thanks majestik for reporting the issue and providing a patch, see Issue 469

Fix bug in findBinarySearch, luckily this method was not used yet.
Thanks snowcat for reporting a fix for this issue:
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=6294
2011-01-30 21:17:18 +00:00
erwin.coumans
22ff43e388 removed a minor warning 2011-01-06 02:26:18 +00:00
erwin.coumans
4ba9cfa5a4 trim some un-needed data from softbody joint serialization 2010-12-16 02:54:11 +00:00
erwin.coumans
dd7ee6919e serialize btGeneric6DofSpringConstraint
serialize btSoftBody::Joint
See also Issue 456
2010-12-16 02:35:44 +00:00
erwin.coumans
ba5012973d Make argument to btDefaultSerializer optional, and use zero by default. This will dynamically allocate data, so there is no need to guess the maximum size anymore.
Remove some cached data from SoftBodyLinkData, to reduce serialization file size.
2010-12-04 01:23:31 +00:00
erwin.coumans
6173a30bce Improved BulletSoftBody serialization, added cluster support. Joints and copying data from GPU back to softbody are the main todo.
Updated the Bullet/Demos/SerializeDemo to load .bullet files with the softbody data.

BulletSoftBody should use getWorldTransform and not getInterpolationWorldTransform
Fix btBulletWorldImporter so that it creates a copy of the index/vertex data, this prevents crashes when deleting the .bullet file with triangle meshes.
2010-12-03 03:11:21 +00:00
erwin.coumans
032c6bfe2c add initial support for soft body / cloth serialization, and updated SerializeDemo to load soft bodies/cloth.
Serializes soft body nodes (vertices), links, faces, tetrahedra, materials, anchors with rigid bodies.
Some todo's are serialization of pose, constraints between soft bodies
2010-12-01 05:55:08 +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
41314b5ebc Allow properly override of btAlignedAllocSetCustomAligned
Fixes Issue 430, Thanks to wombatzus
2010-09-20 22:33:24 +00:00
erwin.coumans
318e0d74dc Fix in btQuickprof that caused crash in ConcaveConvexcastDemo.cpp
Thanks to Roman Ponomarev for the report
Make btVector3::rotate const
Thanks to lepoussin, see Issue 428
CMakeLists.txt improvement: don't copy resources when INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES is set
CMakeLists.txt improvement: INSTALL_EXTRA_LIBS for ConvexDecomposition and GIMPACTUtils
Thanks to andrebra, see Issue 425
2010-09-18 00:24:50 +00:00
erwin.coumans
c296122e4e fix build for Intel Compiler 11.1 -> move static ::getFixedBody method from header to cpp file. 2010-09-08 00:38:15 +00:00
erwin.coumans
33a41798cf more fixes to the 'make install' feature for both cmake and autotools
now autotools uses the same library naming as cmake: libBulletSoftBody, libBulletDynamics, libBulletCollision, libLinearMath
cmake doesn't install .svn folders anymore
cmake pkgconfig bullet.pc.cmake 'include' folder fixed (removed /bullet postfix)
added BulletCollision/CollisionShapes/btTriangleInfoMap.h to the install
2010-09-07 23:40:17 +00:00
erwin.coumans
32714313a8 Move btClock into .cpp file, similar to Issue 381 2010-08-24 23:43:00 +00:00
erwin.coumans
a022c9a555 update .bullet format to 2.77, embed DNA inside its own chunk 2010-08-24 20:49:41 +00:00
erwin.coumans
436c71d440 fix btQuickprof introducing #define WIN32_LEAN_AND_MEAN, see also Issue 113 2010-08-23 22:21:29 +00:00
erwin.coumans
fcd1f62aeb fix code page issues, see also Issue 414 2010-08-10 19:19:43 +00:00
erwin.coumans
9bee6f6afd prepared some unit test for LinearMath 2010-07-24 01:16:42 +00:00
erwin.coumans
6d48fd6172 fix: start with localtime = 0
fix: drawSphere function in btIDebugDraw should be virtual
2010-07-22 20:24:03 +00:00
erwin.coumans
6fcb48f918 bump up version to 2.77 in preparation for release. 2010-07-21 22:11:49 +00:00
erwin.coumans
745b3d4e05 fix some warnings, see Issue 400 2010-07-20 01:09:34 +00:00
erwin.coumans
b3f081fc85 Added preparation for GPU hardware accelerated solvers for BulletSoftBody (OpenCL and DirectCompute backends will follow)
Added assert to check for positive masses in btCompoundShape::calculatePrincipalAxisTransform, see Issue 399
Fixes for LLVM/GCC compilation issue in btSequentialImpulseConstraintSolver
(Untested) fix for Linux 64bit compilation Issue 409
2010-07-16 23:26:25 +00:00
erwin.coumans
fbc17731ec Several changes to sync Bullet trunk with PlayStation 3 spubullet version
Still needs some cross-platform fixes
2010-07-08 17:02:38 +00:00
erwin.coumans
b83e16b7ff fix out-of-bounds in AMD version of VectorAdd 2010-06-25 00:40:20 +00:00
erwin.coumans
97bc4be09d improving shared library/framework support (still untested) 2010-03-06 17:07:22 +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
8fbe399ea4 Make .bullet serialization mode robust:
Deal with broken DNA serialization. Bullet 2.76 release revision 2035 - 2046 was broken, and this includes the Maya Dynamica plugin.
Added some workaround to deal with the broken .bullet files, instead of crashing.
2010-03-02 09:32:34 +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
d5ea1d569f for for btBvhTriangleMeshShape with short int indices serialization
disable bvh serialization, it has issues (needs testing)
2010-02-27 09:16:42 +00:00
erwin.coumans
8383d76c42 revert DNA change in previous commit 2010-02-25 20:18:40 +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
9c1d134f2f add support for btTriangleInfoMap serialization (needs testing) 2010-02-24 03:22:34 +00:00
erwin.coumans
f5fabd2676 Preparation for serialization of btTriangleInfoMap
Add flags to disable bvh and triangleinfomap serialization

btSerializer::setSerializationFlags(flags)
flag can have value BT_SERIALIZE_NO_BVH, BT_SERIALIZE_NO_TRIANGLEINFOMAP
2010-02-24 02:49:41 +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
41e9115bca Add support to serialize btOptimizedBvh/btQuantizedBvh for a btBvhTriangleMeshShape (using the new btSerializer). This is a new implementation, with full cross-platform support.
So it is different from the in-place method (btQuantizedBvh::serializeInPlace/deserializeInPlace).

It is also possible to serialize/deserialize just the bvh, using the btSerializer (needs some code snippet/helper)
See also http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4770
2010-02-23 09:03:46 +00:00
erwin.coumans
1c0ec85c32 Retired the Jam build system (and msvcgen). CMake is currently the preferred build system on Windows, Mac and UNIX
(autotools files are still left for now)
2010-02-20 15:47:20 +00:00
erwin.coumans
890fd49813 don't serialize names twice,
register unknown chunks (used for rigid body/shape/constraint names)
2010-02-20 03:19:27 +00:00
erwin.coumans
8594a0d8bd accidently removed 64bit serialization DNA in previous commit, re-adding 2010-02-19 23:39:55 +00:00
erwin.coumans
85724b5500 SerializeDemo: create a testFile.bullet if it is missing
Serialization: remove obsolete autogenerated headers
Minor changes in btSequentialImpulseConstraintSolver: split methods to make it easier to derive from the class and add functionality.
2010-02-19 23:24:04 +00:00