Only optionally do the force cutoff thing
The scaling is still very off - bunny worked fine with the previous
cutoff, but fertility did not.
Printing and mesh evaluation continues
Fix sphere sampling function, and take iteration count from cmdline
Somewhat working evaluate
Refactor geom.proc from viewing
This in order to make `evaluate.cpp`, with which we try to find good
Automate updating rest state after ARAP loop if converge
Add screenshot with antialiasing
Somehow, the anti aliasing with GLFW doesn't work (also doesn't work
with a clean GLFW project - weird opengl driver on linux?) Since we just
wanted nice screenshots anyways, this is a decent workaround.
Use colors for force magnitude instead of lengths
Add floater for force scale
Fix NaN case where removal dir and face normal were oposite
Intersect with the first triangle, and set force to a vertex
Not sure the vertex is really what we want, but here it is..
Implement ray collision checking
It's _very_ slow, but this is probably fixable using some acceleration
structure for the mesh. Do we have time for this?
Add Update Rest State button
Try to just compute a bunch of stuff for the model when we have deformed
the vertices, such as normals, dot products, and so on. It's still a bit
wonky, since we have to call the `compute_things ` proc after `step_arap`;
maybe we might as well put it inside.
In addition, initialization is a little brittle. It's very possible that
taking explicit arguments instead of using globals help out this.
Flush out framework for force computation.
Should get something going pretty soon so we can see how it behaves
Just move closest along `drag_dir`.
This sort of works, but must be scaled correctly. Also, tried to just
remesh to forget about self intersections, but that didn't work out.
Perhaps there's a tetgen option to fix that.
Format and comment.
I don't think the way we've attempted here is any good, though I'm sure
there's something wrong with the impl as well, since only 2/3 vertices
is supposed to move.
Make progress on forcing moldability
Some, instead of making the faces more moldable we're only translating
the problematic faces. Idk why.