Commit Graph

170 Commits

Author SHA1 Message Date
7d71713bea store hull features on the stack 2018-04-19 19:42:37 -03:00
efae0fc202 use unsigned integers instead of integers in some collision code 2018-04-18 17:20:39 -03:00
75fe47b453 comment, bugfix, and simplification 2018-04-17 03:11:35 -03:00
28367b8108 add b3QHull object
b3QHull allows users to create hull shapes from a list of points quickly. Example usage:

vec3* points = 0;
uint count = create_points(points);

b3QHull hull;
hull.Set(points, count);
2018-04-17 01:58:36 -03:00
5e0a010881 cleanup quickhull 2018-04-17 01:53:36 -03:00
e5f49c53dd undo commit 2018-04-12 15:05:16 -03:00
f8bb0cfc27 enumerate aabb vertices 2018-04-12 15:00:00 -03:00
bd09b243c2 use mvc for the testbed, update almost all tests, bugfixes, improvements, cleanup
Since I started altering the testbed for better maintainability, I prefered to drop this (tested) large change with a single commit. Some changes below:

Put some globals in their correct place,

Now Testbed uses the MVC pattern (Model-View Controller). This way it becomes better to maintain than using no pattern  in my opinion.

Fixed some bugs in the debug draw interface.

Of course, updated almost all tests because of the differences.

Update script.
2018-04-10 00:57:14 -03:00
49f7b2f728 add tension mapping test 2018-04-08 21:38:09 -03:00
5342361a5d use gravity 2018-04-08 00:13:29 -03:00
54202454ea rename contact areas to contact polygons 2018-04-07 01:28:48 -03:00
0395904079 add comments 2018-04-06 16:32:19 -03:00
85c14fa887 comment b3MassData members 2018-04-05 21:27:28 -03:00
fecd622b92 rearrange input and output arguments 2018-04-03 23:01:26 -03:00
a8c2a48a6f add grid mesh for user convenience 2018-04-03 23:00:41 -03:00
6e0e269f68 add comments, correct typo, correct energy computation 2018-04-03 15:02:00 -03:00
c1a5d1b93f fix #34 2018-04-02 13:06:32 -03:00
40093fcf2f improve CG performance using CSR matrix format 2018-04-02 12:47:56 -03:00
aec685f736 add dense vector and sparse matrix 2018-04-02 12:46:56 -03:00
615d243b14 separate square from rectangular matrices 2018-04-02 12:45:54 -03:00
d36d6da3b4 fix #31 2018-03-28 15:06:21 -03:00
8c2df2f70c add a function to find barycentric coordinates wrt. triangle 2018-03-28 01:22:09 -03:00
e22ed9852a bugfixes and improvements
Bugfixes:

Simplify and correct one derivation of a second derivative of energy function.

Clear dynamic variables for static shapes

Invalidate contact for a particle when its type switches from dynamic to static

Improvements:

Allow user to apply force to a particle

Allow user to displace a particle

Compute kinetic energy

Store the mass of each particle, not only its inverse. It can improve performance because the solver needs the masses most of the time for computations

Add some code to find shared and non-shared edges. These algorithms don't work for non-manifold meshes

Remove some unecessary temporaries decreasing code readability
2018-03-28 01:08:19 -03:00
6ee9213d04 bugfix 2018-03-26 18:16:34 -03:00
a21d46ac64 add MCG without Jacobi preconditioning, delegate cloth solver to another class, ignore positive separation, improve contact handling, support different shapes
Specially, see b3SpringSolver.cpp for details.
2018-03-26 16:03:43 -03:00
3e55b28956 add collision detection routines for shape against sphere 2018-03-26 15:56:01 -03:00
be812ed897 add collision (no friction) 2018-03-24 02:21:31 -03:00
2cbf9b56ed add baraff and witkin's mass-spring-based cloth 2018-03-23 15:29:47 -03:00
5a80171744 improve contact clustering algorithm 2018-03-23 00:12:59 -03:00
3da2a25bd7 fix assert condition 2018-02-24 19:21:45 -03:00
c5eabe3b9c add a comment 2018-02-24 15:38:24 -03:00
dc73b414b3 bugfixes 2017-11-25 14:48:32 -02:00
cd32a1c515 restored a file from 81f744b805 2017-11-25 13:16:40 -02:00
11596e5162 Return array capacity 2017-11-12 20:21:22 -02:00
8986ea00eb typo 2017-06-06 16:04:49 -03:00
8503c356a6 improve static tree construction 2017-06-06 16:02:48 -03:00
8640a80914 clean up compiler warnings 2017-05-31 12:24:57 -03:00
c411bf341a add rope 2017-05-28 21:05:32 -03:00
e0d2580fa1 switch from global to local damping 2017-04-12 10:54:28 -03:00
7a438d0fba add function 2017-04-12 09:49:32 -03:00
bd69458750 rename function, remove indirection, fix bug 2017-04-11 16:35:18 -03:00
d082c59754 fix raycast 2017-04-11 11:58:33 -03:00
005d2bc117 fix last merge 2017-04-07 11:06:10 -03:00
3dee299ba9 Make B3_FORCE_INLINE compatible with non-VC++ compilers 2017-04-07 13:20:57 +01:00
0af16fae5a Include cstdlib to provide access to std::abs for integral types 2017-04-07 13:16:40 +01:00
acfd8ebbe8 rename interface and organize 2017-04-03 15:09:35 -03:00
a683052e4c remove unecessary gjk duplication 2017-03-26 13:27:02 -03:00
eec596fe95 add comment 2017-03-25 10:28:05 -03:00
8defab9945 fix a lot of issues, add gyroscopic force integrator, add contact polygon winding, add some quaternion constraints, add more tests 2017-03-24 18:49:41 -03:00
f99ba4e52f typo 2017-03-06 13:37:15 -03:00