Commit Graph

91 Commits

Author SHA1 Message Date
ejcoumans
685138d033 include paths should not be relative starting with "../
It leads to problems with certain compilers, when Bullet/src is located in a long pathname.
Keep include path starting with "LinearMath/, "BulletCollision/, or "BulletDynamics/
2007-07-14 05:08:57 +00:00
ejcoumans
2508cef2cf removed prefix "btHingeConstraint::" in headerfile. Doesn't compile under all platforms. Thanks to Blender community for spotting this. 2007-07-06 20:30:55 +00:00
ejcoumans
cb101274a1 fixed issue with kinematic objects 2007-07-06 04:32:01 +00:00
ejcoumans
e4363b6e2b added ConstraintSolver/btConeTwistConstraint.cpp to allow for ragdolls
improved hinge constraint: adds limits
added btAtan2Fast
quaternion helper functions
All thanks to Starbreeze Studios / Marcus Hennix, Marten Svanfeldt
2007-07-05 23:17:13 +00:00
ejcoumans
5f8873c339 support diamondsubdivision (thanks Jay for contribution)
support user-defined broadphase collision filtering (thanks Marten)
make sure btSimpeDynamicsWorld doesn't use cache friendly optimization in the solver (added an assert, and updated BasicDemo)
2007-06-29 22:13:15 +00:00
ejcoumans
e33f5390dd added patch from Marten Svanfeld to pass collision filter group/mask in addRigidbody. 2007-06-29 19:37:30 +00:00
ejcoumans
e34083551c make sure 'addConstraint' has the optional argument too 2007-06-28 19:20:17 +00:00
ejcoumans
ced94d63bf Thanks to Mårten Svanfeldt for the contribution:
- optionally disable collisions between bodies that are linked with constraints
- improved debug rendering with support for compounds, spheres, capsules
2007-06-28 19:14:30 +00:00
ejcoumans
bba61c834c applied some reported bugfixes, angular limit issue, limit scaled from -2.0 -> -1.0 2007-06-23 00:54:08 +00:00
ejcoumans
cf2337ed7b - Fixed a bug in btAxisSweep3 (sweep and prune) related to object removal. Only showed up when at least one btStaticPlaneShape was inserted.
Thanks tbp for more details on reproducing case.
- Fixed issue with full 32bit integers in btAxisSweep3 (define BP_USE_FIXEDPOINT_INT_32), it used only 65536 for quantization, it should use full integer space (0xffffffff)
- Added 'getForwardVector' and getCurrentSpeedKmHour utility functions to btRaycastVehicle
- Fixed local scaling issues (btConvexTriangleMeshShape, btBvhTriangleMeshShape, removed scaling from btMatrix3x3). Thanks Volker for reporting!
- Added second filename search, so that starting BspDemo and ConvexDecompositionDemo from within Visual Studio (without setting the starting path) still works
2007-05-20 16:21:14 +00:00
ejcoumans
82c8687881 - initialize m_unusedW to avoid some warnings.
- added angularFactor to 'cachefriendly' constraint solver
2007-04-23 10:52:38 +00:00
ejcoumans
2db8bfa3d6 Fix (needs more testing) in btRigidBody::setCenterOfMassTransform, assign m_interpolationWorldTransform = xform; instead of m_worldTransform;
Thanks Jay for reporting
Added braking capability to btRaycastVehicle, see Bullet/Demos/VehicleDemo/VehicleDemo.cpp
Added glutKeyboardUpFunc, for vehicle demo (keep accelerating/breaking, until key released/UP). Hope this is compatible with most GLUT implementations.
2007-04-22 15:23:20 +00:00
ejcoumans
bc3f9535ad cleaned up, removed warning under MSVC2005 (Level 4)
Mostly related to alignment and unused variables
2007-04-13 01:37:21 +00:00
ejcoumans
853bafb7ae Get the open source Bullet library more in sync with Playstation SPU version 2007-04-10 01:02:58 +00:00
ejcoumans
9546633ade Added 'cache friendly' tree traversal format, and traversal. Array of subtrees with specified maximum size. This is useful to fit tree traversals on SPU. 2007-03-27 21:02:45 +00:00
ejcoumans
4c637bf19e added btSolverConstraint.h with proper case (for case sensitive systems) 2007-03-21 15:29:50 +00:00
ejcoumans
6590f4faa4 2007-03-21 15:28:57 +00:00
ejcoumans
c1a54d9edc Attempts to improve performance. Not much gain yet, but good to experiment what has effect and what hasn't.
Added 'DO_BENCHMARK_PYRAMID' to CcdPhysicsDemo.
2007-03-20 20:12:23 +00:00
ejcoumans
f8fe7e8f2d renamed solverbody, more work will be committed soon, please stay tuned. 2007-03-20 06:15:12 +00:00
ejcoumans
3835e5296b 2007-03-20 06:14:43 +00:00
ejcoumans
f199cd1347 make visual studio 6 compile again 2007-03-20 05:06:01 +00:00
sjbaker
6b102c65b3 Cleanup some trivial compilation warnings. 2007-03-19 04:27:59 +00:00
ejcoumans
b8ce13adb1 bugfix, also convert rigidbody into solverbodies for constraints (without contact manifolds), and do additional check for validity 2007-03-17 08:29:05 +00:00
ejcoumans
2b87104184 more solver optimizations, can be disabled using solver->setSolverMode(SOLVER_RANDMIZE_ORDER) 2007-03-17 07:59:27 +00:00
ejcoumans
151cd4b9da prepare and added constraint solver optimizations, not activated yet. 2007-03-17 00:09:12 +00:00
ejcoumans
02e5f2dd8e void btDiscreteDynamicsWorld::solveConstraints(btContactSolverInfo& solverInfo)
sortedConstraints.heapSort(btAlignedObjectArray<btTypedConstraint*>::less());

should be

sortedConstraints.heapSort(btSortConstraintOnIslandPredicate);
Thanks  	Clemens Unterkofler for pointing this out!
2007-03-08 01:59:04 +00:00
ejcoumans
adfdea5ca6 replaced #include "new.h" to #include <new> 2007-03-06 23:40:06 +00:00
ejcoumans
054d672592 - removed STL from the Bullet library: replace std::vector by btAlignedObjectArray. Also removed the std::set for overlapping pair set, and turned it into an overlapping pair array. The SAP only adds objects, never removed. Removal is postponed for during traversal of overlapping pairs (duplicates and non-overlapping pairs are removed during that traversal).
- added heap sort and binary search/linear search to btAlignedObjectArray
- fixed wrong cast, thanks Hamstray, http://www.continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1015
2007-03-06 09:59:17 +00:00
ejcoumans
b73900bc60 Improved performance of convex collision shapes, cache local AABB instead of recomputation. This fixes issue with very slow performance in larger .bsp levels.
Moved some asserts into 'btFullAssert', which is disabled by default (see btScalar.h to enable them). This is to speed-up debugging.
2007-02-26 04:59:05 +00:00
ejcoumans
4d6ec84630 always update position, even for sleeping objects (is workaround, because sleeping objects never get their motionstate update), needs fixing for optimization 2007-02-14 04:02:14 +00:00
ejcoumans
bf68a742cc by default, disable warmstarting, enable random ordering,
user can override this using solver->setSolverMode(...)
2007-02-13 16:14:55 +00:00
sjbaker
b924cb57d3 Fixed wheels so they rotate in the correct direction. 2007-01-07 05:41:50 +00:00
ejcoumans
5929b2b79d fixed jam 'install' to properly copy right headerfiles in the destination directory 2006-12-26 17:16:40 +00:00
sjbaker
e9b21e21a6 Pathnames between #include files that are intended to be used within application code should not depend on the paths to the subdirectories being known to the compiler because this will not always be the case when an end-user includes your headers.
Includes of files in the local hierarchy must not use <...> please stick with "..."
2006-12-26 15:33:28 +00:00
sjbaker
208bbe7594 Added a set of empty, classless 'extern "C"' probe functions to allow '.so' loaders and application domain 'autotools' to easily and unambiguously check for the correct installation of the various bullet libraries.
eg:

  bulletmath_suffix="-lbulletmath"
  bulletcollision_suffix="-lbulletcollision"
  bulletdynamics_suffix="-lbulletdynamics"
  dnl Check bulletmath library
  AC_CHECK_LIB(bulletmath, btBulletMathProbe, true,
  AC_MSG_ERROR([there seems to be a problem with the bulletmath library]))
  LIBS="$bulletmath_suffix $LIBS"
  dnl Check bulletcollision library
  AC_CHECK_LIB(bulletcollision, btBulletCollisionProbe, true,
  AC_MSG_ERROR([there seems to be a problem with the bulletcollision library]))
  LIBS="$bulletcollision_suffix $LIBS"
  dnl Check bulletdynamics library
  AC_CHECK_LIB(bulletdynamics, btBulletDynamicsProbe, true,
  AC_MSG_ERROR([there seems to be a problem with the bulletdynamics library]))
  LIBS="$bulletdynamics_suffix $LIBS"
2006-12-26 00:39:32 +00:00
sjbaker
db573e4a59 Clean up about a bazillion compilation warnings. 2006-12-22 02:33:42 +00:00
ejcoumans
48c6917387 don't assert on bad input, just export the warning (todo add proper user-feedback for asserts/warning!) 2006-12-20 21:23:26 +00:00
ejcoumans
df9230327c Contribution to add optional double precision floating point support. Define BT_USE_DOUBLE_PRECISION for all involved libraries/apps. 2006-12-16 05:51:30 +00:00
ejcoumans
6dff5a218e process contact and non-contact constraints inside the same iteration loop
added first draft for hingeConstraint motor
2006-12-12 03:15:11 +00:00
ejcoumans
bf591b44ec Replaced most STL std::vector with btAlignedObjectArray.
Same interface but less features (push_back, pop_back, clear, size, [] etc).
To prepare for SIMD/SSE code: Added 		#define ATTRIBUTE_ALIGNED16(a) __declspec(align(16)) a
2006-12-06 04:22:36 +00:00
ejcoumans
b6d1b4c94e Added btNearCallback. This is similar to Open Dynamics Engine (ODE) dNearCallback, but important differences:
- contact points are persistent (lifetime more then one frame, for warmstarting/incremental contact point management)
- continuous collision detection, time of impact
Added btRigidBody::isInWorld(), returns true if btRigidBody is inside a btCollisionWorld/btDynamicsWorld derived class
Added angularFactor to btRigidbody, this helps some character control (no angular impulse applied)
2006-12-04 15:42:03 +00:00
ejcoumans
6738ed329d ASSERT -> btAssert
Added btStackAlloc to Bullet (right now only used by btGjkEpa)
removed default constructors of btCollisionWorld/btDiscreteDynamicsWorld, to reduce link-time dependencies
2006-11-29 01:52:09 +00:00
ejcoumans
7dc6aa215a some more fixes to get msvc6 happy, and constraint solver: make non-randomizing solver default 2006-11-23 02:57:38 +00:00
ejcoumans
0757f1fe9e add 'force activate', for static/kinematic objects that get moved.
fixed some activation issues with kinematic objects
2006-11-21 13:00:18 +00:00
ejcoumans
f4e8bf70c5 updated rotational-only hinge 2006-11-21 01:41:21 +00:00
ejcoumans
c801569644 updated rotational-only hinge 2006-11-21 01:38:18 +00:00
ejcoumans
4a23f4f438 added get methods for constraints 2006-11-21 00:29:11 +00:00
sjbaker
04d41b7a0a Cleanup compilation warnings. 2008-02-12 04:22:31 +00:00
ejcoumans
b07bb88a2d Added new EPA penetration depth solver
improved gjk/minkowski sampling pd method
added original solver variant, use btSequentialImpulseConstraintSolver2
Added Pierre Terdimans PD testbed
2006-11-16 06:14:12 +00:00
ejcoumans
be175e888e 2006-11-14 05:09:11 +00:00