107 Commits

Author SHA1 Message Date
Irlan
fecd622b92 rearrange input and output arguments 2018-04-03 23:01:26 -03:00
Irlan
a8c2a48a6f add grid mesh for user convenience 2018-04-03 23:00:41 -03:00
Irlan
6e0e269f68 add comments, correct typo, correct energy computation 2018-04-03 15:02:00 -03:00
Irlan
c1a5d1b93f fix #34 2018-04-02 13:06:32 -03:00
Irlan
40093fcf2f improve CG performance using CSR matrix format 2018-04-02 12:47:56 -03:00
Irlan
aec685f736 add dense vector and sparse matrix 2018-04-02 12:46:56 -03:00
Irlan
615d243b14 separate square from rectangular matrices 2018-04-02 12:45:54 -03:00
Irlan
d36d6da3b4 fix #31 2018-03-28 15:06:21 -03:00
Irlan
8c2df2f70c add a function to find barycentric coordinates wrt. triangle 2018-03-28 01:22:09 -03:00
Irlan
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
Irlan
6ee9213d04 bugfix 2018-03-26 18:16:34 -03:00
Irlan
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
Irlan
3e55b28956 add collision detection routines for shape against sphere 2018-03-26 15:56:01 -03:00
Irlan
be812ed897 add collision (no friction) 2018-03-24 02:21:31 -03:00
Irlan
2cbf9b56ed add baraff and witkin's mass-spring-based cloth 2018-03-23 15:29:47 -03:00
Irlan
5a80171744 improve contact clustering algorithm 2018-03-23 00:12:59 -03:00
Irlan Robson
3da2a25bd7 fix assert condition 2018-02-24 19:21:45 -03:00
Irlan Robson
c5eabe3b9c
add a comment 2018-02-24 15:38:24 -03:00
Irlan
dc73b414b3 bugfixes 2017-11-25 14:48:32 -02:00
Irlan
cd32a1c515 restored a file from 81f744b805ce4207cb69863b74edf1a817c44fb7 2017-11-25 13:16:40 -02:00
Irlan Robson
11596e5162
Return array capacity 2017-11-12 20:21:22 -02:00
Irlan
8986ea00eb typo 2017-06-06 16:04:49 -03:00
Irlan
8503c356a6 improve static tree construction 2017-06-06 16:02:48 -03:00
Irlan
8640a80914 clean up compiler warnings 2017-05-31 12:24:57 -03:00
Irlan
c411bf341a add rope 2017-05-28 21:05:32 -03:00
Irlan
e0d2580fa1 switch from global to local damping 2017-04-12 10:54:28 -03:00
Irlan
7a438d0fba add function 2017-04-12 09:49:32 -03:00
Irlan
bd69458750 rename function, remove indirection, fix bug 2017-04-11 16:35:18 -03:00
Irlan
d082c59754 fix raycast 2017-04-11 11:58:33 -03:00
Irlan
005d2bc117 fix last merge 2017-04-07 11:06:10 -03:00
Luke Benstead
3dee299ba9 Make B3_FORCE_INLINE compatible with non-VC++ compilers 2017-04-07 13:20:57 +01:00
Luke Benstead
0af16fae5a Include cstdlib to provide access to std::abs for integral types 2017-04-07 13:16:40 +01:00
Irlan
acfd8ebbe8 rename interface and organize 2017-04-03 15:09:35 -03:00
Irlan
a683052e4c remove unecessary gjk duplication 2017-03-26 13:27:02 -03:00
Irlan
eec596fe95 add comment 2017-03-25 10:28:05 -03:00
Irlan
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
Irlan
f99ba4e52f typo 2017-03-06 13:37:15 -03:00
Irlan
c581dee66e fix capsule to hull contact generation, add weld joint with an alternative constraint model 2017-03-06 13:34:24 -03:00
Irlan
edd29d729a finish SAT optimization, calculate correct old sweep transform, remove unecessary static body transform update 2017-03-01 23:42:48 -03:00
Irlan
5cc72c5940 centralize profiler declaration 2017-02-28 20:47:45 -03:00
Irlan
71ee97aaa0 add hello world example and edit source tree 2017-02-27 18:59:58 -03:00
Irlan
ed0159f4b5 remove unused functions 2017-02-27 10:47:40 -03:00
Irlan
091c99b5cf fix hull mass data calculation and make it more robust, bugfixes 2017-02-27 02:06:33 -03:00
Irlan
689425d9ef add event profiler, json profile dump, cleanup 2017-02-24 20:11:49 -03:00
Irlan
e1038cfb31 minor changes 2017-02-19 08:23:08 -03:00
Irlan
875cc5316b fix capsule drawing, add quaternion convenience functions 2017-02-18 18:34:17 -02:00
Irlan
012460f6b0 improve segment vs segment collision, small fixes 2017-02-17 13:52:24 -02:00
Irlan
a346a1472d improve friction quality, add shader-only support, improve debug drawing facilities, fix couple things 2017-02-07 14:31:52 -02:00
Irlan
d59b67c3c3 fix mesh size, decouple mesh topology from geometry, add polygon triangulation to make mass calculation O(n) in memory 2017-02-02 14:02:54 -02:00
Irlan
4f18e46268 add bending constraint, fix typos 2017-01-23 16:46:20 -02:00