MEPP2 Project
Classes | Namespaces | Functions
curvature.hpp File Reference
#include <set>
#include <stack>
#include <cmath>
#include <Eigen/Dense>
#include <boost/graph/graph_traits.hpp>
#include <boost/graph/properties.hpp>
#include <CGAL/boost/graph/iterator.h>
#include <CGAL/boost/graph/helpers.h>
#include "eigen_val_vect.hpp"
#include "FEVV/Wrappings/Geometry_traits.h"
#include "FEVV/Tools/Math/MatrixOperations.hpp"
#include "FEVV/Operators/Geometry/AngleOperations.hpp"
#include "FEVV/Operators/Geometry/ClippingAndIntersection.hpp"
#include "FEVV/Operators/Geometry/triangles.hpp"
Include dependency graph for curvature.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FEVV::Filters::v_Curv< HalfedgeGraph, GeometryTraits >
 

Namespaces

 FEVV
 Interfaces for plugins These interfaces will be used for different plugins.
 
 FEVV::Filters
 

Functions

template<typename HalfedgeGraph , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >>
double FEVV::Filters::fabs (const v_Curv< HalfedgeGraph > &input)
 
template<typename HalfedgeGraph , typename PointMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >>
double FEVV::Filters::triangle_area (const HalfedgeGraph &g, const PointMap &pm, typename boost::graph_traits< HalfedgeGraph >::face_descriptor fd, const GeometryTraits &gt)
 
template<typename HalfedgeGraph , typename PointMap , typename FaceNormalMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >, typename GraphTraits = boost::graph_traits< HalfedgeGraph >, typename VertexDescriptor = typename GraphTraits::vertex_descriptor>
void FEVV::Filters::principal_curvature_per_vert (const HalfedgeGraph &g, const PointMap &pm, const FaceNormalMap &f_nm, VertexDescriptor vd, double pp_matrix_sum[3][3], const GeometryTraits &gt)
 
template<typename HalfedgeGraph , typename PointMap , typename FaceNormalMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >, typename GraphTraits = boost::graph_traits< HalfedgeGraph >, typename VertexDescriptor = typename GraphTraits::vertex_descriptor>
void FEVV::Filters::geodes_principal_curvature_per_vert (const HalfedgeGraph &g, const PointMap &pm, const FaceNormalMap &f_nm, VertexDescriptor vd, double pp_matrix_sum[3][3], double radius, const GeometryTraits &gt)
 
template<typename HalfedgeGraph , typename VertexCurvatureMap , typename PointMap , typename FaceNormalMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >>
void FEVV::Filters::calculate_curvature (const HalfedgeGraph &g, VertexCurvatureMap &v_cm, const PointMap &pm, const FaceNormalMap &f_nm, bool is_geod, double radius, double &min_nrm_min_curvature, double &max_nrm_min_curvature, double &min_nrm_max_curvature, double &max_nrm_max_curvature, const GeometryTraits &gt)
 Calculate the curvature for a mesh. More...
 
template<typename HalfedgeGraph , typename VertexCurvatureMap , typename PointMap , typename FaceNormalMap , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >>
void FEVV::Filters::calculate_curvature (const HalfedgeGraph &g, VertexCurvatureMap &v_cm, const PointMap &pm, const FaceNormalMap &f_nm, bool is_geod, double radius, double &min_nrm_min_curvature, double &max_nrm_min_curvature, double &min_nrm_max_curvature, double &max_nrm_max_curvature)
 Calculate the curvature for a mesh. More...