Commit Graph

175 Commits

Author SHA1 Message Date
Daniel Chappuis
4f76553c59 Many small optimizations 2017-12-04 22:14:52 +01:00
Daniel Chappuis
e754711a84 Remove unnecessary calls to Quaternion.getMatrix() 2017-11-28 17:46:45 +01:00
Daniel Chappuis
fea467f112 Add profiling in SAT algorithm methods 2017-11-25 17:51:14 +01:00
Daniel Chappuis
f403a6e804 Add temporal coherence for convex vs triangle collision detection 2017-11-22 22:43:27 +01:00
Daniel Chappuis
38bd462b91 Fix issue in SAT algorithm, use the correct penetration depth for each contact point 2017-11-13 18:42:39 +01:00
Daniel Chappuis
e9709c3db5 Refactor the Profiler. Now there is one profiler instance per CollisionWorld/DynamicsWorld instance instead of a static one 2017-11-10 19:57:50 +01:00
Daniel Chappuis
fd427c0337 Fix compilation errors because of removed files 2017-11-03 07:11:19 +01:00
Daniel Chappuis
002264a5a1 Remove unused files 2017-11-02 23:01:32 +01:00
Daniel Chappuis
ad0f805f53 Fix robustness issue in SAT Algorithm (convex polyhedron vs capsule) 2017-11-01 23:09:02 +01:00
Daniel Chappuis
5da57a96c8 Fix issue with sphere and capsule SAT collision detection 2017-10-24 22:47:35 +02:00
Daniel Chappuis
cdec7413c5 Improve capsule resting on another shape stability 2017-10-18 21:26:53 +02:00
Daniel Chappuis
0250d8c4bd Fix issue in SAT algorithm 2017-10-18 19:35:20 +02:00
Daniel Chappuis
b33b8e0dc5 Fix issue in SAT algorithm between polyhedron and capsule 2017-09-25 23:06:17 +02:00
Daniel Chappuis
643c781fa0 Fix issues with smooth triangle contact 2017-09-21 22:44:42 +02:00
Daniel Chappuis
709bed3cec Fix issues with GJK algorithm 2017-09-09 15:37:55 +02:00
Daniel Chappuis
8cb2ec7e17 Remove wrong assert 2017-09-08 07:38:57 +02:00
Daniel Chappuis
b890773053 Fix issue when computing clipping planes in SAT algorithm 2017-09-07 22:24:30 +02:00
Daniel Chappuis
1b82a3e228 Fix issue in GJK algorithm when numerical issue occurs 2017-09-07 22:23:00 +02:00
Daniel Chappuis
8bab9c1348 Remove unused cachedCollisionData parameter 2017-09-03 18:05:23 +02:00
Daniel Chappuis
6a22b3a81d Fix temporal coherence in SAT algorithm between two convex polyhedra 2017-09-03 10:48:39 +02:00
Daniel Chappuis
673e487f14 Remove temporal coherence from SAT for sphere vs polyhedron and capsule vs polyhedron 2017-09-01 07:37:45 +02:00
Daniel Chappuis
9b89f66667 Fix issues and refactor collision shape type and collision shape name 2017-08-31 23:11:00 +02:00
Daniel Chappuis
624e01b595 Working on ConcaveMeshShape and HeightFieldShape collision detection 2017-08-21 07:35:08 +02:00
Daniel Chappuis
319cc72cde Fix issues in collision detection 2017-08-18 17:50:27 +02:00
Daniel Chappuis
2f60190942 Do not generate contact in GJK algorithm if not needed 2017-08-01 15:57:46 +02:00
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
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
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
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
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
e014f00afc Refactor memory allocator and refactor contact solver 2016-09-21 22:03:45 +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
2640fbd48a Start replacing NULL constant by nullptr 2016-05-15 19:25:58 +02:00
Daniel Chappuis
8a75c867a5 Change version number of the library 2016-04-11 20:15:20 +02:00
Daniel Chappuis
d0481e0901 Fix compilation errors/warnings on Linux 2016-02-22 23:26:50 +01:00
Daniel Chappuis
ec3a9cef87 Modificaitons in ConcaveMeshShape 2016-01-14 21:43:19 +01:00
Daniel Chappuis
8be408ccec Modifications for smooth concave mesh contacts 2016-01-05 18:39:22 +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
6ebad66acf Working on triangles mesh raycasting 2015-12-02 22:25:52 +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
1c735e483c Working on triangular mesh collision detection 2015-10-26 18:15:25 +01: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
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
6679bb27bc Changes for the next release 2015-02-15 21:56:45 +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
5d2cf593b5 Remove the PairManager class 2014-11-21 21:38:17 +01:00
Daniel Chappuis
ca660b5057 Replace some matrix multiplications by quaternion multiplications 2014-11-05 20:52:21 +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
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
bd5668ed51 Work on the testPointInside() method 2014-08-01 12:36:32 +02:00
Daniel Chappuis
bc4de62e75 Fix issue in the collision detection for compound shapes 2014-06-10 23:37:11 +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
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
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
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