Commit Graph

436 Commits

Author SHA1 Message Date
Daniel Chappuis
b6ad69b278 Do not compute contacts if not necessary 2017-07-30 23:56:20 +02:00
Daniel Chappuis
8b82c4ac81 Refactor the way to create the contact manifolds and contact points 2017-07-30 22:14:46 +02:00
Daniel Chappuis
6eec956eb0 Fix issues in SAT algorithm between two convex polyhedra 2017-07-21 08:09:43 +02:00
Daniel Chappuis
ddd7f500a6 Fix issues in SAT algorithm 2017-07-17 18:35:51 +02:00
Daniel Chappuis
6e9a84823a Fix issues in collision detection 2017-07-17 08:05:40 +02:00
Daniel Chappuis
2f43e554b5 Make TriangleShape inherits from ConvexPolyhedronShape 2017-06-06 21:12:26 +02:00
Daniel Chappuis
95db87fd62 Working on contacts reduction 2017-06-05 00:05:49 +02:00
Daniel Chappuis
b1597c508f Working on temporal coherence in SAT algorithm 2017-05-31 07:36:39 +02:00
Daniel Chappuis
6b0ba1cfbb Fix issues in collision detection 2017-05-29 22:30:30 +02:00
Daniel Chappuis
730b687877 Working on temporal coherence in SAT (polyhedron vs polyhedron) 2017-05-29 08:32:10 +02:00
Daniel Chappuis
2af87d4804 Add bias to prefer some axis when penetration depths are the same in SAT algorithm 2017-05-16 07:42:04 +02:00
Daniel Chappuis
0ec21e36b9 Working on SAT algorithm between two polyhedra 2017-05-16 07:10:44 +02:00
Daniel Chappuis
7fb6f49149 Working on capsule vs polyhedron narrow-phase algorithm 2017-04-28 21:40:16 +02:00
Daniel Chappuis
f61fea8b8a Add clippling segment/polygons methods, fix issues and add convex vs capsule algorithm 2017-04-16 22:09:59 +02:00
Daniel Chappuis
57da79492f Add sphere vs convex polyhedron test in SAT algorithm 2017-04-02 00:33:29 +02:00
Daniel Chappuis
951ba3e42c Working on ConvexPolyhedron class 2017-03-30 22:39:06 +02:00
Daniel Chappuis
a9b3afae59 Finish implementing capsule vs capsule narrow-phase algorithm 2017-03-28 23:07:10 +02:00
Daniel Chappuis
050e8b36dc Refactor convex mesh shape (create PolyhedronMesh, ConvexPolyhedron classes) 2017-03-22 19:07:31 +01:00
Daniel Chappuis
b21a6bb59b Refactor contact manifold and contact point creation 2017-02-26 13:48:50 +02:00
Daniel Chappuis
6a01abfae8 Fix issues, work on HalfEdgeStructure and add unit tests 2017-02-20 17:11:13 +02:00
Daniel Chappuis
7a656aedc9 Working on HalfEdgeStructure 2017-02-13 22:38:47 +01:00
Daniel Chappuis
30e0132e15 Add capsule/capsule and capsule/sphere collision algorithm 2017-02-02 23:10:01 +01:00
Daniel Chappuis
e9f2f94f64 Continue working on SAT, remove Cone and Cylinder shapes 2017-02-02 22:58:40 +01:00
Daniel Chappuis
e491e38146 Fix issue in collision detection 2017-01-27 20:26:56 +01:00
Daniel Chappuis
99eb7cf82c Fix issue in collision detection 2017-01-19 21:27:58 +01:00
Daniel Chappuis
a50ae73663 Fix issue in GJK algorithm 2017-01-19 20:29:40 +01:00
Daniel Chappuis
f2a6dde913 Fix return value in EPA Algorithm 2017-01-18 23:05:43 +01:00
Daniel Chappuis
4a97c2ca97 Refactor collision detection 2017-01-08 19:56:59 +01:00
Daniel Chappuis
f82777bd3b Refactor some methods in ContactPoint 2016-11-05 19:20:54 +01:00
Daniel Chappuis
16d27f40b9 Remove bodies pointer from ContactPoint 2016-11-03 18:06:45 +01:00
Daniel Chappuis
14bfb0aca4 Some optimizations in contact solver 2016-10-17 22:41:33 +02:00
Daniel Chappuis
e014f00afc Refactor memory allocator and refactor contact solver 2016-09-21 22:03:45 +02:00
Daniel Chappuis
5b17652adb Merge branch 'develop' into optimization 2016-08-21 20:49:22 +02:00
Daniel Chappuis
0a7eeaeb48 Fix compilation error on gcc 2016-08-21 19:32:14 +02:00
Daniel Chappuis
8a69dc89fa Add missing override keyword 2016-08-21 12:34:27 +02:00
Daniel Chappuis
8d2b898168 Fix merge conflicts 2016-08-21 11:47:22 +02:00
Daniel Chappuis
2932403ff4 Use default keyword for default constructors/destructors 2016-07-19 06:52:18 +02:00
Daniel Chappuis
cfede8f179 Use constexpr for compile time constants 2016-07-11 08:59:39 +02:00
Daniel Chappuis
16478722de Use override keyword to mark virtual overriden methods 2016-07-11 08:33:24 +02:00
Daniel Chappuis
f5ade0f52d Fix virtual constructors, use c++11 scoped enums, use c++11 delete methods instead of private constructors 2016-07-08 07:25:37 +02:00
Daniel Chappuis
be957ba41a Replace typedefs by c++11 alias declaration 2016-07-06 07:05:34 +02:00
Daniel Chappuis
da9f6ae233 Remove Simplex class (replaced by VoronoiSimplex) 2016-07-05 22:02:16 +02:00
Daniel Chappuis
4bad013c91 Make GJK/EPA collision detection more robust 2016-07-05 21:34:44 +02:00
Daniel Chappuis
ccd33c2502 Fix issue in VoronoiSimplex 2016-06-27 18:50:12 +02:00
Daniel Chappuis
fd224ebaba Add VoronoiSimplex class for GJK algorithm 2016-06-20 08:41:22 +02:00
Daniel Chappuis
9fae1b4e35 Add missing virtual destructor 2016-06-20 08:40:26 +02:00
Daniel Chappuis
6a8b63adc2 ProxyShape must have a virtual destructor 2016-05-15 19:29:50 +02:00
Daniel Chappuis
2640fbd48a Start replacing NULL constant by nullptr 2016-05-15 19:25:58 +02:00
Daniel Chappuis
1ae9bb5467 Fix warning 2016-04-12 21:32:35 +02:00
Daniel Chappuis
34b330eb4f Fix warnings 2016-04-12 21:28:09 +02:00
Daniel Chappuis
4ae8d446be Fix compilation errors on Visual Studio and warnings 2016-04-12 18:44:55 +02:00
Daniel Chappuis
d9087d6e84 Small modification 2016-04-11 21:38:47 +02:00
Daniel Chappuis
8a75c867a5 Change version number of the library 2016-04-11 20:15:20 +02:00
Daniel Chappuis
41dfaf0fa5 Fix warnings 2016-04-09 11:26:43 +02:00
Daniel Chappuis
5b7a096e27 Remove .mtl file and add doxygen documentation in TriangleVertexArray 2016-04-07 08:48:25 +02:00
Daniel Chappuis
315c701f34 Move method in cpp file 2016-03-30 07:09:35 +02:00
Daniel Chappuis
fc1f844135 Merge branch nanogui into develop 2016-03-21 20:57:42 +01:00
Daniel Chappuis
3e98ab2282 Add support for rolling resistance in the contact solver 2016-03-20 23:01:38 +01:00
Daniel Chappuis
d0481e0901 Fix compilation errors/warnings on Linux 2016-02-22 23:26:50 +01:00
Daniel Chappuis
32bee688be Working on demo scenes in testbed application 2016-02-14 19:36:56 +01:00
Daniel Chappuis
eeb1052833 Fix issue in HeightField and user Perlin noise to generate terrain 2016-02-11 23:09:01 +01:00
Daniel Chappuis
4931e1450a Fix issues in HeightFieldShape 2016-02-08 22:24:57 +01:00
Daniel Chappuis
be4cbbffd9 Fix issue in HeightFieldShape 2016-02-01 18:49:45 +01:00
Daniel Chappuis
ece6db9636 Working on HeightFieldShape 2016-01-28 23:04:01 +01:00
Daniel Chappuis
03a31e44f3 Working on HeightFieldShape 2016-01-21 22:27:52 +01:00
Daniel Chappuis
b9112be1dc Modification in ConvexShape and continue working on HeightFieldShape 2016-01-19 22:37:03 +01:00
Daniel Chappuis
ec3a9cef87 Modificaitons in ConcaveMeshShape 2016-01-14 21:43:19 +01:00
Daniel Chappuis
b7769e5211 Add HeightFieldShape class 2016-01-14 21:34:30 +01:00
Daniel Chappuis
739e0fec73 Modifications in methods to get support point in many collision shapes 2016-01-14 21:24:21 +01:00
Daniel Chappuis
a5f39de375 Fix issues related to local scaling in ConvexMeshShape 2016-01-12 22:48:14 +01:00
Daniel Chappuis
a12703b86d Make possible to create a ConvexMeshShape using a TriangleVertexArray 2016-01-07 23:04:39 +01:00
Daniel Chappuis
8be408ccec Modifications for smooth concave mesh contacts 2016-01-05 18:39:22 +01:00
Daniel Chappuis
4362033018 Add object margin to TriangleShape 2015-12-16 18:39:13 +01:00
Daniel Chappuis
0b6d9af18e Add testRayIntersect() method to AABB and use in raycasting broadphase 2015-12-07 23:03:04 +01:00
Daniel Chappuis
df88e59017 Transform ray from world-space to local-space earlier during raycasting 2015-12-07 17:32:18 +01:00
Daniel Chappuis
9c7f70b9b7 Add double sided raycast test for TriangleShape, add unit tests 2015-12-05 17:51:07 +01:00
Daniel Chappuis
6ebad66acf Working on triangles mesh raycasting 2015-12-02 22:25:52 +01:00
Daniel Chappuis
3ebb00fd68 Modifications in testbed for setScaling() method on objects 2015-11-24 07:03:02 +01:00
Daniel Chappuis
22b214fb91 Add setScaling() method to objects in testbed/common 2015-11-20 07:20:56 +01:00
Daniel Chappuis
3476f3e9c4 Add setLocalScaling() method to CollisionShape and ProxyShape and fix issue in collision detection test method 2015-11-19 07:20:43 +01:00
Daniel Chappuis
4eceb7e7c6 Small modifications 2015-11-16 19:08:36 +01:00
Daniel Chappuis
5c8320583d Change the testCollision() methods to return void instead of bool 2015-11-16 07:25:46 +01:00
Daniel Chappuis
32d9c0e1b8 Fix issue in convex vs concave mesh collision 2015-11-16 07:05:07 +01:00
Daniel Chappuis
568f03461f Continue working on triangle mesh collision detection 2015-11-13 21:23:34 +01:00
Daniel Chappuis
d9fe3ed97f Make DynamicAABBTree more generic and use less memory per node 2015-11-06 17:29:42 +01:00
Daniel Chappuis
63094dfd92 Fix issue in ConcaveMeshShape (AABB calculation) 2015-10-27 18:34:29 +01:00
Daniel Chappuis
1c735e483c Working on triangular mesh collision detection 2015-10-26 18:15:25 +01:00
Daniel Chappuis
a070dca761 Small changes in ContactManifold 2015-10-19 17:59:41 +02:00
Daniel Chappuis
c3c9a5c38c Remove contact manifolds that do not have contact points anymore after manifold update 2015-10-19 06:55:35 +02:00
Daniel Chappuis
b5314040b5 Do not use contact normal choice when there is a single manifold 2015-10-16 06:54:25 +02:00
Daniel Chappuis
55789d5cdf Fix memory leak 2015-10-15 08:26:33 +02:00
Daniel Chappuis
85c6a2eaf5 Return manifold set by reference and not by pointer 2015-10-15 07:48:28 +02:00
Daniel Chappuis
20c9794a20 Remove ProxyShapes pointers from OverlappingPair 2015-10-13 19:10:13 +02:00
Daniel Chappuis
3acdeb8cd2 Remove dynamic memory allocation of ContactPointInfo instances during narrow-phase 2015-10-12 18:37:18 +02:00
Daniel Chappuis
c7846d4a29 Report narrow-phase contacts to the collision detection in a more generic way 2015-10-12 18:02:18 +02:00
Daniel Chappuis
ec5e41c19e Add ContactManifoldSet to allow several ContactManifolds per overlapping pair 2015-10-08 21:28:37 +02:00
Daniel Chappuis
fc91540a79 Add ContactManifoldSet class 2015-10-02 07:04:05 +02:00
Daniel Chappuis
aab1413f4d Continue working of triangular meshes 2015-09-13 13:02:05 +02:00
Daniel Chappuis
a37f00c41c Use a CollisionShapeInfo instead of a ProxyShape in the collision detection algorithms 2015-09-10 07:30:50 +02:00
Daniel Chappuis
cd808fcf62 Modify the way the collision shapes are created (we don't make an internal copy anymore) 2015-09-04 19:56:27 +02:00
Daniel Chappuis
ae122f07d6 Add ConcaveShape et ConvexShape classes 2015-08-31 17:33:34 +02:00
Daniel Chappuis
0ddec3f842 Start working on triangular meshes collision detection 2015-08-27 22:31:05 +02:00
Daniel Chappuis
c76e5247aa Allow the user to use custom collision detection algorithm 2015-08-19 18:48:08 +02:00
Daniel Chappuis
7ce44f9775 Fix warnings 2015-08-17 06:44:26 +02:00
Daniel Chappuis
3aaac820e0 Fix compilation error on Visual Studio 2013 2015-04-08 22:10:34 +02:00
Daniel Chappuis
6679bb27bc Changes for the next release 2015-02-15 21:56:45 +01:00
Daniel Chappuis
3a8e69654f Add Doxygen documentation 2015-02-12 22:31:26 +01:00
Daniel Chappuis
c56557898f Small modifications 2015-02-09 22:37:36 +01:00
Daniel Chappuis
0b3abacb3c Fix possible memory leaks 2015-02-07 14:15:05 +01:00
Daniel Chappuis
bb0da781a7 Fix compilation warnings 2015-02-01 01:09:58 +01:00
Daniel Chappuis
c057e88983 Small changes in collision detection 2015-01-27 22:40:31 +01:00
Daniel Chappuis
9f4e63361f Small optimization in EPA algorithm 2015-01-19 21:55:18 +01:00
Daniel Chappuis
54d8b8518e Fix two issues in EPA Algorithm 2015-01-18 21:25:15 +01:00
Daniel Chappuis
c8a83768d5 Only compute narrow collisition test if at least one body is awake and not static 2014-12-31 01:47:50 +01:00
Daniel Chappuis
c15b83db4a Add collision and raycast filtering using bits mask 2014-12-31 01:19:14 +01:00
Daniel Chappuis
aae4da54d0 Add methods to test collision and AABB overlap in physics world 2014-12-28 00:54:34 +01:00
Daniel Chappuis
2ab1aace7c Raycast query now returns false if the body is not active 2014-11-29 17:05:53 +01:00
Daniel Chappuis
4ae7e7997a Fix issues in surface normal computation in raycast method of ConeShape and BoxShape 2014-11-27 21:05:32 +01:00
Daniel Chappuis
5d2cf593b5 Remove the PairManager class 2014-11-21 21:38:17 +01:00
Daniel Chappuis
5f7af61593 -Remove unnecessary contact manifold
-Delete the BroadPhasePair class
2014-11-21 21:27:09 +01:00
Daniel Chappuis
2570d794c3 Fix issues in CollisionBody 2014-11-20 21:59:53 +01:00
Daniel Chappuis
ca660b5057 Replace some matrix multiplications by quaternion multiplications 2014-11-05 20:52:21 +01:00
Daniel Chappuis
3da146eb84 Implement world ray casting query 2014-11-04 22:38:40 +01:00
Daniel Chappuis
e9257ec56f Change raycasting so that a ray is given by two points instead of a point and a direction 2014-10-21 22:26:40 +02:00
Daniel Chappuis
08e286d27c Implement raycasting for cone shape 2014-10-08 21:38:40 +02:00
Daniel Chappuis
25c11c6d6a Implement raycasting for capsule shape 2014-09-20 17:00:32 +02:00
Daniel Chappuis
78193d9b03 Small improvements in sphere and cylinder raycasting 2014-09-20 16:59:47 +02:00
Daniel Chappuis
188251afd4 Fix issue with raycasting in cylinder shape 2014-09-20 10:52:42 +02:00
Daniel Chappuis
c07a2dc9a2 Implement raycasting with cylinder shape 2014-09-19 22:53:40 +02:00
Daniel Chappuis
ebf13c3366 Use the standard library swap() function instead 2014-09-19 22:53:05 +02:00
Daniel Chappuis
a89b258418 Implement raycasting for the BoxShape 2014-09-08 23:19:07 +02:00
Daniel Chappuis
0dd55e716b Implement raycasting with sphere shape 2014-09-04 22:32:29 +02:00
Daniel Chappuis
677c694109 Continue the implementation of convex shape raycasting 2014-09-02 22:54:19 +02:00
Daniel Chappuis
3c1b819fda Implement the testPointInside() methods in the collision shapes 2014-08-09 10:28:37 +02:00
Daniel Chappuis
6c505377c5 Clean up the include statements 2014-08-07 21:38:31 +02:00
Daniel Chappuis
47b2eb457a Allow the user to attach user data to a ProxyShape object 2014-08-04 22:57:24 +02:00
Daniel Chappuis
ab8656fc0b Remove all the special proxy shapes to keep only the ProxyShape class 2014-08-04 22:46:58 +02:00
Daniel Chappuis
bd5668ed51 Work on the testPointInside() method 2014-08-01 12:36:32 +02:00
Daniel Chappuis
0faacdbd6b Merge branch 'raycast' of https://github.com/DanielChappuis/reactphysicsd into raycast 2014-07-22 22:46:24 +02:00
Daniel Chappuis
5dd9ee826e Add classes and tests for raycasting 2014-07-21 23:08:18 +02:00
Daniel Chappuis
1415bad00e Small modifications 2014-07-09 23:45:19 +02:00
Daniel Chappuis
050b610d8c Remove check() and checkNode() methods from DynamicAABBTree in release mode 2014-07-07 19:01:26 +02:00
Daniel Chappuis
a983026094 Inflate the AABB in direction of linear motion in Dynamic AABB tree 2014-07-03 00:13:30 +02:00
Daniel Chappuis
3aa05ef61a Fix issues and add conversion from Euler angles to Quaternion 2014-06-24 23:31:13 +02:00
Daniel Chappuis
bc4de62e75 Fix issue in the collision detection for compound shapes 2014-06-10 23:37:11 +02:00
Daniel Chappuis
cbeeec21f3 fix issues in Dynamic AABB Tree and add compound shapes in the examples 2014-06-10 22:46:32 +02:00
Daniel Chappuis
aa76c85e60 continue to replace SAP broad-phase by a dynamic AABB tree 2014-05-15 06:39:39 +02:00
Daniel Chappuis
643ca41922 continue to work on replacing SAP broad-phase by dynamic AABB tree 2014-04-11 23:50:00 +02:00
Daniel Chappuis
76cb11a74f Add the DynamicAABBTree class 2014-03-16 20:59:10 +01:00
Daniel Chappuis
d622e2ff17 Fix issue in the broad-phase pair manager 2013-11-21 23:26:19 +01:00
Daniel Chappuis
1812402617 Add support for the different body types (static, kinematic, dynamic) 2013-11-21 23:24:11 +01:00
Daniel Chappuis
b5ae655b0a Add comments, modify method names, change solver nb of iterations, ... 2013-09-27 18:43:45 +02:00
Daniel Chappuis
97b0903a9d Modify comments 2013-09-25 00:11:23 +02:00
Daniel Chappuis
7ca5b88ce3 Fix compilation errors on Mac OS X and remove the compilation of freeglut from the CMake files 2013-09-12 22:45:43 +02:00
Daniel Chappuis
d4c7eee175 Rename the Constraint class into Joint and do not perform collision detection between two sleeping bodies 2013-09-07 10:57:58 +02:00
Daniel Chappuis
d2f7f6e28c Release memory in the Sweep-And-Prune algorithm when several objects are removed from the world 2013-07-17 00:09:15 +02:00
Daniel Chappuis
828af79bcf Fix issues in the Sweep-And-Prune algorithm (thanks Aleksi for reporting them) and handle the broad-phase world limits in a better way 2013-07-16 22:28:03 +02:00
Daniel Chappuis
ffd79a89e3 Add the convex mesh collision shape 2013-07-15 19:10:30 +02:00
Daniel Chappuis
c3f4355c25 Modify the method that return the bounds of a collision shape and make the getSupportPoint() methods non-const 2013-07-15 19:09:07 +02:00
Daniel Chappuis
88504bbb44 Add some description comments in the collision shapes 2013-07-10 00:22:40 +02:00
Daniel Chappuis
9d9142af30 Add the CapsuleShape class for the capsule collision shape 2013-07-10 00:18:55 +02:00
Daniel Chappuis
a3ca3598d5 Remove the margin gap for the BoxShape and make possible to choose the collision margin when creating a collision shape 2013-07-03 22:50:00 +02:00
Daniel Chappuis
84d946ac48 Modifications of the examples 2013-07-03 22:42:58 +02:00
Daniel Chappuis
ce0078c2a9 Implement the non-linear-gauss-seidel position error correction 2013-06-26 22:28:31 +02:00
Daniel Chappuis
c4d6206ee2 Finish the implementation of the Hinge joint and some others modifications 2013-06-09 16:31:01 +02:00
Daniel Chappuis
c4eee4fb1f Implement the Ball-And-Socket joint 2013-05-02 22:41:57 +02:00
Daniel Chappuis
ded465c105 Remove a file 2013-04-24 22:29:31 +02:00
Daniel Chappuis
2b2143d41e Continue the implementation of the constraint solver 2013-04-24 19:24:28 +02:00
Daniel Chappuis
f692f7ef12 Allocate memory for the collision shapes inside the physics engine 2013-04-22 21:25:40 +02:00
Daniel Chappuis
16c6487796 Change #ifndef names in headers to avoid name collision with others libraries 2013-04-18 22:54:36 +02:00
Daniel Chappuis
e03888ea25 Finish the implementation of the memory allocator 2013-04-01 23:43:50 +02:00
Daniel Chappuis
f479c5edf3 Finish the implementation of the profiler 2013-03-26 21:37:55 +01:00
Daniel Chappuis
17e976ab6c Fix some compilations errors on Linux 2013-03-20 22:41:53 +01:00
Daniel Chappuis
f38803d75a Fix some warnings 2013-03-17 17:07:09 +01:00
Daniel Chappuis
dac5a2729a Do not compute the AABB of a sphere by rotating its extents 2013-03-14 22:47:59 +01:00
Daniel Chappuis
04a31c696c Add Doxygen documentation into the code 2013-03-05 23:09:50 +01:00
Daniel Chappuis
03cddcf568 Access std::map using find() method 2013-03-03 16:36:07 +01:00
Daniel Chappuis
b43f875cef Improve GJK robustness for spheres by integrating the radius into the object margin 2013-03-03 16:24:46 +01:00
Daniel Chappuis
5a373cf27b Clean the code and modify the date in the license text 2013-03-02 16:26:18 +01:00
Daniel Chappuis
4346a16f62 Replace the 0 constant by the NULL pointer in CollisionDetection.cpp 2013-02-28 23:18:48 +01:00
Daniel Chappuis
db23fd0000 Merge branch 'develop' of https://code.google.com/p/reactphysics3d into develop 2013-02-28 22:40:06 +01:00
Daniel Chappuis
ef93134c79 Make some modifications in the mathematics library 2013-02-28 20:03:37 +01:00
Daniel Chappuis
31e6ed2d8a Replace the 0 constant by NULL when using pointers 2013-02-28 19:50:52 +01:00
Daniel Chappuis
cdc384db68 Make possible to access Vector3 members by using x,y and z instead of getX(), getY() and getZ() 2013-02-27 22:10:10 +01:00
Daniel Chappuis
a362171532 Clean the code of the sequential impulse contact solver 2013-02-26 22:43:45 +01:00
Daniel Chappuis
e84f6468c8 Clean the code 2013-02-19 23:16:20 +01:00
Daniel Chappuis
2fc8beaa77 Fix two compilation errors 2012-12-11 23:09:54 +01:00
Daniel Chappuis
4ca42f9392 Clean the code :
- Use the mVariable syntax for member variables
- Every lines contain at most 100 characters
- Add private copy-constructor and assignment operators when needed
2012-10-09 22:21:02 +02:00
Daniel Chappuis
fc37d40bbb Remove the PhysicsEngine and PhysicsWorld classes and add the CollisionWorld and DynamicsWorld classes 2012-10-03 21:00:17 +02:00
Daniel Chappuis
4c0c285174 Add the BroadPhasePair class 2012-09-26 23:07:40 +02:00
Daniel Chappuis
2ed2b2a54f Add the CollisionBody class 2012-09-18 22:09:49 +02:00
Daniel Chappuis
19f7925d47 Allow the MemoryPool class to start with zero allocated memory and grow when more memory is needed 2012-08-13 02:14:47 +02:00
Daniel Chappuis
fcac6457a7 Add documentation 2012-08-06 22:34:42 +02:00
Daniel Chappuis
29e5f2b7b4 Use the name CollisionShape instead of Collider for the collision shapes 2012-08-04 00:34:30 +02:00
Daniel Chappuis
c7faae9b20 Add the bodyindex type to represent the index number of a body 2012-08-02 23:33:56 +02:00
chappuis.daniel
63f887dc07 Add the PairManager class
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@467 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-07-25 21:35:27 +00:00
chappuis.daniel
cd47b3e617 Implementation of the array-based Sweep-And-Prune broad-phase collision detection algorithm from Pierre Terdiman
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@466 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-07-25 21:31:57 +00:00
chappuis.daniel
b013204b3f Allocate the ContactInfo into a memory pool for better efficiency
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@465 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-28 21:03:30 +00:00
chappuis.daniel
b381388f87 Make possible to use a single collider for multiple rigid bodies
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@464 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-27 22:41:26 +00:00
chappuis.daniel
9333d0e690 Use a customize algorithm for Sphere vs Sphere collision detection instead of using GJK
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@463 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-25 22:57:27 +00:00
chappuis.daniel
401a60b74a Rename shapes folder into colliders
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@461 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-18 23:17:44 +00:00
chappuis.daniel
c1eabd3e2b Add error correction using first world order projection (not active by default), change the Shape class into Collider class, add the new decimal type in order to easily switch between single and double precision
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@460 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-18 23:06:33 +00:00
chappuis.daniel
b82228d3ed Modifications before release
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@454 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-12-11 00:40:04 +00:00
chappuis.daniel
55c1168b5d Remove files that are not used anymore and rename the SweepAndPrune class
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@453 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-14 22:01:50 +00:00
chappuis.daniel
d762312d68 ReactPhysics3D is now under the ZLib license
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@452 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-13 17:49:03 +00:00
chappuis.daniel
29d9e60e93 Avoid negative penetration depth due to numerical errors in GJK algorithm
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@451 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-11 07:05:30 +00:00
chappuis.daniel
5467e09020 Remove dynamic casting
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@449 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-10 23:21:45 +00:00
chappuis.daniel
38a8969c63 Change of the directory structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@446 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:51:29 +00:00
chappuis.daniel
5620b6e12e Change of the directory structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@445 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:25:44 +00:00
chappuis.daniel
58be3a3f3d Change of the directory structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@444 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:15:16 +00:00
chappuis.daniel
4049f6ae3b Add persistent contact caching in collision detection
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@443 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:03:05 +00:00
chappuis.daniel
94e7153817 Add the PersistentContactCache and MemoryPool classes
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@439 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-09-03 11:58:42 +00:00
chappuis.daniel
40ec21b398 Changes and optimizations in the Vector3 and Matrix3x3 classes
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@437 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-18 21:02:48 +00:00
chappuis.daniel
03557bbff6 Changes in the Contact class
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@436 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-10 16:49:38 +00:00
chappuis.daniel
d9452e727c Use a quaternion instead of a matrix in the Transform
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@435 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-08 21:41:07 +00:00
chappuis.daniel
00b9fc45dc Correction of a bug in collision detection and creation of new collision shapes
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@434 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-05 17:35:01 +00:00
chappuis.daniel
0de337cfe5 changes in the code structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@433 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-07-10 17:56:00 +00:00
chappuis.daniel
a04db140bf changes in the code structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@432 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-07-10 17:31:19 +00:00
chappuis.daniel
1d5a8e2491 Change the code structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@430 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-07-09 16:58:50 +00:00
chappuis.daniel
bd5d0fb230 Add Transform and changes in code design
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@429 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-06-30 20:25:34 +00:00
chappuis.daniel
23d0cd699f Continuation of EPA algorithm
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@426 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-06-08 21:22:47 +00:00
chappuis.daniel
436bdaf255 Correction of a bug in EPA algorithm
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@425 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-05-25 23:04:48 +00:00
chappuis.daniel
867f940102 implementation of GJK and EPA collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@424 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-05-18 21:34:39 +00:00
chappuis.daniel
fce32c78e2 implementation of GJK and EPA collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@423 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-19 19:38:08 +00:00
chappuis.daniel
6a6f55b763 implementation of GJK and EPA collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@422 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-19 10:19:59 +00:00
chappuis.daniel
08ccec586a implementation of GJK and EPA collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@421 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-18 10:36:29 +00:00
chappuis.daniel
cd5fda4396 implementation of GJK and EPA collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@420 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-11 14:51:09 +00:00
chappuis.daniel
3fd0610925 implementation of GJK and EPA collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@419 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-07 18:27:11 +00:00
chappuis.daniel
4ed45d43ed implementation of GJK and EPA collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@418 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-07 15:09:45 +00:00
chappuis.daniel
844df20be0 Implementation of EPA Algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@417 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-07 14:51:54 +00:00
chappuis.daniel
fdbb661df5 implementation of GJK collision detection algorithm continued
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@416 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-01 11:03:54 +00:00
chappuis.daniel
2acf563508 Add the Simplex class
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@415 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-01-29 17:48:48 +00:00
chappuis.daniel
22cde3cef5 Bug corrected (found by fadilo)
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@409 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-01-14 11:18:44 +00:00
chappuis.daniel
c57651a789 Several optimizations and cosmetic modifications
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@408 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-16 20:56:09 +00:00
chappuis.daniel
9fd3d8b598 Now we can use a single Contact for several contact points between two bodies
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@404 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-11 16:25:43 +00:00
chappuis.daniel
869c48db42 Change in the repository structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@399 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:29:02 +00:00