Commit Graph

747 Commits

Author SHA1 Message Date
Daniel Chappuis
71f7980fdf Log an error when convex mesh is created with duplicated vertices and add in user manual that this is not supported 2020-09-21 13:59:23 +02:00
Daniel Chappuis
e7b951b8e4 Refactor the mathematics_functions.h file 2020-09-08 19:03:22 +02:00
Daniel Chappuis
b55626df67 Cache the size of lists before loops 2020-09-06 18:42:05 +02:00
Daniel Chappuis
cd4bc7573f Rename the List class into Array 2020-09-05 15:06:51 +02:00
Daniel Chappuis
f17941b708 Optimization 2020-09-02 23:33:12 +02:00
Daniel Chappuis
18924135e0 Remove some code 2020-09-02 23:00:15 +02:00
Daniel Chappuis
7774b6f0cd Merge master into optimization and fix conflicts 2020-09-02 22:53:21 +02:00
Daniel Chappuis
98ba2f10e6 Fix issue with contact manifolds order in islands creation process 2020-09-02 21:59:19 +02:00
Daniel Chappuis
70d4aed3c1 Reduce the number of calls to List::reserve() 2020-08-30 08:32:49 +02:00
Daniel Chappuis
2b362b5098 Use uint32 type for size/capacity of List 2020-08-30 00:00:47 +02:00
Daniel Chappuis
de6630a03d Refactoring and optimization of List and Set containers 2020-08-28 23:10:19 +02:00
Daniel Chappuis
a1e0e0aa94 Refactor OverlappingPairs 2020-08-11 18:14:32 +02:00
SlavicPotato
b5a7454f4c Fix DebugRenderer contact point sphere radius 2020-08-11 09:14:18 +02:00
Daniel Chappuis
05e3b00689 Remove mIsActive variable from OverlappingPairs 2020-08-06 16:00:50 +02:00
Daniel Chappuis
eeb5b07f35 Remove rolling restistance constraint from contact solver. Angular damping has to be used instead 2020-07-29 22:49:19 +02:00
Daniel Chappuis
0126677808 Fix issue 2020-07-29 00:24:52 +02:00
Daniel Chappuis
7f219dd99c More materials into the ColliderComponents and more optimizations 2020-07-28 23:35:11 +02:00
Daniel Chappuis
aa6b228e10 Optimizations 2020-07-28 23:34:25 +02:00
Daniel Chappuis
fd09fcf660 Add force inline macro 2020-07-26 20:47:23 +02:00
Daniel Chappuis
92884e2486 Working on NarrowPhaseInfoBatch optimizations 2020-07-26 16:55:07 +02:00
Daniel Chappuis
a871bfdd6a More optimizations 2020-07-20 00:33:50 +02:00
Daniel Chappuis
3b2f973ffd Fix issue in Quaternion::Quaternion(Matrix3x3& matrix) constructor and add corresponding unit test 2020-07-19 01:02:02 +02:00
Daniel Chappuis
0032fef473 Working on optimizations in contacts creation 2020-07-18 17:03:44 +02:00
Daniel Chappuis
b410b26e23 Fix issues in PhysicsWorld::createIslands() method and add more optimization in CollisionDetectionSystem::computeNarrowPhase() method 2020-07-14 22:35:03 +02:00
Daniel Chappuis
8fd5c58986 Optimization of contacts processing 2020-07-11 14:06:39 +02:00
Daniel Chappuis
fa05e1561e Use const parameter in PhysicsWorld::setGravity() method 2020-07-07 18:27:01 +02:00
Daniel Chappuis
98ac47cbad Optimization of the islands computation 2020-07-07 18:21:41 +02:00
Daniel Chappuis
5cf8cb7445 Make PhysicsWorld::createIslands() method faster 2020-07-02 23:44:27 +02:00
Daniel Chappuis
8b9fdc15a7 Fix issue in SAT with edge-edge contact (wrong contact normal) and favor face contacts over edge-edge contacts in polyhedron vs polyhedron collision in SAT algorithm for better stability 2020-06-28 15:28:00 +02:00
Daniel Chappuis
4283e3f408 Fix issue in SAT with edge-edge contact (wrong contact normal) and favor face contacts over edge-edge contacts in polyhedron vs polyhedron collision in SAT algorithm for better stability 2020-06-27 23:48:19 +02:00
Daniel Chappuis
fc5ccdbe4d Rename PI constant 2020-06-24 22:24:54 +02:00
Daniel Chappuis
9fb1e39798 Add constructors with local-space anchor/axis to BallAndSocketJointInfo, HingeJointInfo, SliderJointInfo, FixedJointInfo 2020-06-24 22:21:54 +02:00
Daniel Chappuis
c952fcf8c3 Merge branch 'master' into develop 2020-06-17 13:19:03 +02:00
Daniel Chappuis
3d46add1d2 Fix issue with collision detection between convex and concave shape 2020-06-17 13:18:04 +02:00
Daniel Chappuis
bbd9182f7f Improve code documentation inside RigidBody class 2020-06-16 23:17:41 +02:00
Daniel Chappuis
2751bc5728 Add RigidBody::resetForce() and RigidBody::resetTorque() methods 2020-06-16 22:50:12 +02:00
Daniel Chappuis
a855a81d04 Fix issue with assert in PhysicsWorld destructor 2020-06-14 23:18:13 +02:00
Daniel Chappuis
6d75edd782 Merge branch 'develop' into 'master' 2020-05-29 00:03:44 +02:00
Daniel Chappuis
875064c851 Check that the initial transforms when creating a body or a collider are valid 2020-05-27 23:09:23 +02:00
Daniel Chappuis
09dc35f635 Update dates and version numbers in files 2020-05-27 16:15:35 +02:00
Daniel Chappuis
4351081189 Make smooth triangle normal computation more robust 2020-05-26 18:22:17 +02:00
Daniel Chappuis
834de3254b Add again Timer.h and Timer.cpp 2020-05-25 21:54:36 +02:00
Daniel Chappuis
fa4eb297bf Add logs, remove warnings, ... 2020-05-25 21:40:44 +02:00
Daniel Chappuis
8893f22e70 Remove the Timer class which is not needed anymore 2020-05-25 10:55:04 +02:00
Daniel Chappuis
9d35d5d7d2 Log errors in PhysicsCommon when destroying a collision shape that is still used by some colliders 2020-05-25 10:48:25 +02:00
Daniel Chappuis
a81a2f5393 Improve Doxygen API Reference documentation 2020-05-25 10:36:36 +02:00
Daniel Chappuis
23041d474b Make memory allocators thread safe 2020-05-25 10:10:40 +02:00
Daniel Chappuis
cfdab52573 Improve Doxygen API Reference documentation 2020-05-25 00:27:13 +02:00
Daniel Chappuis
ab86620412 Small modifications 2020-05-24 16:52:44 +02:00
Daniel Chappuis
bd4a26d5c7 Small modifications 2020-05-24 16:13:44 +02:00
Daniel Chappuis
39bbd6ec6d Refactor CMakeLists.txt files to use more modern CMAKE 2020-05-11 12:38:59 +02:00
Daniel Chappuis
3df602edfa Refactor the way to create a logger and a profiler 2020-05-11 11:13:26 +02:00
Daniel Chappuis
e04565fb48 Rename RigidBody::applyForce() to RigidBody::applyForceAtWorldPosition() and add RigidBody::applyForceAtLocalPosition() method 2020-05-09 00:09:38 +02:00
Daniel Chappuis
dfc6710dc0 Merge and fix conflicts 2020-05-08 23:54:28 +02:00
Daniel Chappuis
c1f40ac456 Fix issue with limits of HingeJoint and SliderJoint 2020-05-08 15:10:49 +02:00
Daniel Chappuis
67e89e081b Working on debug renderer 2020-05-07 15:12:59 +02:00
Daniel Chappuis
0321cf4f89 Working on debug renderer 2020-05-06 15:21:25 +02:00
Daniel Chappuis
56077bba6b Working on debug renderer 2020-05-06 00:34:56 +02:00
Daniel Chappuis
92aa06ac35 Fix compilation error 2020-04-27 18:16:46 +02:00
Daniel Chappuis
2efe9d65da Fix issue with overlap callback 2020-04-27 15:54:57 +02:00
Daniel Chappuis
e03ee08462 Rename Logger class to DefaultLogger and create abstract Logger class 2020-04-26 18:41:59 +02:00
Daniel Chappuis
dcd71ef103 Improve EventListener: add onTrigger() method, add event types, add triggers, ... 2020-04-18 20:43:13 +02:00
Daniel Chappuis
a190bba8c0 Refactor where the headers are store for better installation of the library 2020-03-18 07:28:34 +01:00
Daniel Chappuis
7dde393fa5 Use Vector3 instead of Matrix3x3 for the local inertia tensor of a rigid body 2020-03-10 07:23:51 +01:00
Daniel Chappuis
cda466f9da Refactor the way to set/update the center of mass, mass and inertia tensor of a rigid body 2020-03-01 16:39:16 +01:00
Daniel Chappuis
28560d034e Add methods for the user to retrieve Colliders, CollisionBodies and RigidBodies 2020-02-17 17:36:44 +01:00
Daniel Chappuis
0ec26f5184 Compute the fat AABB by adding a percentage of the size of the initial AABB instead of using a constant offset. Do not use linear displacement anymore in inflate the AABB in direction of the motion in the broad-phase 2020-02-14 17:08:02 +01:00
Daniel Chappuis
7477460e4f Make possible to resize the collision shapes after their creation 2020-02-11 21:56:42 +01:00
Daniel Chappuis
9d776e32dc Make possible to change the size of the collision shapes after their creation 2020-02-06 07:21:13 +01:00
Daniel Chappuis
c5873dbc6b The Material is now part of the Collider instead of the RigidBody, fixes compilation errors with Logger and Profiler. 2020-02-01 13:41:30 +01:00
Daniel Chappuis
d36edcdb6e Rename DynamicsWorld class to PhysicsWorld 2020-01-27 17:46:00 +01:00
Daniel Chappuis
b0fde22678 Rename ProxyShape to Collider 2020-01-20 21:22:46 +01:00
Daniel Chappuis
eb270af309 Fix issue and make sure we use the correct memory allocators 2020-01-15 20:18:11 +01:00
Daniel Chappuis
77940a43f7 Add new memory allocator HeapAllocator 2020-01-13 17:02:59 +01:00
Daniel Chappuis
581f642280 Remove the MemoryManager::setBaseAllocator() method 2019-12-13 11:20:17 +01:00
Daniel Chappuis
45b02abaec Add PhysicsCommon class and use it as a factory for other library objects and add pile demo in testbed application 2019-12-12 18:50:18 +01:00
Daniel Chappuis
2dfe254c86 Use memory allocators from ecs branch 2019-11-27 22:41:38 +01:00
Daniel Chappuis
815182aae9 Merge ecs into develop and fix conflicts 2019-11-27 22:14:29 +01:00
Daniel Chappuis
b94fbf7874 Some optimizations and fix issues in collision detection 2019-11-25 21:22:25 +01:00
Daniel Chappuis
acb5e0e51e Remove TODO 2019-11-25 17:33:46 +01:00
Daniel Chappuis
58df6cdaff Optimizations 2019-11-22 21:31:51 +01:00
Daniel Chappuis
46d19bf550 Some optimizations 2019-11-21 23:23:03 +01:00
Daniel Chappuis
901fc6aeb9 Revert "Small modifications"
This reverts commit 2746a8cfc0.
2019-11-19 22:28:36 +01:00
Daniel Chappuis
2746a8cfc0 Small modifications 2019-11-19 21:58:02 +01:00
Daniel Chappuis
d894a40d2e Working on middle-phase collision detection 2019-11-19 18:35:22 +01:00
Daniel Chappuis
7dcc86d746 Working on middle-phase collision detection 2019-11-18 07:29:04 +01:00
Daniel Chappuis
6b3a65b914 Working on middle-phase collision detection 2019-11-17 20:52:18 +01:00
Daniel Chappuis
44e07e0bd9 Working on making middle-phase collision detection faster 2019-11-09 23:55:54 +01:00
Daniel Chappuis
294d3b6665 Small fix 2019-10-28 23:16:26 +01:00
Daniel Chappuis
8580ab545b Fix issues 2019-10-28 23:08:42 +01:00
Daniel Chappuis
87614b7dad Add profiling code 2019-10-22 17:34:36 +02:00
Daniel Chappuis
f991717cc1 Optimizations 2019-10-22 07:10:57 +02:00
Daniel Chappuis
130eb00136 Refactoring 2019-10-18 07:13:45 +02:00
Daniel Chappuis
2c2b75def7 Move local-to-world transform of ProxyShape into the ProxyShapeComponents 2019-10-15 20:29:22 +02:00
Daniel Chappuis
5f05fa372d Move contacts creation before islands creation 2019-10-11 17:01:53 +02:00
Daniel Chappuis
92b39ca6c0 Take care of TODOs 2019-10-10 17:51:31 +02:00
Daniel Chappuis
59cdc6b8f8 Take care of TODOs 2019-10-10 07:53:25 +02:00
Daniel Chappuis
d491665332 Add SolveSliderJointSystem class 2019-10-07 20:50:37 +02:00
Daniel Chappuis
afb34b4355 Add SolveHingeJointSystem class 2019-10-05 17:45:35 +02:00
Daniel Chappuis
ab02d98f3a Add SolveFixedJointSystem class 2019-10-02 17:48:28 +02:00