Commit Graph

782 Commits

Author SHA1 Message Date
Daniel Chappuis
c273e7cfe5 Fix issue in the computation of the friction vectors in contact solver 2021-04-01 22:59:20 +02:00
Daniel Chappuis
716aa1940d Working on cone limit for BallAndSocket joint 2021-03-21 15:22:43 +01:00
Daniel Chappuis
e5d9090441 Fix issue 195 in RigidBodyComponents 2021-03-08 22:35:23 +01:00
Daniel Chappuis
4c0e629e9b Use C++11 std::chrono library to deal with time instead of old code 2021-02-22 21:08:55 +01:00
Daniel Chappuis
e0555f1a57 Add methods Joint::getReactionForce() and Joint::getReactionTorque() to retrieve the reaction force and torque of a joint 2021-02-08 21:42:26 +01:00
Daniel Chappuis
3ae53a0466 Remove comments 2021-02-03 13:31:41 +01:00
Daniel Chappuis
2e1046f2b8 Improve robustness of constraint solver (avoid inverse of matrix with zero determinant) 2021-01-29 22:08:39 +01:00
Daniel Chappuis
b18e617c76 Fix issue with update of inverse mass/inertia of a static body 2021-01-27 21:49:31 +01:00
Daniel Chappuis
c615555daa Fix issue with angular lock axis factor 2021-01-22 21:54:44 +01:00
Daniel Chappuis
a3ceafff07 Make possible to lock the linear/angular axis of a RigidBody 2021-01-15 23:47:29 +01:00
Daniel Chappuis
bacdf23f8b Fix issue and modifications in HeightFieldShape 2020-12-31 16:41:05 +01:00
Daniel Chappuis
d0fa4c2755 Improve the raycasting performance against HeightFielfShape with a better middle-phase algorithm 2020-12-28 00:07:08 +01:00
Daniel Chappuis
5443f0bd54 Fix wrong normal orientation in TriangleShape raycasting 2020-12-28 00:04:23 +01:00
Daniel Chappuis
983398eb1b Merge branch 'master' into optimization 2020-11-28 20:37:48 +01:00
Daniel Chappuis
23abaa905d Add the HingeJoint::getAngle() method to get the current angle of the hinge joint 2020-11-28 19:45:38 +01:00
Daniel Chappuis
b0ccdb6cc1 Fix conflict 2020-11-26 22:53:28 +01:00
Daniel Chappuis
a4a386f823 Fix issue in FixedJointComponents 2020-11-26 22:08:15 +01:00
Daniel Chappuis
cc63f7c0a1 Fix issue 179 in FixedJoint 2020-11-25 22:20:40 +01:00
Daniel Chappuis
d4a58b7228 Do not recompute triangle normal during triangle raycasting 2020-11-15 11:56:44 +01:00
Daniel Chappuis
9d645bdca7 Use faster ray vs ABBB intersection algorithm in raycasting DynamicAABBTree broad-phase 2020-11-08 15:13:17 +01:00
Daniel Chappuis
2b052969a9 Compute the half-edge structure of TriangleShape and BoxShape only once at the beginning 2020-10-29 23:09:15 +01:00
Daniel Chappuis
ec5350bb5f Make AABB methods inline 2020-10-20 22:46:20 +02:00
Daniel Chappuis
1bc1f0621e Optimizations 2020-10-15 22:23:32 +02:00
Daniel Chappuis
fcf7def577 Small optimizations 2020-10-14 20:41:05 +02:00
Daniel Chappuis
8c7a709ebe Fix compilation issues 2020-10-14 20:40:41 +02:00
Daniel Chappuis
8f5a7a12cb Fix issue in position solver of joints (constrained orientations must be used instead of previous orientation when computing inertia tensor) 2020-10-14 19:42:40 +02:00
Daniel Chappuis
9be56213e0 Optimization in NarrowPhaseInfoBatch 2020-10-14 18:30:21 +02:00
Daniel Chappuis
2078971331 Optimization of joints solver 2020-10-12 23:56:33 +02:00
Daniel Chappuis
916cefa96d Optimization of joints 2020-10-12 23:01:57 +02:00
Daniel Chappuis
44e1b12aaf Fix robustness issue with SphereShape vs SphereShape collision detection 2020-10-10 00:10:05 +02:00
Daniel Chappuis
7071213617 Optimizations and small modifications 2020-10-04 16:08:12 +02:00
Daniel Chappuis
85103f7027 Small optimizations 2020-10-02 21:26:14 +02:00
Daniel Chappuis
d4be363e7c Optimization of face vs face clipping in SAT algorithm 2020-09-30 00:22:16 +02:00
Daniel Chappuis
21f9b39bc4 Small optimizations 2020-09-26 15:07:20 +02:00
Daniel Chappuis
fa722c129d Better optimization to allocate correct amount of memory for potential manifolds and contact points 2020-09-26 14:57:00 +02:00
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