Daniel Chappuis
54d8b8518e
Fix two issues in EPA Algorithm
2015-01-18 21:25:15 +01:00
Daniel Chappuis
c8a83768d5
Only compute narrow collisition test if at least one body is awake and not static
2014-12-31 01:47:50 +01:00
Daniel Chappuis
c15b83db4a
Add collision and raycast filtering using bits mask
2014-12-31 01:19:14 +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
2ab1aace7c
Raycast query now returns false if the body is not active
2014-11-29 17:05:53 +01:00
Daniel Chappuis
4ae7e7997a
Fix issues in surface normal computation in raycast method of ConeShape and BoxShape
2014-11-27 21:05:32 +01:00
Daniel Chappuis
5d2cf593b5
Remove the PairManager class
2014-11-21 21:38:17 +01:00
Daniel Chappuis
5f7af61593
-Remove unnecessary contact manifold
...
-Delete the BroadPhasePair class
2014-11-21 21:27:09 +01:00
Daniel Chappuis
2570d794c3
Fix issues in CollisionBody
2014-11-20 21:59:53 +01:00
Daniel Chappuis
ca660b5057
Replace some matrix multiplications by quaternion multiplications
2014-11-05 20:52:21 +01:00
Daniel Chappuis
3da146eb84
Implement world ray casting query
2014-11-04 22:38:40 +01:00
Daniel Chappuis
e9257ec56f
Change raycasting so that a ray is given by two points instead of a point and a direction
2014-10-21 22:26:40 +02:00
Daniel Chappuis
08e286d27c
Implement raycasting for cone shape
2014-10-08 21:38:40 +02:00
Daniel Chappuis
25c11c6d6a
Implement raycasting for capsule shape
2014-09-20 17:00:32 +02:00
Daniel Chappuis
78193d9b03
Small improvements in sphere and cylinder raycasting
2014-09-20 16:59:47 +02:00
Daniel Chappuis
188251afd4
Fix issue with raycasting in cylinder shape
2014-09-20 10:52:42 +02:00
Daniel Chappuis
c07a2dc9a2
Implement raycasting with cylinder shape
2014-09-19 22:53:40 +02:00
Daniel Chappuis
ebf13c3366
Use the standard library swap() function instead
2014-09-19 22:53:05 +02:00
Daniel Chappuis
a89b258418
Implement raycasting for the BoxShape
2014-09-08 23:19:07 +02:00
Daniel Chappuis
0dd55e716b
Implement raycasting with sphere shape
2014-09-04 22:32:29 +02:00
Daniel Chappuis
677c694109
Continue the implementation of convex shape raycasting
2014-09-02 22:54:19 +02:00
Daniel Chappuis
3c1b819fda
Implement the testPointInside() methods in the collision shapes
2014-08-09 10:28:37 +02:00
Daniel Chappuis
6c505377c5
Clean up the include statements
2014-08-07 21:38:31 +02:00
Daniel Chappuis
47b2eb457a
Allow the user to attach user data to a ProxyShape object
2014-08-04 22:57:24 +02:00
Daniel Chappuis
ab8656fc0b
Remove all the special proxy shapes to keep only the ProxyShape class
2014-08-04 22:46:58 +02:00
Daniel Chappuis
bd5668ed51
Work on the testPointInside() method
2014-08-01 12:36:32 +02:00
Daniel Chappuis
0faacdbd6b
Merge branch 'raycast' of https://github.com/DanielChappuis/reactphysicsd into raycast
2014-07-22 22:46:24 +02:00
Daniel Chappuis
5dd9ee826e
Add classes and tests for raycasting
2014-07-21 23:08:18 +02:00
Daniel Chappuis
1415bad00e
Small modifications
2014-07-09 23:45:19 +02:00
Daniel Chappuis
050b610d8c
Remove check() and checkNode() methods from DynamicAABBTree in release mode
2014-07-07 19:01:26 +02:00
Daniel Chappuis
a983026094
Inflate the AABB in direction of linear motion in Dynamic AABB tree
2014-07-03 00:13:30 +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
bc4de62e75
Fix issue in the collision detection for compound shapes
2014-06-10 23:37:11 +02:00
Daniel Chappuis
cbeeec21f3
fix issues in Dynamic AABB Tree and add compound shapes in the examples
2014-06-10 22:46:32 +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
76cb11a74f
Add the DynamicAABBTree class
2014-03-16 20:59:10 +01:00
Daniel Chappuis
d622e2ff17
Fix issue in the broad-phase pair manager
2013-11-21 23:26:19 +01: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
97b0903a9d
Modify comments
2013-09-25 00:11:23 +02:00
Daniel Chappuis
7ca5b88ce3
Fix compilation errors on Mac OS X and remove the compilation of freeglut from the CMake files
2013-09-12 22:45:43 +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
d2f7f6e28c
Release memory in the Sweep-And-Prune algorithm when several objects are removed from the world
2013-07-17 00:09:15 +02:00
Daniel Chappuis
828af79bcf
Fix issues in the Sweep-And-Prune algorithm (thanks Aleksi for reporting them) and handle the broad-phase world limits in a better way
2013-07-16 22:28:03 +02:00
Daniel Chappuis
ffd79a89e3
Add the convex mesh collision shape
2013-07-15 19:10:30 +02:00
Daniel Chappuis
c3f4355c25
Modify the method that return the bounds of a collision shape and make the getSupportPoint() methods non-const
2013-07-15 19:09:07 +02:00
Daniel Chappuis
88504bbb44
Add some description comments in the collision shapes
2013-07-10 00:22:40 +02:00
Daniel Chappuis
9d9142af30
Add the CapsuleShape class for the capsule collision shape
2013-07-10 00:18:55 +02:00
Daniel Chappuis
a3ca3598d5
Remove the margin gap for the BoxShape and make possible to choose the collision margin when creating a collision shape
2013-07-03 22:50:00 +02:00
Daniel Chappuis
84d946ac48
Modifications of the examples
2013-07-03 22:42:58 +02:00
Daniel Chappuis
ce0078c2a9
Implement the non-linear-gauss-seidel position error correction
2013-06-26 22:28:31 +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
c4eee4fb1f
Implement the Ball-And-Socket joint
2013-05-02 22:41:57 +02:00
Daniel Chappuis
ded465c105
Remove a file
2013-04-24 22:29:31 +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
16c6487796
Change #ifndef names in headers to avoid name collision with others libraries
2013-04-18 22:54:36 +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
17e976ab6c
Fix some compilations errors on Linux
2013-03-20 22:41:53 +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
04a31c696c
Add Doxygen documentation into the code
2013-03-05 23:09:50 +01:00
Daniel Chappuis
03cddcf568
Access std::map using find() method
2013-03-03 16:36:07 +01:00
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
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
e84f6468c8
Clean the code
2013-02-19 23:16:20 +01:00
Daniel Chappuis
2fc8beaa77
Fix two compilation errors
2012-12-11 23:09:54 +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
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
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
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
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
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
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
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
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
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