Commit Graph

123 Commits

Author SHA1 Message Date
Daniel Chappuis
8b82c4ac81 Refactor the way to create the contact manifolds and contact points 2017-07-30 22:14:46 +02:00
Daniel Chappuis
4a97c2ca97 Refactor collision detection 2017-01-08 19:56:59 +01:00
Daniel Chappuis
d04cee7d0a Change the way to iterate over contacts 2016-10-16 15:40:38 +02:00
Daniel Chappuis
25fddd6fb2 Back to previous contact solver 2016-10-08 01:18:56 +02:00
Daniel Chappuis
c597815191 Remove unecessary variables in constraints and cache inverse inertia world tensor of bodies 2016-09-26 22:51:30 +02:00
Daniel Chappuis
8f4979f4a2 Allocate memory in the SingleFrameAllocator in the update() method 2016-09-22 23:24:03 +02:00
Daniel Chappuis
e014f00afc Refactor memory allocator and refactor contact solver 2016-09-21 22:03:45 +02:00
Daniel Chappuis
b4f13308de Optimize warmstarting in contact solver 2016-09-13 22:58:17 +02:00
Daniel Chappuis
e069a25f08 Start refactoring the contact solver 2016-09-10 11:18:52 +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
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
63fb6261a3 Fix issue with linear/angular damping 2016-03-20 22:53:05 +01:00
Daniel Chappuis
d6580f94aa Fix conflicts when merging triangularmeshes into develop 2016-02-15 20:14:30 +01:00
Daniel Chappuis
c3c9a5c38c Remove contact manifolds that do not have contact points anymore after manifold update 2015-10-19 06:55:35 +02:00
Daniel Chappuis
85c6a2eaf5 Return manifold set by reference and not by pointer 2015-10-15 07:48:28 +02:00
Daniel Chappuis
ec5e41c19e Add ContactManifoldSet to allow several ContactManifolds per overlapping pair 2015-10-08 21:28:37 +02:00
Colin
87b88fc953 Merge branch 'develop' of https://www.github.com/DanielChappuis/reactphysics3d into develop 2015-08-26 04:01:18 -06:00
Colin
1468f8f13c Replace dynamic_cast with static_cast 2015-08-24 13:36:30 -06:00
Daniel Chappuis
345afc1a1d Destroy bodies and joints in the destructor of CollisionWorld and DynamicsWorld 2015-08-13 07:19:15 +02:00
Daniel Chappuis
a4e28ddcf1 Add getContactsList() method to DynamicsWorld 2015-08-11 18:32:06 +02:00
Daniel Chappuis
6279867964 Remove the use of the old transform variable in CollisionBody 2015-06-16 22:46:43 +02:00
Daniel Chappuis
b8192db3ef Fix compilation error in DynamicsWorld 2015-04-20 23:22:22 +02:00
Daniel Chappuis
fb90eac003 The time accumulator and frame interpolation should now be done outside the physics engine 2015-04-18 18:33:25 +02:00
Daniel Chappuis
3aaac820e0 Fix compilation error on Visual Studio 2013 2015-04-08 22:10:34 +02:00
Daniel Chappuis
6679bb27bc Changes for the next release 2015-02-15 21:56:45 +01:00
Daniel Chappuis
3a8e69654f Add Doxygen documentation 2015-02-12 22:31:26 +01:00
Daniel Chappuis
c56557898f Small modifications 2015-02-09 22:37:36 +01:00
Daniel Chappuis
0b3abacb3c Fix possible memory leaks 2015-02-07 14:15:05 +01:00
Daniel Chappuis
bb0da781a7 Fix compilation warnings 2015-02-01 01:09:58 +01:00
Daniel Chappuis
68958d0ed1 Add internal physics tick callback methods in EventListener class 2015-01-20 22:17:40 +01:00
Daniel Chappuis
aae4da54d0 Add methods to test collision and AABB overlap in physics world 2014-12-28 00:54:34 +01:00
Daniel Chappuis
5f7af61593 -Remove unnecessary contact manifold
-Delete the BroadPhasePair class
2014-11-21 21:27:09 +01:00
Daniel Chappuis
1415bad00e Small modifications 2014-07-09 23:45:19 +02:00
Daniel Chappuis
3aa05ef61a Fix issues and add conversion from Euler angles to Quaternion 2014-06-24 23:31:13 +02:00
Daniel Chappuis
aa76c85e60 continue to replace SAP broad-phase by a dynamic AABB tree 2014-05-15 06:39:39 +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
1812402617 Add support for the different body types (static, kinematic, dynamic) 2013-11-21 23:24:11 +01:00
Daniel Chappuis
b5ae655b0a Add comments, modify method names, change solver nb of iterations, ... 2013-09-27 18:43:45 +02:00
Daniel Chappuis
07df001e8b Add the EventListener class 2013-09-10 21:33:52 +02:00
Daniel Chappuis
d4c7eee175 Rename the Constraint class into Joint and do not perform collision detection between two sleeping bodies 2013-09-07 10:57:58 +02:00
Daniel Chappuis
8db7823433 Continue to implement the sleeping technique 2013-09-03 19:30:43 +02:00
Daniel Chappuis
475ec5be5f Iterate over the islands to solve the contacts and joints 2013-08-31 19:03:21 +02:00
Daniel Chappuis
f1d29b5123 Implement the islands computation 2013-08-26 21:28:48 +02:00
Daniel Chappuis
2e6f571b98 Implement linear and angular velocity damping 2013-08-06 20:51:56 +02:00
Daniel Chappuis
d58db2e6f2 Remove the gravity from the rigid body external force and allow the user to enable/disable the gravity for each body 2013-06-27 19:53:13 +02:00
Daniel Chappuis
ce0078c2a9 Implement the non-linear-gauss-seidel position error correction 2013-06-26 22:28:31 +02:00
Daniel Chappuis
1c0726d9d6 Add the fixed joint 2013-06-12 20:43:54 +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
b87f981827 Start working on the slider joint 2013-05-08 23:33:04 +02:00
Daniel Chappuis
da78e5d79a Modifications in the BallAndSocketJoint to make it work 2013-05-04 09:20:53 +02:00
Daniel Chappuis
af2fcaeb82 Fix two issues 2013-05-02 23:55:10 +02:00
Daniel Chappuis
0071ed16a8 Add comments in the dynamics world code 2013-05-02 22:51:31 +02:00
Daniel Chappuis
fdda0b26a9 Modify the contact solver so that its main loop is outside the solver 2013-04-25 22:34:20 +02:00
Daniel Chappuis
2b2143d41e Continue the implementation of the constraint solver 2013-04-24 19:24:28 +02:00
Daniel Chappuis
f692f7ef12 Allocate memory for the collision shapes inside the physics engine 2013-04-22 21:25:40 +02:00
Daniel Chappuis
e03888ea25 Finish the implementation of the memory allocator 2013-04-01 23:43:50 +02:00
Daniel Chappuis
f479c5edf3 Finish the implementation of the profiler 2013-03-26 21:37:55 +01:00
Daniel Chappuis
f38803d75a Fix some warnings 2013-03-17 17:07:09 +01:00
Daniel Chappuis
dac5a2729a Do not compute the AABB of a sphere by rotating its extents 2013-03-14 22:47:59 +01:00
Daniel Chappuis
03cddcf568 Access std::map using find() method 2013-03-03 16:36:07 +01:00
Daniel Chappuis
5a373cf27b Clean the code and modify the date in the license text 2013-03-02 16:26:18 +01:00
Daniel Chappuis
31e6ed2d8a Replace the 0 constant by NULL when using pointers 2013-02-28 19:50:52 +01:00
Daniel Chappuis
cdc384db68 Make possible to access Vector3 members by using x,y and z instead of getX(), getY() and getZ() 2013-02-27 22:10:10 +01:00
Daniel Chappuis
a362171532 Clean the code of the sequential impulse contact solver 2013-02-26 22:43:45 +01:00
Daniel Chappuis
9e499be150 Move the constrained velocities outside the contact solver 2013-02-26 08:15:58 +01:00
Daniel Chappuis
e84f6468c8 Clean the code 2013-02-19 23:16:20 +01:00
Daniel Chappuis
8cde68f5b9 Implement the split impulse technique for position correction 2013-01-31 22:42:11 +01:00
Daniel Chappuis
1bcec415a1 Continue to transform PGS solver into the sequential impulse solver 2013-01-06 19:28:56 +01:00
Daniel Chappuis
5e997f1c5c Add the class Contact that contains the contact points between two bodies 2012-12-12 08:19:03 +01:00
Daniel Chappuis
a0800ac33d Start to replace PGS solver by sequential impulse and improve of persistent contact cache 2012-12-10 07:52:57 +01:00
Daniel Chappuis
4ca42f9392 Clean the code :
- Use the mVariable syntax for member variables
- Every lines contain at most 100 characters
- Add private copy-constructor and assignment operators when needed
2012-10-09 22:21:02 +02:00
Daniel Chappuis
fc37d40bbb Remove the PhysicsEngine and PhysicsWorld classes and add the CollisionWorld and DynamicsWorld classes 2012-10-03 21:00:17 +02:00