MSDM
 All Classes Namespaces Files Functions Variables Typedefs Pages
normal_cycle.h
1 #ifndef NORMAL_CYCLE_H
2 #define NORMAL_CYCLE_H
3 
4 #include "Header.h"
5 #include <set>
6 #include <stack>
7 #include <Eigen/Eigenvalues>
8 
16 namespace NormalCycle
17 {
27  mwSize principal_curvatures(Polyhedron &pMesh, const MSDM_options& options);
28 
36  inline bool normal_cycle_1ring(Polyhedron::Vertex_const_handle pVertex, Eigen::Matrix3d& CovMat);
37 
48  inline bool normal_cycle_patch(Polyhedron::Vertex_const_handle pVertex,
49  Eigen::Matrix3d& CovMat, double radius);
50 
70  inline bool tensor2Curvatures(Polyhedron::Vertex_handle& pVertex, const Eigen::Matrix3d& CovMat, double radius = 1);
71 }
72 
73 #endif
bool normal_cycle_1ring(Polyhedron::Vertex_const_handle pVertex, Eigen::Matrix3d &CovMat)
tensor for a vertex using 1-ring neighborhood.
Definition: normal_cycle.cpp:114
Estimation of principale curvatures based on the normal cycle.
Definition: normal_cycle.h:16
Structure that contains all the parameters of the MSDM estimation.
Definition: Header.h:64
bool normal_cycle_patch(Polyhedron::Vertex_const_handle pVertex, Eigen::Matrix3d &CovMat, double radius)
tensor for a vertex using patch neighborhood.
Definition: normal_cycle.cpp:147
mwSize principal_curvatures(Polyhedron &pMesh, const MSDM_options &options)
principal curvature for all vertices.
Definition: normal_cycle.cpp:13
Polyhedron class for the MSDM computation.
Definition: enriched_polyhedron.h:189
Header for all procedures.
bool tensor2Curvatures(Polyhedron::Vertex_handle &pVertex, const Eigen::Matrix3d &CovMat, double radius=1)
Estimate curvatures from tensor.
Definition: normal_cycle.cpp:80