erwin.coumans@gmail.com
2fb686b937
change btMultiBody to allow removal/changing of links
...
(still not easy to modify the link structure of a btMultiBody -> You have to manually re-link parents, copying links around etc)
2013-10-03 05:13:41 +00:00
erwin.coumans@gmail.com
542c53fb30
Don't pass along unused btStackAlloc everywhere. The API change might user code (derived classes with the old virtual method are not called anymore)
2013-05-08 22:45:35 +00:00
erwin.coumans
c2f9d927c2
fix ray test kF_FilterBackfaces and kF_KeepUnflippedNormal flags
...
add Demos/RaytestDemo to show/test rayTest
fix premake batch files
2012-09-12 23:19:05 +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
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
d2522aefbb
added the btCollisionWorld::AllHitsRayResultCallback to collect all ray hits (when using btCollisionWorld::rayTest)
2010-08-23 23:00:34 +00:00
erwin.coumans
729a883b71
attempt to let Maya plugin build under Linux using cmake
...
Thanks redpawfx for the feedback, see http://code.google.com/p/bullet/issues/detail?id=221
improvements in cmake (disable this incremental linking)
2010-02-16 04:30:53 +00:00
erwin.coumans
7a175fb65e
Add pairwise collision test:
...
void btCollisionWorld::contactPairTest(btCollisionObject* colObjA, btCollisionObject* colObjB, ContactResultCallback& resultCallback)
cmake: improve feedback for Maya Plugin handling if the Maya base path is not detected
2010-02-11 09:18:49 +00:00
erwin.coumans
5907f81774
Add void btCollisionWorld::contactTest(btCollisionObject* colObj, ContactResultCallback& resultCallback);
...
The user should derive its own class from ContactResultCallback and implement the following callback (similar to the gContactAddedCallback):
virtual btScalar addSingleResult(btManifoldPoint& cp, const btCollisionObject* colObj0,int partId0,int index0,const btCollisionObject* colObj1,int partId1,int index1) = 0;
2010-02-11 08:45:41 +00:00
erwin.coumans
0f707603f1
more work on serialization, work-in-progress
2010-01-23 00:04:58 +00:00
erwin.coumans
6af9f9434f
worked a bit more on the serialization, and added a preliminary SerializeDemo.
2010-01-21 00:17:18 +00:00
erwin.coumans
50a3c32a5f
Added preliminary binary serialization code in btCollisionWorld.cpp, with example in Bullet/Demos/BasicDemo.cpp
...
(work-in-progress, some initial working version should be ready very soon, for Bullet 2.76)
2010-01-20 01:00:39 +00:00
erwin.coumans
96d73d642d
fixes in debug drawer: always use rgba color with each component in range [0..1]
...
use sphere/box rendering of debug drawer
Thanks accodejockey for the report: See http://code.google.com/p/bullet/issues/detail?id=280
Also see http://code.google.com/p/bullet/issues/detail?id=279
2010-01-19 19:38:18 +00:00
erwin.coumans
c26f5e4b6e
apply patch to allow soft body rayTest. Minor change in patch: test for current hitfraction, so only report hits closer than current closest hit fraction.
...
Thanks to Benoit Bolsee for the patch, see Issue 311
http://code.google.com/p/bullet/issues/detail?id=311
2010-01-06 00:41:03 +00:00
erwin.coumans
fcd2b93a22
fix in box-box contact generation: choose better contact point location (along contact normal) when objects are swapped.
...
move debugDrawWorld to btCollisionWorld.
improved CollisionInterfaceDemo, show how to perform a closest point query for objects that are not in the collision world.
removed a bit of garbage from the debug drawer
2009-12-18 00:54:52 +00:00
erwin.coumans
49a0b479c6
Switch off an optimization by default, to avoid support burden: update all objects AABBs and not just the active objects.
...
Call world->setForceUpdateAllAabbs( false) to re-enable the optimization: it will only update active objects (skipping static geometry)
See also http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=4073
2009-09-11 19:18:37 +00:00
erwin.coumans
dc4180f1ce
+ fix bug in SoftDemo: use removeRigidBody for rigid bodies, instead of removeCollisionObject
...
+ use default convex drawing instead of special cylinder drawing (caps are wrongly drawn)
+ allow camera translation using middle-mouse button in SoftDemo
+ add/removeCollisionObject virtual
Thanks Ola for this suggestion
2009-07-06 04:15:02 +00:00
erwin.coumans
210fe36106
Add backface culling and option to keep unflipped hit normal in case a ray hits a back-facing triangle.
...
Usage: set RayResultCallback.m_flags to kF_FilterBackfaces, optionally combined with kF_KeepUnflippedNormal.
Thanks Andy O'Neil for the patch!
Remove the force_inline for some internal constraint solver methods, it makes re-use easier.
Workaround/avoid MSVC 2005 compiler error in LibXML/trionan.c
2009-02-28 01:25:23 +00:00
erwin.coumans
3548c01985
add btCollisionWorld::updateSingleAabb see http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3262
...
Fix memory leak, see http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=3266
Change contact breaking threshold
Add 'needsResponse' test for CcdMotionClamping, see http://code.google.com/p/bullet/issues/detail?id=179
Updated user manual (needs lots more work)
Added autoexp.dat, enabled Microsoft Visual Studio debug visualization for btAlignedObjectArray and btVector3.
2009-02-27 02:33:48 +00:00
erwin.coumans
decf91a34d
Made btCollisionWorld::convexSweepTest and btGhostObject::convexSweepTest consistent. Both have an optional last argument for allowedCcdPenetration.
...
Bugfix due to recent change in friction in constraint solver.
2008-11-19 19:55:14 +00:00
erwin.coumans
1381394dd8
reverted 'getActiveObjects', island management will be improved for Bullet 2.74 release.
...
The implementation was error-prone and could lead to crashes.
See http://code.google.com/p/bullet/issues/detail?id=128
2008-11-11 16:19:20 +00:00
erwin.coumans
86353f0ad8
add btActivationCollisionAlgoritm to fix deactivation problems, reported here:
...
http://bulletphysics.com/Bullet/phpBB3/viewtopic.php?f=9&t=2616
provide access to active objects, requested here:
http://code.google.com/p/bullet/issues/detail?id=128
2008-11-07 03:37:14 +00:00
erwin.coumans
bcd0f48c28
some doxygen updates, added some comments to classes, fix broken links, rename some prefix some internal GIMPACT collision structures using (for example use GIM_AABB instead of BT_AAABB),
...
removed obsolete btGjkEpa (it was replaced by btGjkEpa2 ages ago)
2008-11-04 04:01:31 +00:00
erwin.coumans
4cbb3f2e7b
Added btGhostObject and btPairCachingGhostObject functionality.
...
It is a fast way to keep track of overlapping objects in an area, and doing rayTest and convexSweepTest for overlapping objects, instead of btCollisionWorld::rayTest/convexSweepTest.
Updated KinematicCharacterController to use btPairCachingGhostObject.
2008-10-18 01:33:23 +00:00
erwin.coumans
9ad17dda22
Add aabbMin/aabbMax to broadphase proxy, and improve rayTest performance.
...
Todo: use broadphase acceleration structure (btDbvtBroadphase etc) for ray test
2008-10-10 17:32:52 +00:00
erwin.coumans
30a13d5b5d
updated INSTALL file and btCollisionWorld doxygen, adding ./autogen.sh and make support.
2008-10-04 14:52:01 +00:00
erwin.coumans
8340a77aa8
ConvexResultCallback::hasHit() and RayResultCallback::hasHit() are both const now.
...
Developers need to fix their derived classes too!
Thanks to bcsanches, http://code.google.com/p/bullet/issues/detail?id=81&can=1
2008-08-29 05:16:05 +00:00
erwin.coumans
b66e5350d0
rename HasHit method to hasHit
...
rename AddSingleResult to addSingleResult
moved collision filtering for btCollisionWorld::rayTest and btCollisionWorld::convexSweepTest from argument to the callback needsCollision
2008-07-09 23:30:21 +00:00
erwin.coumans
dcd57f333b
+ improved KinematicCharacterController
...
+ improved btSubsimplexConvexCast, btContinuousConvexCollision and btGjkConvexCast to support configuration that start in touching/penetration, required for 'sliding'.
+ added files to CMakeLists.txt for CharacterController
+ bump up version to 2.70 (preparation for beta)
2008-07-09 00:08:49 +00:00
erwin.coumans
e854a5133b
add support for non-power-of-2 dma sizes (for small dma transfers)
...
add setBroadphase
2008-06-24 02:15:06 +00:00
johnmccutchan
15cdd9de8e
Rename btCollisionWorld::convexTest to btCollisionWorld::convexSweepTest. The new test sweeps the convex shape against all objects in the world taking into account the orientation specified in the from and to transformations.
2008-01-11 20:18:29 +00:00
ejcoumans
a537fb68b6
fixes in btCollisionWorld and Raytracer, to allow 'all hits' (work in progress)
2007-12-11 03:00:53 +00:00
ejcoumans
a45912e39c
move updateAabbs from dynamics world to collision world
2007-12-10 02:59:04 +00:00
johnmccutchan
513a055035
Use proper rotation for computing local aabb for convex cast shape.
...
Propagate hit point from convex caster to world callback [work in progress].
2007-12-07 21:22:38 +00:00
ejcoumans
6f80b98a67
- fix issue with convex cast: results further away (larger hitfraction) could overwrite closer results
...
- minor naming convention thing (variables start with lower case)
- renamed MotorDemo
- added ConcaveConvexcastDemo, Thanks John McCutchan (JMC)
2007-12-06 02:54:29 +00:00
ejcoumans
1245995c84
Added convex cast query to collision world.
...
Thanks to John McCutchan (JMC)
2007-12-06 00:51:24 +00:00
ejcoumans
ec76f2e0a3
- keep track of all memory allocations (gNumAllignedAllocs/gNumAllignedFree)
...
All memory allocations in Bullet go through btAlignedAlloc/btAlignedFree
Fix in hinge constraint constructors, thanks Marcus Hennix!
2007-10-22 22:23:10 +00:00
ejcoumans
e7caaa28d3
re-organized memory (stack and pool) allocators. this lets the user pass in their own memory allocators.
2007-10-20 02:23:39 +00:00
ejcoumans
1d43b5ebae
changed default stack size to 2 MB. This is still overly conservative probably. Need some deeper investigation on default memory sizes...
2007-09-30 04:43:34 +00:00
ejcoumans
87df3d0f32
Based on feedback from another professional game company, there are several improvements, including some API change...
...
Some dynamic memory allocations have been replace by pool allocation or stack allocations.
quantized aabb versus quantized aabb overlap check is made branch-free (helps a lot on consoles PS3/XBox 360)
Collision algorithms are now created through a new btDefaultCollisionConfiguration, to decouple dependency (this is the API change):
Example:
btDefaultCollisionConfiguration* collisionConfiguration = new btDefaultCollisionConfiguration();
m_dispatcher = new btCollisionDispatcher(collisionConfiguration);
2007-09-08 05:40:01 +00:00
ejcoumans
1f7646f72a
Refactoring to enable multi SAP broadphase.
...
This was already planned, and Pierre Terdiman recent thread motivated me to decouple the paircache from the sweep and prune.
http://continuousphysics.com/Bullet/phpBB2/viewtopic.php?t=1329
2007-08-02 23:48:46 +00:00
ejcoumans
a1fabc4b91
ray hitnormal is already in worldspace for convex objects, but not for trianglemeshes (ray is transformed in local space)
2007-07-27 23:52:33 +00:00
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
cdc8485db9
updated version, added 'singleObjectQuery' preliminary collision query (convex cast etc)
...
added filtering for raycast, thanks Jacky_J
const propagated through a few files
added btHeightfieldTerrainShape.cpp to cmake buildsystem
2007-07-03 05:10: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
c791a3192c
In the copy constructor initializer list of LocalRayResult in
...
btCollisionWorld.h line 139 (version 2.48) it reads:
m_localShapeInfo(m_localShapeInfo),
which should be:
m_localShapeInfo(localShapeInfo),
Thanks frinkiac8
2007-03-21 19:04:44 +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
9b94416d61
allow single raycast to be performed on objects
2007-02-14 04:09:17 +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
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