Commit Graph

1138 Commits

Author SHA1 Message Date
Daniel Chappuis
0695b30704 Make possible to solve the friction constraints at the center of the contact manifold 2013-02-16 16:14:04 +01:00
Daniel Chappuis
8cde68f5b9 Implement the split impulse technique for position correction 2013-01-31 22:42:11 +01:00
Daniel Chappuis
d546d8208f Use first friction vector in the direction of the tangential velocity 2013-01-27 10:38:41 +01:00
Daniel Chappuis
2d0da2cc1c Clean up the code and change the warmstart() method 2013-01-17 23:13:18 +01:00
Daniel Chappuis
9cf672c51c Don't use the contact.B_sp fields anymore in the solveLCP() method and fix bug with contact.r2CrossN that were not initialized in the constraint solver 2013-01-16 19:47:49 +01:00
Daniel Chappuis
5c941cf88b Continue to implement the Sequential Impulse solver 2013-01-16 13:23:37 +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
e4d47ded09 Change the way we solve the linear system 2012-12-30 12:45:06 +01:00
Daniel Chappuis
a70e0655c5 Use Vector3 type into the a[] array 2012-12-29 14:15:07 +01:00
Daniel Chappuis
f2f168f6c8 Change the way to compute the inverse constraint matrix K for the friction constraints 2012-12-29 00:05:44 +01:00
Daniel Chappuis
158c19541b Add methods to get the friction vectors of the contact 2012-12-26 02:18:51 +01:00
Daniel Chappuis
e64cac4571 Start to compute the inverse mass matrix K for the friction constraints 2012-12-26 02:15:49 +01:00
Daniel Chappuis
3872e9615c Use unit friction vectors 2012-12-25 17:35:52 +01:00
Daniel Chappuis
91d148e311 Change the way to compute the inverse constraint matrix K for the penetration constraint 2012-12-25 13:03:06 +01:00
Daniel Chappuis
c8d216aafe Use Vector3 inside the V1 array 2012-12-21 11:33:11 +01:00
Daniel Chappuis
d6b3b18aee Use vectors in the Vconstraint array 2012-12-21 11:00:13 +01:00
Daniel Chappuis
d615f9af12 Separate code for bodies initialization and contact constraints initialization 2012-12-21 08:39:21 +01:00
Daniel Chappuis
7172ee4843 Loop over the contact manifolds in the constraint solver 2012-12-16 16:57:15 +01:00
Daniel Chappuis
3259f54558 Add the ContactManifold file 2012-12-12 19:28:52 +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
2fc8beaa77 Fix two compilation errors 2012-12-11 23:09:54 +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
f47298d7eb Merge branch 'dynamicscollision' into develop 2012-10-03 22:40:24 +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
Daniel Chappuis
4c0c285174 Add the BroadPhasePair class 2012-09-26 23:07:40 +02:00
Daniel Chappuis
2ed2b2a54f Add the CollisionBody class 2012-09-18 22:09:49 +02:00
Daniel Chappuis
19f7925d47 Allow the MemoryPool class to start with zero allocated memory and grow when more memory is needed 2012-08-13 02:14:47 +02:00
Daniel Chappuis
fcac6457a7 Add documentation 2012-08-06 22:34:42 +02:00
Daniel Chappuis
29e5f2b7b4 Use the name CollisionShape instead of Collider for the collision shapes 2012-08-04 00:34:30 +02:00
Daniel Chappuis
c7faae9b20 Add the bodyindex type to represent the index number of a body 2012-08-02 23:33:56 +02:00
Daniel Chappuis
62823f3d43 Add the .gitignore file 2012-08-01 02:03:56 +02:00
Daniel Chappuis
bdf9acb54f Add the makefiles to the repository 2012-07-31 23:48:35 +02:00
chappuis.daniel
63f887dc07 Add the PairManager class
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@467 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-07-25 21:35:27 +00:00
chappuis.daniel
cd47b3e617 Implementation of the array-based Sweep-And-Prune broad-phase collision detection algorithm from Pierre Terdiman
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@466 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-07-25 21:31:57 +00:00
chappuis.daniel
b013204b3f Allocate the ContactInfo into a memory pool for better efficiency
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@465 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-28 21:03:30 +00:00
chappuis.daniel
b381388f87 Make possible to use a single collider for multiple rigid bodies
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@464 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-27 22:41:26 +00:00
chappuis.daniel
9333d0e690 Use a customize algorithm for Sphere vs Sphere collision detection instead of using GJK
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@463 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-25 22:57:27 +00:00
chappuis.daniel
ea2d922ae5 Remove the shapes folder
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@462 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-18 23:21:39 +00:00
chappuis.daniel
401a60b74a Rename shapes folder into colliders
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@461 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-18 23:17:44 +00:00
chappuis.daniel
c1eabd3e2b Add error correction using first world order projection (not active by default), change the Shape class into Collider class, add the new decimal type in order to easily switch between single and double precision
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@460 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2012-01-18 23:06:33 +00:00
chappuis.daniel
7efd553f37 Remove lcp folder
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@455 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-12-11 11:06:25 +00:00
chappuis.daniel
b82228d3ed Modifications before release
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@454 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-12-11 00:40:04 +00:00
chappuis.daniel
55c1168b5d Remove files that are not used anymore and rename the SweepAndPrune class
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@453 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-14 22:01:50 +00:00
chappuis.daniel
d762312d68 ReactPhysics3D is now under the ZLib license
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@452 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-13 17:49:03 +00:00
chappuis.daniel
29d9e60e93 Avoid negative penetration depth due to numerical errors in GJK algorithm
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@451 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-11 07:05:30 +00:00
chappuis.daniel
ab6865b3a1 Remove files that are not used anymore
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@450 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-10 23:54:42 +00:00
chappuis.daniel
5467e09020 Remove dynamic casting
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@449 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-10 23:21:45 +00:00
chappuis.daniel
9bfb44597f Optimization of the LCP Solver
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@448 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-11-09 20:18:32 +00:00
chappuis.daniel
f07bd457f8 Change of the directory structure
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@447 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:56:33 +00:00