Commit Graph

273 Commits

Author SHA1 Message Date
erwin.coumans
73c8a8673e comment the stride parameters of btIndexedMesh
See Issue 518,
thanks to Julien Rebetez
2012-02-29 05:40:55 +00:00
erwin.coumans
4010b9a58c make some methods/data const for btHeightfieldTerrainShape
See Issue 569
Thanks to Camilla Berglund
2012-02-29 05:04:34 +00:00
erwin.coumans
b8d293c1fe Fixes for double precision compilation
Thanks to Dennis Cappendijk for the report and fix
See Issue 575
2012-02-29 03:50:53 +00:00
erwin.coumans
3035ee69c4 Fix for btCapsuleShape, m_localScaling is already applied to the radius/halfExtents so don't apply it again in the localGetSupportVertex(NonVirtual)
Make sure SerializeDemo compiles fine without DESERIALIZE_SOFT_BODIES defined
2011-12-14 11:18:11 +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
d3c6f9dd67 BulletWorldImporter didn't properly import m_3indices16 arrays, fixes Issue 562 thanks to Marius Elvert
Support for m_3indices8 import
Fix un-initialized memPtr->m_3indices8 at export time, add a workaround at loading time
2011-11-15 18:40:45 +00:00
erwin.coumans
a415ef6067 apply patch to fix incorrect co-planar polygon merging
Thanks to fastflo for the report/patch. This fixes Issue 557
2011-10-18 15:41:14 +00:00
erwin.coumans
04285116ad Use a different check for duplicate vertices,
Thanks to fastflo, see http://code.google.com/p/bullet/issues/detail?id=555
and http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=7511&p=25762#p25762
Added missing Intel OpenCL build file, and fix some compile issue due to missing external
2011-10-12 22:40:43 +00:00
erwin.coumans
69a932f13e Choose a default 'safe' collision margin for very small convex collision shapes, in particular btBoxShape and btCylinderShape
and add some documentation in btConvexInternalShape.h
Thanks to Simon Lundmark for the suggestion

Fixes http://code.google.com/p/bullet/issues/detail?id=349
2011-09-15 18:17:20 +00:00
erwin.coumans
fe6991822d Use the original code for convex-plane collision in (btConvexPlaneCollisionAlgorithm),
rather than the perturbed rotated version (it is slower and harder to debug)
2011-09-14 01:28:40 +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
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
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
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
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
7c3db274c2 add support for btScaledBvhTriangleMeshShape serialization (export and import through btBulletWorldImporter) 2011-03-12 20:25:03 +00:00
erwin.coumans
bf90952c12 Fix in aabb computation for a btUniformScalingShape
Thanks to Flix, see http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=6439
2011-03-11 00:05:07 +00:00
erwin.coumans
fd4ae96697 Performance optimization for btCompoundShape::setLocalScaling
Thanks to Mirza, See Issue 487

backward compatibility fix for recent improvement in btRaycastVehicle 'rollinfluence'
Thanks to Mihail, See Issue 468
2011-03-04 20:16:50 +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
48e89d44dc Applied patch from Blender, see https://svn.blender.org/svnroot/bf-blender/trunk/blender/extern/bullet2/uninitialized_stack_vec.patch
Thanks to Campbell for reporting this
2011-02-10 21:57:04 +00:00
erwin.coumans
9098e82004 BT_USE_DOUBLE_PRECISION was missing from bullet.pc using cmake
Thanks to Sigluy, see Issue 471

Default constructor for btBvhTriangleMeshShape causes NULL dereference, so removed obsolete constructor.
Thanks to exarkun, see Issue 465
2011-01-07 17:50:36 +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
cb4ae2f3b9 Fixed typo in comment, thanks Exarkun for the report in Issue 464 2010-12-22 00:05:59 +00:00
erwin.coumans
c6524b3fb5 fix for re-scaling a btConeShape
Thanks to promyclon for the report and patch, see Issue 448
2010-11-18 01:03:42 +00:00
erwin.coumans
c49927b4ed Use cylinder inertia tensor, instead of box, by default.
See Issue 427

Expose some internal data for constraints,
Thanks to Francois Sugny, see Issue 420
2010-11-17 23:55:39 +00:00
erwin.coumans
4eddfce03e remove some warnings 2010-07-20 23:37:11 +00:00
erwin.coumans
e269034494 removed obsolete virtual implementation of 'getUpAxis' in btCylinderShapeZ. It has been replaced by the non-virtual implementation in the base class (for Cell SPU)
Thanks to Paul Dubois for the report, see Issue 407
2010-07-16 23:41:29 +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
627877e3e5 fix to setLocalScaling for a btCylinderShape, thanks to rutina for the patch:
http://code.google.com/p/bullet/issues/detail?id=393
2010-06-18 00:59:08 +00:00
erwin.coumans
5e069f220e Issue 395: [Patch] implement btCompoundShape::createAabbTreeFromChildren
Thanks Paul Dubois for the patch
2010-06-18 00:39:42 +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
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
658979c3ac Another bugfix in the serialization (recently introduced), it is a mine field ;-)
A fix for btSubSimplexConvexCast, don't add a point of the Minkowski sum if it wasn't already in the voronoi simplex (similar to GJK)
2010-03-02 20:37:11 +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
aab5652e7d fix a serialization bug with btStridingMeshInterface with short indices (16 bit) 2010-02-27 02:16:25 +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
6de5799d5d add missing virtual destructor (warning) 2010-02-24 16:02:55 +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
5c5ce9b4b3 fixes_dialogmenu_capsule.patch 2010-02-18 06:16:35 +00:00
erwin.coumans
e68a13f185 fixes to allow btStaticPlaneShape to be processed on SPU (alignment, non-virtual calls) 2010-02-12 22:49:52 +00:00
erwin.coumans
99d9fddc42 add name for collision shape and constraint serialization (to objects, shapes and constaints can be mapped to user data)
updated serialization structures and header files (for new 'm_name' field, replacing user pointer)
fix issue with  btGeneric6DofConstraint::setParam in headerfile
2010-02-04 05:28:17 +00:00