Commit Graph

285 Commits

Author SHA1 Message Date
erwin.coumans
02a22f6329 Avoid using SSE in API when BT_USE_SSE_IN_API is not defined
Fixes Issue 683.
2012-12-20 22:09:59 +00:00
erwin.coumans
27fd8ea0d7 make it more obvious that btBvhTriangleMeshShape cannot be used for moving objects. 2012-12-14 20:31:03 +00:00
erwin.coumans
74db95d827 disable sphere-box again, it seems broken
http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?f=9&t=8456

fix some warnings
2012-10-02 02:26:37 +00:00
erwin.coumans
60bf599246 perform GrahamScanConvexHull2D around an arbitrary oriented 2D plane in 3D, to fix some convex hull face merging problems
add compound shape support to BulletXmlWorldImporter and fix some compile issue under Debian (hopefully)
object picking change in the demos: create a ball-socket picking constraint when holding shift while mouse dragging, otherwise a fixed (6dof) constraint
add assert in constraint solver, when both objects have their inertia tensor rows set to zero
btPolyhedralContactClipping: add edge-edge contact point in  findSeparatingAxis (similar to the default GJK case)
2012-09-28 07:14:48 +00:00
erwin.coumans
22fb7d5c1e improve rolling friction using anisotropic direction, to avoid resting in an instable position
(for implicit capsule, cylinder and cone shape)
See Bullet/Demos/RollingFrictionDemo for an example
2012-09-16 17:01:25 +00:00
erwin.coumans
4eb5240cbe Applied patch for character controller by bjorn.wesen. Fixes Issue 644.
Fixed some warnings in double-precision compile
2012-09-11 04:36:57 +00:00
erwin.coumans
5417bae113 add zigzag heightfield for Ogre compatibility.
Fixes Issue 625. Thanks to KLLoyd!
2012-09-09 22:48:20 +00:00
erwin.coumans
7bb4e0e1bd fix ForkLiftDemo update (previous commit)
implement preallocate{Vertices,Indices} in btTriangleMesh. Fixes Issue 647.
2012-09-09 17:59:02 +00:00
erwin.coumans
2700ba17c0 fix memory leak when calling initializePolyhedralFeatures
Fixes Issue 623, thanks for the report/patch!
2012-09-08 19:43:24 +00:00
erwin.coumans
b69c6ac3f5 fix padding in btSolverConstraint, see Issue 650
fix some warnings
2012-09-08 19:21:14 +00:00
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
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
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