// Precalculate the polyvector LDLt solvers. Must be recalculated whenever
// bc changes or the mesh changes.
// Precalculate the operators according to the user-prescribed parameters. Must be called whenever any of them changes
// Inputs:
// V: #V by 3 vertex coordinates.
// F: #F by 3 face vertex indices.
...
...
@@ -59,10 +66,9 @@ namespace directional
// EF: #E by 2 matrix of oriented adjacent faces
// B1, B2: #F by 3 matrices representing the local base of each face.
// bc: The face ids where the pv is prescribed.
// N: The degree of the field.
// PolyVectorData (must fill constFaces, N, wSmooth, wOrth, wAlignment; lapType is default BARYCENTRIC and signSymmetry is "true"): User parameters for the requested variation of the algorithm.
// Outputs:
// solver: with prefactorized left-hand side
// AFull, AVar: The resulting left-hand side matrices
// PolyVectorData: Updated structure with all operators
dualLength=(faceCenter.row(EF(i,0))-midEdge).norm()+(faceCenter.row(EF(i,1))-midEdge).norm();//TODO: that's only an approximation of barycentric height...