Daniel Chappuis
b43f875cef
Improve GJK robustness for spheres by integrating the radius into the object margin
2013-03-03 16:24:46 +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
4346a16f62
Replace the 0 constant by the NULL pointer in CollisionDetection.cpp
2013-02-28 23:18:48 +01:00
Daniel Chappuis
db23fd0000
Merge branch 'develop' of https://code.google.com/p/reactphysics3d into develop
2013-02-28 22:40:06 +01:00
Daniel Chappuis
ef93134c79
Make some modifications in the mathematics library
2013-02-28 20:03:37 +01:00
Daniel Chappuis
31e6ed2d8a
Replace the 0 constant by NULL when using pointers
2013-02-28 19:50:52 +01:00
Daniel Chappuis
fe88e68e73
Improve robustness by using correct machine epsilon value test
2013-02-27 23:10:54 +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
aa236286de
Remove files
2013-02-19 23:16:48 +01:00
Daniel Chappuis
e84f6468c8
Clean the code
2013-02-19 23:16:20 +01:00
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
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
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
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
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
38a8969c63
Change of the directory structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@446 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:51:29 +00:00
chappuis.daniel
5620b6e12e
Change of the directory structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@445 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:25:44 +00:00
chappuis.daniel
58be3a3f3d
Change of the directory structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@444 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:15:16 +00:00
chappuis.daniel
4049f6ae3b
Add persistent contact caching in collision detection
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@443 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-10-18 22:03:05 +00:00
chappuis.daniel
c72bf4aeca
Continuation of the MemoryPool class
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@442 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-09-16 22:41:41 +00:00
chappuis.daniel
0c7269d5ba
Continuation of the MemoryPool class
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@441 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-09-08 21:24:50 +00:00
chappuis.daniel
10f46956b6
Use of platform specific time functions instead of clock() function to avoid cross-platform problems and for better accuracy
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@440 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-09-06 21:37:58 +00:00
chappuis.daniel
94e7153817
Add the PersistentContactCache and MemoryPool classes
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@439 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-09-03 11:58:42 +00:00
chappuis.daniel
6c6b6c6c86
Add a method to compute the inertia tensor from the collision shape of the rigid body
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@438 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-23 21:53:01 +00:00
chappuis.daniel
40ec21b398
Changes and optimizations in the Vector3 and Matrix3x3 classes
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@437 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-18 21:02:48 +00:00
chappuis.daniel
03557bbff6
Changes in the Contact class
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@436 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-10 16:49:38 +00:00
chappuis.daniel
d9452e727c
Use a quaternion instead of a matrix in the Transform
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@435 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-08 21:41:07 +00:00
chappuis.daniel
00b9fc45dc
Correction of a bug in collision detection and creation of new collision shapes
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@434 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-08-05 17:35:01 +00:00
chappuis.daniel
0de337cfe5
changes in the code structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@433 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-07-10 17:56:00 +00:00
chappuis.daniel
a04db140bf
changes in the code structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@432 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-07-10 17:31:19 +00:00
chappuis.daniel
5b30979de9
changes in the code structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@431 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-07-10 17:25:44 +00:00
chappuis.daniel
1d5a8e2491
Change the code structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@430 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-07-09 16:58:50 +00:00
chappuis.daniel
bd5d0fb230
Add Transform and changes in code design
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@429 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-06-30 20:25:34 +00:00
chappuis.daniel
bf8f9cf482
Add Transform and changes in code design
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@428 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-06-30 20:23:01 +00:00
chappuis.daniel
1e3543752f
Add ConeShape
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@427 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-06-30 20:12:37 +00:00
chappuis.daniel
23d0cd699f
Continuation of EPA algorithm
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@426 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-06-08 21:22:47 +00:00
chappuis.daniel
436bdaf255
Correction of a bug in EPA algorithm
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@425 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-05-25 23:04:48 +00:00
chappuis.daniel
867f940102
implementation of GJK and EPA collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@424 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-05-18 21:34:39 +00:00
chappuis.daniel
fce32c78e2
implementation of GJK and EPA collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@423 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-19 19:38:08 +00:00
chappuis.daniel
6a6f55b763
implementation of GJK and EPA collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@422 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-19 10:19:59 +00:00
chappuis.daniel
08ccec586a
implementation of GJK and EPA collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@421 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-18 10:36:29 +00:00
chappuis.daniel
cd5fda4396
implementation of GJK and EPA collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@420 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-11 14:51:09 +00:00
chappuis.daniel
3fd0610925
implementation of GJK and EPA collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@419 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-07 18:27:11 +00:00
chappuis.daniel
4ed45d43ed
implementation of GJK and EPA collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@418 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-07 15:09:45 +00:00
chappuis.daniel
844df20be0
Implementation of EPA Algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@417 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-07 14:51:54 +00:00
chappuis.daniel
fdbb661df5
implementation of GJK collision detection algorithm continued
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@416 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-02-01 11:03:54 +00:00
chappuis.daniel
2acf563508
Add the Simplex class
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@415 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-01-29 17:48:48 +00:00
chappuis.daniel
922a462f8c
Add the BoundingSphere class
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@414 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-01-18 09:43:06 +00:00
chappuis.daniel
38a7abe4b6
Update of the main header
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@411 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-01-14 16:04:18 +00:00
chappuis.daniel
22cde3cef5
Bug corrected (found by fadilo)
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@409 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2011-01-14 11:18:44 +00:00
chappuis.daniel
c57651a789
Several optimizations and cosmetic modifications
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@408 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-16 20:56:09 +00:00
chappuis.daniel
7762d3daca
Add the constants.h file
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@407 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-16 10:11:41 +00:00
chappuis.daniel
6b4e5c0fa2
Optimizations in the constraint solver
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@406 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-14 20:03:36 +00:00
chappuis.daniel
ddf602c125
Optimizations in the constraint solver
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@405 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-14 19:30:24 +00:00
chappuis.daniel
9fd3d8b598
Now we can use a single Contact for several contact points between two bodies
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@404 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-11 16:25:43 +00:00
chappuis.daniel
d035661e82
Change in the repository structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@402 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:41:01 +00:00
chappuis.daniel
dde4183d36
Change in the repository structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@401 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:39:00 +00:00
chappuis.daniel
a5276ddcbb
Change in the repository structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@400 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:35:18 +00:00
chappuis.daniel
869c48db42
Change in the repository structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@399 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:29:02 +00:00
chappuis.daniel
2b3b1bff0a
Change in the repository structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@398 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:27:01 +00:00
chappuis.daniel
587d2e0db2
Change in the repository structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@397 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:24:42 +00:00
chappuis.daniel
78ea7b891d
Change in the repository structure
...
git-svn-id: https://reactphysics3d.googlecode.com/svn/trunk@395 92aac97c-a6ce-11dd-a772-7fcde58d38e6
2010-09-09 22:06:57 +00:00