Commit Graph

99 Commits

Author SHA1 Message Date
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
51dc372993 (de)serialization of softbody joints working now. Resolving Issue 456. 2010-12-16 07:41:00 +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
eefffc2cf2 MiniCL and BulletMultiThreaded respect the LIB_SUFFIX
Thanks to pprkut@liwjatan.at for the report in Issue 436

Remove unimplemented methods in headerfiles,
thanks to csaba.hruska in Issue 437
2010-10-06 00:59:42 +00:00
erwin.coumans
5bb8330b7b Applied patch for several build issues:
+ add empty constructors to make Bullet compile using clang. 
Thanks to Stillmoon for the report and patch, See http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=5730
+ bullet-2.77/Demos/OpenCLClothDemo/cloth.h:103: error: ‘sprintf’ was not declared in this scope
Thanks to pprkut for the report in Issue 435
+ cmake build fails on Unix systems when using BUILD_SHARED_LIBS. Added pthreads to BulletMultiThreaded
Thanks to pprkut for the report in Issue 434
2010-10-04 19:05:56 +00:00
erwin.coumans
cb2de12243 btSoftBodySolver_OpenCL::setDefaultWorkgroupSize to customize the work group size.
Thanks to Simon Green for the feedback, see also Issue 419

Added BT_PROFILE for "predictUnconstraintMotionSoftBody"

Added a few missing destructors.
Added AllMemoryBarrier
Thanks to Lee Howes for the commit in the branch.
2010-09-08 22:21:59 +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
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
4f9b450200 added OpenCL cloth demo, contributed by AMD.
updated GpuSoftBodySolvers
updated DirectCompute cloth demo
2010-08-14 00:56:17 +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
97bc4be09d improving shared library/framework support (still untested) 2010-03-06 17:07:22 +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
70c70bf681 cmake: don't install anything by default, unless the option INSTALL_LIBS is enabled
cmake: fix for multi-threaded benchmarks
2010-02-11 07:12:58 +00:00
erwin.coumans
97921411d2 cmake build system improvement: don't INSTALL when INTERNAL_CREATE_DISTRIBUTABLE_MSVC_PROJECTFILES is set
minor fix for MinGW32, reported here: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=4710
2010-02-11 04:32:37 +00:00
erwin.coumans
788f48643b remove all warnings on Mac OSX Snow Leopard 2010-01-30 22:31:56 +00:00
erwin.coumans
96d73d642d fixes in debug drawer: always use rgba color with each component in range [0..1]
use sphere/box rendering of debug drawer
Thanks accodejockey for the report: See http://code.google.com/p/bullet/issues/detail?id=280
Also see http://code.google.com/p/bullet/issues/detail?id=279
2010-01-19 19:38:18 +00:00
erwin.coumans
c26f5e4b6e apply patch to allow soft body rayTest. Minor change in patch: test for current hitfraction, so only report hits closer than current closest hit fraction.
Thanks to Benoit Bolsee for the patch, see Issue 311
http://code.google.com/p/bullet/issues/detail?id=311
2010-01-06 00:41:03 +00:00
erwin.coumans
63bb1bab94 fixes to make VC6 compiler (and its users) happy 2009-12-22 21:27:27 +00:00
erwin.coumans
d7a07e9745 Make 'randomizeConstraints' optional, switched on by default (to keep existing behaviour)
Thanks Benoit for the report: http://code.google.com/p/bullet/issues/detail?id=315
2009-12-13 20:37:09 +00:00
erwin.coumans
d96818d994 minor fixes in cmake build system, they caused troubles with CMake 2.8 and Xcode 2009-11-17 02:45:37 +00:00
erwin.coumans
4c3af9c95f use LIB_SUFFIX to install under lib${LIB_SUFFIX}, for example /usr/lib64
Thanks to brumahe for the patch
http://code.google.com/p/bullet/issues/detail?id=174

compile BulletMultiThreaded also on  64 bit
2009-11-03 06:01:00 +00:00
erwin.coumans
ed09140fb7 remove some warnings, thanks to Zenja http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=4063 2009-09-09 23:51:30 +00:00
erwin.coumans
2d1777c899 Avoid collision detection/response between anchored (static) soft body cluster and a static/kinematic rigid body 2009-08-31 04:35:06 +00:00
erwin.coumans
2ef7c1a457 Fixes / improvements in soft body:
avoid blow-up due to improper mass calculation for fixed nodes (happened when using clusters)
allow to create collision clusters for each tetrahedron or triangle, when using btSoftBody::generateClusters(0)
tweak soft body demos a bit, only draw debug wireframe if necessary
2009-08-28 21:23:54 +00:00
erwin.coumans
f492899499 Added example of tetrahedral (volumetric) softbodies
Keep camera distance positive when using mouse zoom
Updated autogenerated msvc projectfiles
Added glut 64 bit support
2009-08-27 18:39:17 +00:00
erwin.coumans
500930652e move class outside of method 2009-08-14 22:14:04 +00:00
erwin.coumans
34699f6de6 + add option to set pre-tick callback, called at the beginning of each internal simulation step
+ use real-time for soft body demo (using this pre-tick callback)
+ optimize the generation of bending constraints for the special case where the distance is 2
2009-08-14 21:36:51 +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
82828745ea enable SIMD for Apple OSX Intel
compile fixes for _btGpu_computeGridSize undefined in libBulletMultiThreaded
http://code.google.com/p/bullet/issues/detail?id=246
2009-07-16 06:23:04 +00:00
erwin.coumans
40c73f327c + CMake build system fix under Windows: don't define _WINDOWS to allow Glut console demo to build properly
+ Allow user to enable useConvexConservativeDistanceUtil . Use dynamicsWorld->getDispatchInfo().m_useConvexConservativeDistanceUtil = true;
(see Demos/Benchmarks/Benchmark4 (convex objects falling down)
+ Fix for plane drawing (just wire-frame)
+ Gimpact: use collision margin of 0.07 for demo (because BULLET_TRIANGLE_COLLISION is used)
+ replace dot,cross,distance,angle,triple in btVector3 by btDot, btCross,btDistance,btAngle,btDistance to avoid naming conflicts
+ Some fixes in GJK penetration depth normal direction (broken in a previous commit)
+ fix in calculateDiffAxisAngleQuaternion to make ConvexConservativeDistanceUtil work properly
+ allow debug drawing to debug btContinuousConvexCollision
+ add comment/warning that btTriangleMesh::findOrAddVertex is an internal method, users should use addTriangle instead
2009-07-15 16:47:48 +00:00
erwin.coumans
60c107b7a7 Updated INSTALL description. This info should go also in Bullet User Manual and Online.
Thanks to ejtttje http://code.google.com/p/bullet/issues/detail?id=248

Use GJK for GImpact triangle test
See http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3687

More improvements in GJK degeneracy handling (using second EPA/GJK run)
Issue/discussion here http://code.google.com/p/bullet/issues/detail?id=250

CMake improvements
Thanks to ejtttje http://code.google.com/p/bullet/issues/detail?id=247

Added basic camera/wall detection for character demo
2009-07-14 02:10:03 +00:00
erwin.coumans
c4ad354ac0 More GJK degeneracy fixes, thanks Jacob Langford for the feedback:
http://code.google.com/p/bullet/issues/detail?id=250

Added missing files for Maya Dynamica plugin
Thanks Herbert Law for the patch, and damrit and others for the report
http://code.google.com/p/bullet/issues/detail?id=231

Fix btQuaternion shortestArcQuat, thanks Stan Melax for original fix and shogun for reminder
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=1989

Implemented btDiscreteDynamicsWorld::removeCollisionObject (and btSoftBodyDynamicsWorld) to avoid
crashes. Thanks Jacob Langford for bringing that up.

Minor sphere-debug drawing issue (spheres were drawn inside-out (wrong face winding)
2009-07-13 21:48:19 +00:00
erwin.coumans
459c22e7cb Synchronized changes of Bullet, from Blender.
Added optional flag btSoftBody::appendAnchor(	int node,btRigidBody* body, bool disableCollisionBetweenLinkedBodies=false), to disable collision between soft body and rigid body, when pinned
Added btCollisionObject::setAnisotropicFriction, to scale friction in x,y,z direction.
Added btCollisionObject::setContactProcessingThreshold(float threshold), to avoid collision resolution of contact above a certain distance.
Avoid collisions between static objects (causes the CharacterDemo to assert, when a dynamic object hits character)
2009-03-03 06:47:52 +00:00
erwin.coumans
5be9f8f301 basic implementation of self-collision for btSoftBody with collision clusters: perform regular soft body versus soft body, but disable collision detection between clusters that are connected/share any node (vertex).
currently self-collision is always enabled for soft bodies that use clusters collision detectoin. to disable, call 'softbody.m_clusterConnectivity.clear' after 'generateClusters(...) call.
2009-03-02 05:13:26 +00:00
erwin.coumans
a216ce4bf6 apply patch for convex decomposition performance improvements, thanks to Tuan Kuranes:
http://code.google.com/p/bullet/issues/detail?id=199
Fix in soft body collision, adding collision margin twice (was visible when rigid body spheres rested on cloth)
2009-02-28 00:21:30 +00:00
erwin.coumans
8acadeb711 minor tweaks to demos: enable constraint debug drawing in AllBulletDemos, default constraint debugging size set to 0.3,
set svn:eol-style native for folder files
http://code.google.com/p/bullet/issues/detail?id=191
2009-02-18 22:52:03 +00:00
erwin.coumans
fb15a0ab27 fix bug in btSoftBodyHelpers, flags the wrong linked index-pairs.
Thanks to basarugur for the fix:
http://code.google.com/p/bullet/issues/detail?id=172
2009-01-19 07:15:23 +00:00
erwin.coumans
a5c18db854 fix CMake install for CMAke 2.6 -> version GREATER then 2.5 2008-11-15 03:48:24 +00:00
erwin.coumans
5feea39803 Fix compilation for MSVC 6.0 for Bullet and COLLADA DOM.
Fix issues with btDbvt: use ATTRIBUTE_ALIGNED16
Removed several places where variable was declared within for statement: for (int i=0; should be int i; for (i=0
2008-11-12 18:37:05 +00:00
erwin.coumans
85341fee2a fix more places in btSoftBody that assume btRigidBody (it wasn't designed to support btCollisionObject/btGhostObject).
Add another 'findActiveObject'
2008-11-10 21:33:11 +00:00
erwin.coumans
3c0ca0d931 Fix btSoftBody issue, so it can interact with btCollisionObject and btGhostObject (and not just btRigidBody and btSoftBody)
Thank for the report mi076 http://www.bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2823

remove legacy.c from libxml
removed #include <math.h> from btQuadWord.h , it should be centralized in btScalar.h (to allow easier replacement with fastmath.h etc)
2008-11-10 20:33:14 +00:00
erwin.coumans
9aadc53322 Add VERSION to CMake build.
http://code.google.com/p/bullet/issues/detail?id=137
Removed TerrainDemo from AllBulletDemos, it isn't properly tested (has grinds to a halt after running it for a while, shooting some objects on it).
2008-11-07 00:10:29 +00:00
erwin.coumans
2daf428386 updated CMake support: remove Lib prefix, to facilitate Apple Framework support, add App prefix for demos
See discussion here: http://code.google.com/p/bullet/issues/detail?id=129
2008-11-06 06:54:35 +00:00
erwin.coumans
108c88af41 Applied Cmakelist patch, adding Apple Framework support
Disable libxml LIBXML_MODULE_EXTENSION
Fixed include path in btConeTwistConstraint (it should be relative to src folder, not using ../../ )
Thanks to ejtttje, http://code.google.com/p/bullet/issues/detail?id=129
2008-11-06 06:02:38 +00:00
erwin.coumans
f964c2f644 fix Cmake build files (CMakeList.txt) so it works with Cmake 2.4 again (only INSTALL feature requires Cmake 2.6) 2008-11-05 02:34:01 +00:00
erwin.coumans
325fc0bab0 Improve CMake support:
Add CMake install support for libbulletmath,libbulletcollision,libbulletdynamics,libbulletsoftbody,and toplevel include files
Options to enable/disable BUILD_DEMOS and BUILD_ETRAS

Fixed compile issue in BulletMultiThreaded
Fixed double-precision issues with btMatrix3x3::getEulerZYX
2008-11-04 10:36:27 +00:00