Commit Graph

332 Commits

Author SHA1 Message Date
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
8453942546 workaround for a GCC 4.2 compiler bug and warning in pointer conversion,
fixes Issue 615, thanks to Daniel Sefton for the report
2012-03-30 19:15:55 +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
28de5ea030 unsigned char -> char for serialization data structures.
See Issue 604
2012-03-05 23:38:36 +00:00
erwin.coumans
b5b31ce52b added VoronoiFractureDemo, thanks to RBD
fix in infinite recursion in quickSort, exclude the pivot in each sub partition
disabled constraints don't merge simulation islands, and they don't disable collision between linked rigid bodies either.
2012-03-05 21:47:05 +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
0adc75433b fix a warning in btSerializer.h (unused variable nr) 2012-02-29 05:51:10 +00:00
erwin.coumans
8f389d13e7 fix btQuaternion::slerp
See issue 583.
Thanks to macbearchen for the report and joshua downer for the fix
2012-02-29 04:50:39 +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
bafef09b6e add btAlignPointer template and use it in serializer/allocator
this should fix Issue 559
2012-02-25 19:24:59 +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
aa6f352ddc use #include "btScalar.h" instead of "LinearMath/btScalar.h"
fixes Issue 572
2011-12-12 16:56:39 +00:00
erwin.coumans
866dc2c6c7 operator argument had to be const 2011-11-22 00:21:48 +00:00
erwin.coumans
0e6926c096 avoid compile errors in projects (btHashMap copied gives errors, see http://gamekit.org/forum/viewtopic.php?f=9&t=29&start=93 2011-11-22 00:03:46 +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
0d1fcf7c48 Move btOclUtils.cpp/h and btOclCommon.cpp/h to btOpenCLUtils.cpp/h
Rename member numerator to m_numerator in btConvexHullComputer.cpp to avoid confusion (Thanks to Ian for the feedback)
Add btSoftBody::addAeroForceToNode and btSoftBody::addAeroForceToFace, thanks to Dongsoo Han/Saggita
2011-11-14 22:22:49 +00:00
erwin.coumans
a374f8c0d4 remove btOclGetMaxFlopsDev, it was buggy. Just use device 0 in the demos. The OpenCL initialization needs more work/some GUI. 2011-11-11 20:11:03 +00:00
erwin.coumans
ce62d7615e Update version to 2.79 for a new bugfix release 2011-09-15 23:36:59 +00:00
erwin.coumans
b690019e39 Removed global operator- in btQuaternion, and rewrote the 'getAxis' method
Add a unit test for testQuaternionGetAxisAngle
Thanks to ejtttje, fixes Issue 538
2011-09-13 23:37:05 +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
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