Commit Graph

436 Commits

Author SHA1 Message Date
Daniel Chappuis
176186e126 Replacing ProxyShape data by corresponding component data 2019-01-11 07:25:35 +01:00
Daniel Chappuis
8b6249829a Add Transform component 2018-12-26 23:33:36 +01:00
Daniel Chappuis
6e67b83ca4 Modifs in NarrowPhaseBatch info classes 2018-12-01 13:17:32 +01:00
Daniel Chappuis
05d05c3fd8 Create SphereVsCapsuleNarrowPhaseInfoBatch 2018-11-29 17:33:27 +01:00
Daniel Chappuis
11ddc3f079 Create CapsuleVsCapsuleNarrowPhaseInfoBatch class 2018-11-29 07:08:39 +01:00
Daniel Chappuis
6413d479ad Create SphereVsSphereNarrowPhaseInfoBatch class 2018-11-27 07:27:38 +01:00
Daniel Chappuis
5e57ea896a Refactor NarrowPhaseAlgorithm and make possible to use single frame allocator for NarrowPhaseInput memory allocation 2018-11-09 17:19:28 +01:00
Daniel Chappuis
5cdf66d009 Directly call narrrow-phase collision detection tests on narrow phase batches 2018-11-05 18:34:46 +01:00
Daniel Chappuis
f0fe97a41b Remove method to get last frame info from NarrowPhaseInfoBatch class 2018-10-10 20:33:42 +02:00
Daniel Chappuis
e8ed10314a Refactor narrow-phase algorithms to iterate over batches of narrow-phase infos 2018-10-03 22:10:05 +02:00
Daniel Chappuis
198624b89c Merge master into develop and fix conflicts 2018-09-26 19:50:44 +02:00
Daniel Chappuis
b3cd791146 Make possible for the user to use a custom pool memory allocator 2018-09-26 18:31:21 +02:00
Daniel Chappuis
cf3d76ce45 Replace linked-list by rp3d::List for contactPoints of NarrowPhaseInfo 2018-09-18 07:35:11 +02:00
Daniel Chappuis
ea523e47d3 Use List instead of linked lists for narrow phase infos during collision detection 2018-09-15 10:14:26 +02:00
Daniel Chappuis
26393ffca3 Merge branch 'master' into develop 2018-09-13 07:12:59 +02:00
Daniel Chappuis
5b0227c5c5 Modifications of pull request (move private methods to public) 2018-09-12 09:39:00 +02:00
Daniel Chappuis
e9ecbd5a61 Merge branch 'ConcaveMeshDebug' of git://github.com/EmmeKappaErre/reactphysics3d into EmmeKappaErre-ConcaveMeshDebug 2018-09-11 22:41:14 +02:00
Daniel Chappuis
453481af9a Merge branch 'HeightFieldChanges' of git://github.com/EmmeKappaErre/reactphysics3d into EmmeKappaErre-HeightFieldChanges 2018-09-11 07:38:19 +02:00
Mkr
5f4d14d303 Add accessor methods to ConcaveMeshShape to allow reading back vertices and normals for inspection from the user code. 2018-09-09 16:44:48 -07:00
Mkr
54f17ac0aa Make input to PolygonVertexArray constant 2018-09-09 16:38:04 -07:00
Daniel Chappuis
23e16cf156 Merge develop into dod and fix conflicts 2018-09-09 22:08:55 +02:00
Daniel Chappuis
bcf305b118 Refactor contact points creation 2018-09-09 21:59:02 +02:00
Daniel Chappuis
527cc7fbb7 Replace broad phase pair management custom array by List 2018-08-21 07:37:52 +02:00
Mkr
78bbb7320d Make getVertexAt and getHeightAt public to allow for inspecting the height field (e.g. for debug draw the height field) 2018-08-16 21:32:25 -07:00
Daniel Chappuis
160759bb63 Replace array by Set for the moved shapes in broad-phase and fix a bug with added and removed collision body (crash in BroadPhaseAlgorithm::computeOverlappingPairs()) 2018-07-21 23:25:34 +02:00
Daniel Chappuis
45f86ea543 Fix issue with ConvexMeshShape and BoxShape falling through ConcaveMeshShape and HeightFieldShape 2018-07-01 15:47:50 +02:00
Daniel Chappuis
6732a8119c Fix issue with collision between a CollisionBody and a RigidBody in a DynamicsWorld 2018-05-29 21:44:56 +02:00
Daniel Chappuis
fe02f4ecc5 Fix issue with scaling in ConcaveMeshShape 2018-05-24 08:30:10 +02:00
Daniel Chappuis
82c7c5f29a Fix issue in broad-phase collision detection 2018-05-21 20:42:39 +02:00
Daniel Chappuis
681ebeba6b Update copyright date in license 2018-04-30 22:15:53 +02:00
Daniel Chappuis
b0f9cfd65a Fix compilation warnings 2018-04-21 20:03:44 +02:00
Daniel Chappuis
d5322ad745 Add comments in the code 2018-04-21 19:47:35 +02:00
Daniel Chappuis
d14e42be70 Refactor the way headers are included and use more forward declarations for faster compilation time 2018-04-20 07:13:39 +02:00
Daniel Chappuis
96c581ae9b Fix compilation warnings 2018-04-16 07:54:46 +02:00
Daniel Chappuis
5339b5ea4a Fix compilation warnings 2018-04-14 19:53:44 +02:00
Daniel Chappuis
4697b9fcef Fix issues with contact points reduction 2018-04-14 19:52:00 +02:00
Daniel Chappuis
100cdbc64a Working on logger 2018-03-28 22:55:02 +02:00
Daniel Chappuis
71bfa6afce Remove setLocalScaling() method from CollisionShape and ProxyShape and use scaling only for HeightFieldShape, ConvexMeshShape and ConcaveMeshShape 2018-03-26 22:00:52 +02:00
Daniel Chappuis
1bc50de2c9 Working on logger 2018-03-19 23:02:13 +01:00
Daniel Chappuis
393bb0ed88 Refactor profiler and start working on logger 2018-03-14 07:33:28 +01:00
Daniel Chappuis
cd2bc9665e Add WorldSettings class for world configuration settings 2018-03-04 19:10:32 +01:00
Daniel Chappuis
4177044f74 Replace testPointInside() and raycast() methods for ConvexMeshShape (do not used GJK anymore) and some small refactoring 2018-02-26 07:17:54 +01:00
Daniel Chappuis
1a787453e8 Replace std::pair by rp3d::Pair 2018-02-05 07:41:02 +01:00
Daniel Chappuis
e0fda18446 Replace malloc/free calls by use of the MemoryManager of ReactPhysics3D 2018-02-04 19:43:17 +01:00
Daniel Chappuis
b3e771838d Replace std::set by Set and fix issues with List and Map 2018-02-03 20:48:08 +01:00
Daniel Chappuis
220057a587 Remove the use of std::map and fix issues in Map class 2018-01-26 17:34:26 +01:00
Daniel Chappuis
301823729d Remove the use of std::vector 2018-01-20 17:30:36 +01:00
Daniel Chappuis
b93e358f5b Fix issue with zero penetration depth in Sphere vs Capsule collision 2018-01-15 18:34:20 +01:00
Daniel Chappuis
261ffef616 Refactor memory allocation 2018-01-01 18:35:57 +01:00
Daniel Chappuis
8f126a75d6 Use List in HalfEdgeStructure with some changes in memory allocation 2017-12-27 20:53:09 +01:00
Daniel Chappuis
f2ee00ca68 Use List instead of std::vector compute segment clipping in SAT algorithm 2017-12-14 22:25:52 +01:00
Daniel Chappuis
9d761291d6 Small optimizations 2017-12-06 21:55:50 +01:00
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
f09331c185 Remove unused cachedCollisionData variable 2017-11-22 22:58:31 +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
222636391e Use the true triangle face normal if contact is not on an edge in smooth triangle contact 2017-11-10 17:51:02 +01:00
Daniel Chappuis
de95e15147 Fix issue with the shape order in concave vs convex middle-phase collision detection 2017-11-08 21:28:00 +01:00
Daniel Chappuis
8bfa6dd137 Fix issue : the scaling factor was not used when recomputing AABB tree for concave mesh shape 2017-11-08 21:26:15 +01:00
Daniel Chappuis
013431487e Rename setScaling() to setLocalScaling() 2017-11-08 21:24:09 +01:00
Daniel Chappuis
e91cded831 Update code documentation and fix warnings 2017-11-05 23:15:47 +01:00
Daniel Chappuis
6e322882eb Fix wrong world AABB computation that caused broad-phase collision misses 2017-11-05 23:10:55 +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
6a69ef76c5 Fix issue with ProxyShape::mBroadPhaseId not set when body was sleeping or inactive 2017-11-01 23:07:56 +01:00
Daniel Chappuis
5da57a96c8 Fix issue with sphere and capsule SAT collision detection 2017-10-24 22:47:35 +02:00
Daniel Chappuis
c1295f1d7a Remove contactNormaldId attribute and fix typo 2017-10-19 07:26:11 +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
de494bb0fd Changes and bug fixes in ContactManifold and ContactManifoldSet 2017-10-18 00:41:32 +02:00
Daniel Chappuis
d5617526ff Modify the policy to drop contact manifolds. First drop the old ones before the new ones 2017-10-12 20:07:39 +02:00
Daniel Chappuis
37e2c79cf2 Fix issue in ContactManifoldSet 2017-10-09 22:41:45 +02:00
Daniel Chappuis
38eff07d0d Fix issue and small changes in TriangleVertexArray 2017-10-09 22:36:39 +02:00
Daniel Chappuis
d62aa41974 Fix issue in ContactManifoldSet 2017-10-04 22:38:39 +02:00
Daniel Chappuis
cbfeb608df Fix bug and clean the pointers casting in TriangleVertexArray 2017-10-04 22:38:14 +02:00
Daniel Chappuis
310fef1c52 Fix issue with middle phase collision detection (AABB not computed in correct space) 2017-09-28 08:34:45 +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
63833621a0 Fix issue with triangle shape normal computation 2017-09-12 23:25:21 +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
dd91f6dcbf Fix typo 2017-09-04 22:23:29 +02:00
Daniel Chappuis
95ade79af5 Fix issue with obsolete contact points that were not removed 2017-09-04 21:23:07 +02:00
Daniel Chappuis
501bca5e3d Fix issue in TriangleVertexArray 2017-09-04 07:26:01 +02:00
Daniel Chappuis
946e62dd4b Remove unnecessary collision margin for some shapes 2017-09-03 19:06:02 +02:00
Daniel Chappuis
8bab9c1348 Remove unused cachedCollisionData parameter 2017-09-03 18:05:23 +02:00
Daniel Chappuis
e1602f2b27 Fix issues with normals computation in TriangleVertexArray 2017-09-03 17:35:09 +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
a655ffb462 Fix issue in ContactManifoldSet.cpp 2017-08-31 22:42:19 +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
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