|
@@ -31,6 +31,21 @@ const char *__doc_igl_active_set = R"igl_Qu8mg5v7(// Known Bugs: rows of [Aeq;Ai
|
|
|
// Benchmark: For a harmonic solve on a mesh with 325K facets, matlab 2.2
|
|
|
// secs, igl/min_quad_with_fixed.h 7.1 secs
|
|
|
//)igl_Qu8mg5v7";
|
|
|
+const char *__doc_igl_adjacency_list = R"igl_Qu8mg5v7(// Constructs the graph adjacency list of a given mesh (V,F)
|
|
|
+ // Templates:
|
|
|
+ // T should be a eigen sparse matrix primitive type like int or double
|
|
|
+ // Inputs:
|
|
|
+ // F #F by dim list of mesh faces (must be triangles)
|
|
|
+ // sorted flag that indicates if the list should be sorted counter-clockwise
|
|
|
+ // Outputs:
|
|
|
+ // A vector<vector<T> > containing at row i the adjacent vertices of vertex i
|
|
|
+ //
|
|
|
+ // Example:
|
|
|
+ // // Mesh in (V,F)
|
|
|
+ // vector<vector<double> > A;
|
|
|
+ // adjacency_list(F,A);
|
|
|
+ //
|
|
|
+ // See also: edges, cotmatrix, diag)igl_Qu8mg5v7";
|
|
|
const char *__doc_igl_arap_precomputation = R"igl_Qu8mg5v7(// Compute necessary information to start using an ARAP deformation
|
|
|
//
|
|
|
// Inputs:
|
|
@@ -78,10 +93,10 @@ const char *__doc_igl_barycentric_coordinates = R"igl_Qu8mg5v7(// Compute baryce
|
|
|
// )igl_Qu8mg5v7";
|
|
|
const char *__doc_igl_barycentric_to_global = R"igl_Qu8mg5v7(// Converts barycentric coordinates in the embree form to 3D coordinates
|
|
|
// Embree stores barycentric coordinates as triples: fid, bc1, bc2
|
|
|
- // fid is the id of a face, bc1 is the displacement of the point wrt the
|
|
|
+ // fid is the id of a face, bc1 is the displacement of the point wrt the
|
|
|
// first vertex v0 and the edge v1-v0. Similarly, bc2 is the displacement
|
|
|
// wrt v2-v0.
|
|
|
- //
|
|
|
+ //
|
|
|
// Input:
|
|
|
// V: #Vx3 Vertices of the mesh
|
|
|
// F: #Fxe Faces of the mesh
|
|
@@ -89,6 +104,7 @@ const char *__doc_igl_barycentric_to_global = R"igl_Qu8mg5v7(// Converts barycen
|
|
|
//
|
|
|
// Output:
|
|
|
// #X: #Xx3 3D coordinates of all points in bc)igl_Qu8mg5v7";
|
|
|
+
|
|
|
const char *__doc_igl_bbw = R"igl_Qu8mg5v7(// Compute Bounded Biharmonic Weights on a given domain (V,Ele) with a given
|
|
|
// set of boundary conditions
|
|
|
//
|
|
@@ -650,12 +666,12 @@ const char *__doc_igl_get_seconds = R"igl_Qu8mg5v7(// Return the current time in
|
|
|
// ... // part 2
|
|
|
// cout<<"part 2: "<<tictoc()<<endl;
|
|
|
// ... // etc)igl_Qu8mg5v7";
|
|
|
-const char *__doc_igl_grad = R"igl_Qu8mg5v7(// Gradient of a scalar function defined on piecewise linear elements (mesh)
|
|
|
- // is constant on each triangle [tetrahedron] i,j,k:
|
|
|
- // grad(Xijk) = (Xj-Xi) * (Vi - Vk)^R90 / 2A + (Xk-Xi) * (Vj - Vi)^R90 / 2A
|
|
|
- // where Xi is the scalar value at vertex i, Vi is the 3D position of vertex
|
|
|
- // i, and A is the area of triangle (i,j,k). ^R90 represent a rotation of
|
|
|
- // 90 degrees
|
|
|
+const char *__doc_igl_grad = R"igl_Qu8mg5v7(// Gradient of a scalar function defined on piecewise linear elements (mesh)
|
|
|
+ // is constant on each triangle [tetrahedron] i,j,k:
|
|
|
+ // grad(Xijk) = (Xj-Xi) * (Vi - Vk)^R90 / 2A + (Xk-Xi) * (Vj - Vi)^R90 / 2A
|
|
|
+ // where Xi is the scalar value at vertex i, Vi is the 3D position of vertex
|
|
|
+ // i, and A is the area of triangle (i,j,k). ^R90 represent a rotation of
|
|
|
+ // 90 degrees
|
|
|
//)igl_Qu8mg5v7";
|
|
|
const char *__doc_igl_harmonic = R"igl_Qu8mg5v7(// Compute k-harmonic weight functions "coordinates".
|
|
|
//
|
|
@@ -839,12 +855,14 @@ const char *__doc_igl_min_quad_with_fixed_precompute = R"igl_Qu8mg5v7(// Known B
|
|
|
// they're not then resulting probably will no longer be sparse: it will be
|
|
|
// slow.
|
|
|
//
|
|
|
- // MIN_QUAD_WITH_FIXED Minimize quadratic energy
|
|
|
+ // MIN_QUAD_WITH_FIXED Minimize a quadratic energy of the form
|
|
|
//
|
|
|
- // 0.5*Z'*A*Z + Z'*B + C with
|
|
|
+ // trace( 0.5*Z'*A*Z + Z'*B + constant )
|
|
|
//
|
|
|
- // constraints that Z(known) = Y, optionally also subject to the constraints
|
|
|
- // Aeq*Z = Beq
|
|
|
+ // subject to
|
|
|
+ //
|
|
|
+ // Z(known,:) = Y, and
|
|
|
+ // Aeq*Z = Beq
|
|
|
//
|
|
|
// Templates:
|
|
|
// T should be a eigen matrix primitive type like int or double
|
|
@@ -870,12 +888,12 @@ const char *__doc_igl_min_quad_with_fixed_solve = R"igl_Qu8mg5v7(// Solves a sys
|
|
|
// DerivedZ type of Z (e.g. derived from VectorXd or MatrixXd)
|
|
|
// Inputs:
|
|
|
// data factorization struct with all necessary precomputation to solve
|
|
|
- // B n by 1 column of linear coefficients
|
|
|
- // Y b by 1 list of constant fixed values
|
|
|
- // Beq m by 1 list of linear equality constraint constant values
|
|
|
+ // B n by k column of linear coefficients
|
|
|
+ // Y b by k list of constant fixed values
|
|
|
+ // Beq m by k list of linear equality constraint constant values
|
|
|
// Outputs:
|
|
|
- // Z n by cols solution
|
|
|
- // sol #unknowns+#lagrange by cols solution to linear system
|
|
|
+ // Z n by k solution
|
|
|
+ // sol #unknowns+#lagrange by k solution to linear system
|
|
|
// Returns true on success, false on error)igl_Qu8mg5v7";
|
|
|
const char *__doc_igl_min_quad_with_fixed = R"igl_Qu8mg5v7(See min_quad_with_fixed for the documentation.)igl_Qu8mg5v7";
|
|
|
const char *__doc_igl_n_polyvector = R"igl_Qu8mg5v7(// Inputs:
|