Commit Graph

710 Commits

Author SHA1 Message Date
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
Daniel Chappuis
22810e0857 Working on SolveBallAndSocketJointSystem 2019-10-01 22:39:50 +02:00
Daniel Chappuis
f0b8121795 Working on joints ECS 2019-09-27 07:20:30 +02:00
Daniel Chappuis
f29810334e Working on JointComponents 2019-09-24 17:45:43 +02:00
Daniel Chappuis
170a1bfdfd Working on SliderJointComponents class 2019-09-19 17:12:52 +02:00
Daniel Chappuis
0c0ff46d34 Add SliderJointComponents class 2019-09-13 07:15:48 +02:00
Daniel Chappuis
06132e3d41 Add HingeJointComponents class 2019-09-11 21:13:45 +02:00
Daniel Chappuis
67d8411623 Add FixedJointComponents class 2019-09-04 12:44:42 +02:00
Daniel Chappuis
8187c19fa3 Add BallAndSocketJointComponents class 2019-09-02 14:15:03 +02:00
Daniel Chappuis
cef1f6cd22 Working on JointComponents 2019-08-19 18:38:14 +02:00
Daniel Chappuis
0230b74462 Working on joints components 2019-08-19 07:23:19 +02:00
Daniel Chappuis
2144b8e571 Add JointComponents class 2019-08-15 18:12:46 +02:00
Daniel Chappuis
df04be0e6d Rename CollisionDetection class to CollisionDetectionSystem 2019-08-09 07:13:15 +02:00
Daniel Chappuis
9b38fc1626 Add DynamicsSystem class 2019-08-08 17:45:22 +02:00
Daniel Chappuis
db995ea52c Do not use callbacks for middle-phase collision detection 2019-08-04 23:24:48 +02:00
Daniel Chappuis
9deb90dc6f Make attributes public in ContactManifold 2019-07-22 18:28:19 +02:00
Daniel Chappuis
0191244b57 Simplify code 2019-07-21 22:44:10 +02:00
Daniel Chappuis
3d09a28dd1 Remove DynamicsComponents 2019-07-21 22:36:30 +02:00
Daniel Chappuis
6f9adc3a32 Move attributes from RigidBodyComponents to DynamicsComponents 2019-07-19 21:57:17 +02:00
Daniel Chappuis
466455d15a Move attribute in RigidBodyComponents 2019-07-19 20:51:43 +02:00
Daniel Chappuis
ca80d95d84 Add RigidBodyComponents class 2019-07-16 07:15:13 +02:00
Daniel Chappuis
b93ba5c476 Rename BodyComponents class to CollisionBodyComponents 2019-07-15 17:44:45 +02:00
Daniel Chappuis
569964e365 Remove Body class 2019-07-15 17:38:20 +02:00
Daniel Chappuis
16f564edea Move Body attributes to BodyComponents 2019-07-08 17:41:10 +02:00
Daniel Chappuis
236a855c8d Remove Body::mId attribute 2019-07-04 20:24:09 +02:00
Daniel Chappuis
bcb4febb16 Merge branch 'master' into develop 2019-07-01 20:54:37 +02:00
Daniel Chappuis
f9fa2a227c Changes for release of version 0.7.1 2019-07-01 08:42:27 +02:00
Daniel Chappuis
cde8273f6a Merge branch 'allocators' into develop 2019-06-28 08:08:02 +02:00
Daniel Chappuis
eccc4faa6d Disable previous axis clipping (temporal coherence) in SAT algorithm for testCollision() methods 2019-06-27 07:12:17 +02:00
Daniel Chappuis
9740c699dc Modify default value for restitutionVelocityThreshold 2019-06-26 12:09:19 +02:00
Daniel Chappuis
74b442077f Working on testCollision() and testOverlap() methods 2019-06-25 23:26:06 +02:00
Daniel Chappuis
3f5916a280 Working on testOverlap() and testCollisionMethods 2019-06-03 07:12:50 +02:00
Daniel Chappuis
251333a6ef Working on contacts 2019-05-24 07:15:31 +02:00
Daniel Chappuis
669e74d528 Clean code 2019-05-21 20:40:11 +02:00
Daniel Chappuis
1bc7e0710b Add constrained position/orientation to DynamicsComponents 2019-05-20 07:42:24 +02:00
Daniel Chappuis
a11d884ce1 Move isGravityEnabled and inertia tensors in DynamicsComponents 2019-05-20 07:12:09 +02:00
Daniel Chappuis
ed4f76f7c6 Add initMass and massInverse to DynamicsComponents 2019-05-18 21:52:51 +02:00
Daniel Chappuis
29c8587c85 Add linear/angular damping into DynamicsComponents 2019-05-18 14:00:25 +02:00
Daniel Chappuis
aa4935f396 Add external force/torque in DynamicsComponents 2019-05-17 17:39:30 +02:00
Daniel Chappuis
81303fbaeb Add split velocities into the DynamicsComponents 2019-05-17 07:29:54 +02:00
Daniel Chappuis
9afedae1a7 Use DynamicsComponents for constrained linear/angular velocities in solvers 2019-05-16 17:46:26 +02:00
Daniel Chappuis
ac0e620f02 Remove old code 2019-05-12 14:26:55 +02:00
Daniel Chappuis
e672c0d617 Refactor contacts and islands 2019-05-10 17:37:11 +02:00
Daniel Chappuis
1c91ef7d48 Refactor islands creation 2019-04-27 15:02:21 +02:00
Daniel Chappuis
d9342c55f5 Working on contacts refactoring 2019-04-22 16:15:47 +02:00
Daniel Chappuis
95210623e3 Fix for issue79 2019-04-19 11:25:56 +02:00
Daniel Chappuis
bf3ca2c4d6 Refactor contacts management 2019-04-19 11:20:21 +02:00
Daniel Chappuis
d8e9f15339 Simplify broad-phase 2019-03-31 00:48:46 +01:00
Daniel Chappuis
f9451e1fe1 Refactor Stack class and add Set::toList() method in Set 2019-03-31 00:48:05 +01:00
Daniel Chappuis
d0fbab77ce Simplify broad-phase 2019-03-26 22:57:38 +01:00
Daniel Chappuis
8911351c8f Fix issue in DynamicsComponents 2019-03-26 22:56:29 +01:00
Daniel Chappuis
102651832a Simplify broad-phase collision detection 2019-03-25 18:47:42 +01:00
Daniel Chappuis
703f91b4d3 Modifs in Map and Set containers 2019-03-25 07:35:40 +01:00
Daniel Chappuis
dcc07447a8 Remove localBoundsAABB from ProxyShapesComponents 2019-03-21 17:36:35 +01:00
Daniel Chappuis
fe81c3fd6e Add DynamicsComponents class 2019-03-21 07:29:59 +01:00
Daniel Chappuis
1d6155aa6c Remove code to update proxy-shape broad-phase state from proxy-shape, move it to broad-phase system 2019-03-17 22:50:10 +01:00
Daniel Chappuis
ae076ad815 Handle disabled components 2019-03-16 08:40:50 +01:00
Daniel Chappuis
91416ae5ba Refactor components 2019-03-16 07:50:34 +01:00
Daniel Chappuis
d02b25d32a The proxy-shapes are now entities 2019-03-15 17:27:11 +01:00
Daniel Chappuis
246f2312b9 Merge branch 'master' into allocators 2019-03-11 11:14:27 +01:00
Daniel Chappuis
061469a539 Check that proxy-shape is part of broad-phase before updating it in RigidBody 2019-03-11 11:12:42 +01:00
Daniel Chappuis
4b919fb4fc Make BroadPhaseAlgorithm a system 2019-03-04 17:29:27 +01:00
Daniel Chappuis
ca87fb624d Remove mutexes and do not use static pool and single frame memory allocators 2019-02-28 17:25:37 +01:00
Daniel Chappuis
2ce0f8d76f Make memory allocators thread-safe 2019-02-22 07:27:47 +01:00
Daniel Chappuis
117cbdafb7 Fix issue with friction constraint in contact solver 2019-02-12 20:25:38 +01:00
Daniel Chappuis
528d7bfd45 Fix issue in SAT algorithm 2019-01-28 18:51:04 +01:00
Daniel Chappuis
6bcb586d52 Fix issue with bias in SATAlgorithm and add asserts 2019-01-24 17:50:50 +01:00
Daniel Chappuis
827b14f1b0 Small modifs in ECS 2019-01-18 17:46:19 +01:00
Daniel Chappuis
6ef177329b Fix issue with very small determinant when inverting a 3x3 matrix 2019-01-16 20:43:16 +01:00
Daniel Chappuis
c5c7e81260 Add fields to ProxyShapesComponents 2019-01-14 18:35:51 +01:00
Daniel Chappuis
7d8f043cdb Replacing ProxyShape data by corresponding component data 2019-01-12 18:56:55 +01:00
Daniel Chappuis
449beaf7a6 Replacing ProxyShape data by corresponding component data 2019-01-11 17:34:30 +01:00
Daniel Chappuis
9fb8580830 Replacing ProxyShape data by corresponding component data 2019-01-11 07:38:55 +01:00
Daniel Chappuis
176186e126 Replacing ProxyShape data by corresponding component data 2019-01-11 07:25:35 +01:00
Daniel Chappuis
5a1d10a991 Add proxy-shapes mapping in ProxyShapesComponents 2019-01-10 07:41:10 +01:00
Daniel Chappuis
d8d490bff9 Fix issues with components and remove components when entities are destroyed 2019-01-09 12:19:58 +01:00
Daniel Chappuis
4e438d3ccc Add ProxyShapesComponents 2019-01-08 18:39:36 +01:00
Daniel Chappuis
96b02cfcca Modifs in TransformComponents 2019-01-03 14:01:11 +01:00
Daniel Chappuis
3d892a6689 Handle sleeping bodies in TransformComponents 2018-12-28 22:15:34 +01:00
Daniel Chappuis
8b6249829a Add Transform component 2018-12-26 23:33:36 +01:00
Daniel Chappuis
fa9b1817fe Start working on ECS 2018-12-23 23:18:05 +01:00
Daniel Chappuis
d905ff5c7f Small changes in Deque and Pair 2018-12-23 23:15:39 +01:00
Daniel Chappuis
0c3f5ae5e6 Add Deque container 2018-12-14 00:02:40 +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
62a72eadac Make possible to release allocated memory when clearing containers 2018-11-09 17:17:27 +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
5851ae5309 Fix issue in PoolAllocator: Use default base allocator instead of free() 2018-10-10 20:36:02 +02:00
Daniel Chappuis
f0fe97a41b Remove method to get last frame info from NarrowPhaseInfoBatch class 2018-10-10 20:33:42 +02:00
Daniel Chappuis
b62c0cf100 Fix issue in PoolAllocator: Use default base allocator instead of free() 2018-10-10 20:24:51 +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
dfa9a31a9e Merge branch 'ExternalFrameAllocator' of git://github.com/EmmeKappaErre/reactphysics3d into EmmeKappaErre-ExternalFrameAllocator 2018-09-26 10:50:48 +02:00
Mkr
ede45c4188 Add support for passing a single frame allocator from user code 2018-09-25 20:27:24 -07: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
Daniel Chappuis
a5ee98cbbe Merge branch 'PolygonVertexArrayConst' of git://github.com/EmmeKappaErre/reactphysics3d into EmmeKappaErre-PolygonVertexArrayConst 2018-09-11 07:28:41 +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
e780399e5b Merge master into develop and fix conflicts 2018-08-27 08:11:57 +02:00
Daniel Chappuis
7b14e13fe6 Fix bug with assert with joints 2018-08-22 18:35:53 +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
Mkr
fa1917a782 Explicitly use std::sqrt to avoid triggering ambiguous call errors when sqrt is defined in other namespaces 2018-08-14 22:24:15 -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
e2fdf8ae8e Fix compilation warnings 2018-07-21 23:07:16 +02:00
Daniel Chappuis
c186a35b2d Fix compilation error on GCC 7 2018-07-21 22:50:54 +02:00
Daniel Chappuis
14491c7eb3 Make comment more clear 2018-07-01 17:24:24 +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
15d9c29dd8 Fix linker error because of inline keyword 2018-05-31 20:06:33 +02:00
Daniel Chappuis
d15a41f0cc Fix issue with the list of contact manifolds of a CollisionBody that was not cleared 2018-05-30 11:08:34 +02:00
Daniel Chappuis
1c12ffe287 Fix compilation issue on Windows 10 with MINGW64 2018-05-29 21:53:59 +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
491702c05c Fix tests and fix compilation warnings 2018-04-16 18:52:02 +02:00
Daniel Chappuis
96c581ae9b Fix compilation warnings 2018-04-16 07:54:46 +02:00
Daniel Chappuis
e0c624205c Fix compilation warnings 2018-04-15 23:25:21 +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
1e4990ccbf Fix issue in Pair 2018-04-04 18:43:28 +02:00
Daniel Chappuis
fea3e44856 Fix memory leak in List, Map and Set 2018-04-04 18:37:24 +02:00
Daniel Chappuis
0307a1d9be Fix memory leaks in Map and Set 2018-04-04 07:31:49 +02:00
Daniel Chappuis
cea44dc235 Fix issue in List 2018-04-03 22:45:20 +02:00