|
Lagrange
|
Polygonal Discrete Differential Geometry (PolyDDG) algorithms and data structures. More...
Classes | |
| struct | PrincipalCurvaturesOptions |
| Options for compute_principal_curvatures(). More... | |
| struct | PrincipalCurvaturesResult |
| Result of compute_principal_curvatures(). More... | |
| class | DifferentialOperators< Scalar, Index > |
| Polygonal mesh discrete differential operators. More... | |
Functions | |
| template<typename Scalar, typename Index> | |
| LA_POLYDDG_API PrincipalCurvaturesResult | compute_principal_curvatures (SurfaceMesh< Scalar, Index > &mesh, const DifferentialOperators< Scalar, Index > &ops, PrincipalCurvaturesOptions options={}) |
| Compute per-vertex principal curvatures and principal curvature directions. | |
| template<typename Scalar, typename Index> | |
| LA_POLYDDG_API PrincipalCurvaturesResult | compute_principal_curvatures (SurfaceMesh< Scalar, Index > &mesh, PrincipalCurvaturesOptions options={}) |
| Compute per-vertex principal curvatures and principal curvature directions. | |
Polygonal Discrete Differential Geometry (PolyDDG) algorithms and data structures.
This module is based on the paper "Discrete Differential Operators on Polygonal Meshes" by de Goes et al. [1]. It provides common discrete differential operators to manipulate differential forms and vector fields on polygonal meshes.
[1] De Goes, Fernando, Andrew Butts, and Mathieu Desbrun. "Discrete differential operators on polygonal meshes." ACM Transactions on Graphics (TOG) 39.4 (2020): 110-1.
| LA_POLYDDG_API PrincipalCurvaturesResult compute_principal_curvatures | ( | SurfaceMesh< Scalar, Index > & | mesh, |
| const DifferentialOperators< Scalar, Index > & | ops, | ||
| PrincipalCurvaturesOptions | options = {} ) |
#include <lagrange/polyddg/compute_principal_curvatures.h>
Compute per-vertex principal curvatures and principal curvature directions.
Performs an eigendecomposition of the adjoint shape operator at each vertex. The two eigenvalues are the principal curvatures (kappa_min <= kappa_max) and the corresponding eigenvectors, mapped back to 3-D through the vertex tangent basis, are the principal directions. Results are stored as vertex attributes in the mesh.
| [in,out] | mesh | Input surface mesh. Output attributes are added or overwritten. |
| [in] | ops | Precomputed differential operators for the mesh. |
| [in] | options | Attribute name options. Defaults produce attributes named @kappa_min, @kappa_max, @principal_direction_min, @principal_direction_max. |
| LA_POLYDDG_API PrincipalCurvaturesResult compute_principal_curvatures | ( | SurfaceMesh< Scalar, Index > & | mesh, |
| PrincipalCurvaturesOptions | options = {} ) |
#include <lagrange/polyddg/compute_principal_curvatures.h>
Compute per-vertex principal curvatures and principal curvature directions.
Convenience overload that constructs a DifferentialOperators object internally.
| [in,out] | mesh | Input surface mesh. Output attributes are added or overwritten. |
| [in] | options | Attribute name options. |