Commit Graph

295 Commits

Author SHA1 Message Date
AlexanderPolyakov
b7699024e2 Fix for use of uninitialized variables.
m_implicitShapeDimensions was used in setMargin, called from setSafeMargin
from constructors of btBoxShape, btCylinerShape and btBox2dShape,
effectively using uninitialized variable and leading to floating point
exceptions.
It was working correctly only because in the same constructor
m_implicitShapeDimensions was reinitialized after setSafeMargin.
Properly initialize variable before use by first setting it up and only
then using it in setSafeMargin.
2014-10-07 19:26:14 +04:00
Erwin Coumans
3c558ec995 explicitly deserialize btCapsuleShape date (margin, scaling, halfextents), because the API modifies them 2014-08-26 17:21:08 -07:00
Erwin Coumans
5834547368 fix more warnings in BulletCollision, and fix CMakeLists for Linux 2014-08-21 15:54:50 -07:00
bgossage
d58857f06b -- Corrected cast of 32-bit int to 64-bit pointer
-- Removes 64-bit portability issue.
2014-07-17 11:13:07 -05:00
erwin coumans
eb74688c18 Add setUserIndex/getUserIndex (int index) to btCollisionShape
Share physics setup of BasicDemo between different graphics frameworks, see Demos\BasicDemo\BasicDemoPhysicsSetup.*
Plan is to do this for all Bullet demos.
Improve gwen performance and cursor navigation for tree control.
tweak shadowmap size
SimpleOpenGL3App::registerCubeShape accepts half extents
2014-05-20 12:02:01 -07:00
XBog
ed42e217b5 subdivion backface shouldnt be in front 2014-04-12 18:11:58 +02:00
erwin.coumans
e94a2137b0 minor update manual
fix vehicle demo (heightfield is broken, when using very large scaling factor)
add btConeShape serialization, see Issue 725
add btGearConstraint get/set, see Issue 685 and Issue 671
2013-09-13 16:34:39 +00:00
erwin.coumans
8f4f99809e use btScalar instead of float for btTriangleMesh
thanks to nsarkozi. This fixes issue 704
2013-09-12 22:22:15 +00:00
erwin.coumans
bb379bd84c fix one of the btCompoundShape scaling issues, this fix breaks the API (need to add warning at the next release)
fixes https://code.google.com/p/bullet/issues/detail?id=374 and
https://code.google.com/p/bullet/issues/detail?id=444
2013-09-10 23:34:23 +00:00
erwin.coumans@gmail.com
2bb26cbb7d Enable btHeightfieldShape in VehicleDemo, so it is tested (using heightfield128x128)
(converted raw data to .cpp so it doesn't need to be loaded from disk)
Some optimizations for btHeightfieldShape, thanks to Danny Chapman
 Quick check on AABB (was not done) and reduce calls to 'getVertex'
2013-09-10 00:57:00 +00:00
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