Commit Graph

558 Commits

Author SHA1 Message Date
ejcoumans
ca1c42f07f use <memory> for replacement new 2007-06-16 00:24:28 +00:00
ejcoumans
65d10d7b12 Fixes in aligned object array, to call copy constructor, and not the assignment operator, operator=
Also allows to use the array for classes with virtual methods.
2007-06-15 23:49:52 +00:00
ejcoumans
f1e929f8a4 fixed 'getEuler' method 2007-05-30 03:07:39 +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
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
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
f199cd1347 make visual studio 6 compile again 2007-03-20 05:06:01 +00:00
ejcoumans
151cd4b9da prepare and added constraint solver optimizations, not activated yet. 2007-03-17 00:09:12 +00:00
ejcoumans
1655fbc2c0 fixed some windows related defines, and made btClock optional (behind #define) 2007-03-07 00:33:11 +00:00
sjbaker
3c1ba0023b NULL is not yet defined because this header is sometimes included before stdio.h or stddef.h - rather than change a bazillion places where the header is included, I'll just use 0 instead. 2007-03-06 18:14:37 +00:00
sjbaker
a4a3474fb5 The macro 'btFullAssert' is used like this:
btFullAssert ( yadda_yadda ) ;

...in the btScalar.h header, it's defined as:

    #define btFullAssert

...which means that the statement above becomes:

    ( yadda_yadda ) ;

...which means that code may actually be compiled and executed (unnecessarily) - and even when the code is something simple like:

    ( i > 0 && i < 3 ) ;

...the GCC tosses out a 'statement with no effect' warning - before
it optimises away the code.

The fix is:

   #define btFullAssert(x)

...so that the macro still takes a parameter which is now removed
from the sources so you get:

    ;

...which is guaranteed not to generate code.
2007-03-06 18:06:28 +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
34c979bd02 double precision mode uses double precision epsilons/maximum (DBL_EPSILON instead of FLT_EPSILON) 2007-02-14 04:12:32 +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
0710ca2e36 better safe then sorry: set m_data to zeto after deallocation. 2006-12-19 23:54:02 +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
2db98be0f7 added sourcefile to cmake 2006-12-06 04:56:26 +00:00
ejcoumans
5a5ba572a7 multi-platform issues with allocator 2006-12-06 04:51:13 +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
2f557b2a4d Added btStackAlloc to Bullet (right now only used by btGjkEpa) 2006-11-29 02:27:27 +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
sjbaker
04d41b7a0a Cleanup compilation warnings. 2008-02-12 04:22:31 +00:00
ejcoumans
d7ad204943 updated CMakefile with new files 2006-11-11 06:48:30 +00:00
ejcoumans
c6be761166 some brute-force method for creating vertices from a convex defined by plane equations, and creating plane equations from a point cloud 2006-11-11 03:27:10 +00:00
ejcoumans
56e135874b added angular limits to the Generic D6 constraint. Works for small angles. Will add a check for different combinations, and use different extraction of ordering of rotation from the diff quaternion.
Improved vehicle interpolation of wheels, and added Z-up axis option for the Demo
made 'getWorldTransform' const method in btMotionState
added future 'deactivationCallback'(not used yet)
2006-11-10 04:00:16 +00:00
ejcoumans
a42718f753 quickprof (optional performance tuning) changed into Zlib license,entire Bullet/src folder is Zlib again. (thanks Tyler Streeter) 2006-11-09 18:44:28 +00:00
ejcoumans
4ab4fc8bb1 Integrated fixes for Solaris from Noerghel, http://continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=673 2006-11-09 15:27:02 +00:00
ejcoumans
5102b7ac60 added very basic debug drawing for vehicle wheels, and updated raycast in world to do ray-aabb instead of aabb-aabb 2006-11-09 04:43:18 +00:00
ejcoumans
6d47d9492e added non-uniform scaling to btMultiSphereShape
added ray-aabb check
modified Raycast demo to be more useful for debugging collision shapes
2006-11-09 01:58:33 +00:00
ejcoumans
23c64fb0db more solver experiments, randomize the order of contact points, not just manifolds
use #defines for constants, rather then const btScalar
2006-11-04 05:22:36 +00:00
ejcoumans
b14ccdaa57 rename treshold into thresold (spelling mistake)
added cr/linefeed at end of btDefaultMotionState.h
2006-10-30 05:06:46 +00:00
ejcoumans
d6c6cbaee6 enabled the vehicle demo again (still needs lots of tuning before it drives well)
fixed some warnings
2006-10-29 03:36:16 +00:00
ejcoumans
33b3ec94f1 more fixes, related to introduction of btMotionState, and using realtime timestep 2006-10-18 04:01:07 +00:00
ejcoumans
3a6942fb91 processed a lot of feedback: added 'realtime' simulation with fixed substeps (and clamping maximum number of substeps), this means that when stepSimulation is called with smaller timesteps then 'fixed substep' the motionstate is interpolated.
renamed m_ccdSweptSphereRadius,
enabled wireframe debugDrawObject (using debugDrawer)
2006-10-18 03:28:42 +00:00
ejcoumans
15840d7bb0 2006-10-15 20:18:38 +00:00
ejcoumans
2c66be25fc added cleanup memory for BasicDemo, and another pragma warning ignore 2006-10-13 23:24:09 +00:00
ejcoumans
919e8def68 removed scaling from btTransform (we only want to deal with rigid transforms)
added BasicDemo to projectfiles (serves as a very small test for porting Bullet to other languages)
2006-10-10 00:43:13 +00:00
ejcoumans
4ba9619b5d 2006-10-06 05:49:40 +00:00
ejcoumans
bf847b839a another large series of changes, related to the refactoring.
CompoundShapes are tricky to manage with respect to persistent contact points and swapped order of btCollisionObjects,
During dispatch, finding an algorith etc. order can be swapped.
fixed several other issues, related to SimpleBroadphase (removing a proxy was not working)
2006-10-06 05:22:13 +00:00
ejcoumans
323a1046fd Cleaned up/simplified construction of a btRigidBody
Fixed memoryleak in btOptimizedBvh (delete []m_contiguousNodes;)
Changed DemoApplication::localCreateRigidBody, so it adds the rigidbody to the btDynamicsWorld.
Added check for duplicate objects in world when adding.
Added assert to prevent setLinearVelocity on static rigidbodies
Added btCollisionFilterGroups to btBroadphaseProxy
removed duplicate 'btBroadphaseProxy*	m_broadphaseProxy;' in btRigidBody
2006-10-04 23:46:27 +00:00
ejcoumans
708aa9fbcc added getW for btQuaternion 2006-10-03 02:00:11 +00:00
sjbaker
2aaab1ab1a Assorted cleanup of compilation warnings. Also fixed some actual errors:
#include "renderTexture.h"...when the file is actually called 'RenderTexture.h'.
2006-10-01 00:08:09 +00:00