MEPP2 Project
Namespaces | Functions
msdm2.h File Reference
#include "FEVV/DataStructures/DataStructures_cgal_surface_mesh.h"
#include "FEVV/Wrappings/Geometry_traits_cgal_surface_mesh.h"
#include "FEVV/Wrappings/properties_surface_mesh.h"
#include <CGAL/AABB_tree.h>
#include <CGAL/AABB_traits.h>
#include <CGAL/AABB_face_graph_triangle_primitive.h>
#include "FEVV/Filters/Generic/generic_reader.hpp"
#include "FEVV/Filters/Generic/generic_writer.hpp"
#include "FEVV/Filters/Generic/Manifold/Curvature/curvature.hpp"
#include "FEVV/Filters/Generic/AABB/get_max_bb_size.hpp"
#include <boost/foreach.hpp>
Include dependency graph for msdm2.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

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

Functions

template<typename Point3d , typename Vector >
bool FEVV::Filters::sphere_clip_vector_msdm2 (Point3d &o, double r, const Point3d &p, Vector &v)
 
template<typename VertexIterator , typename HalfedgeGraph , typename PointMap , typename MSDM2NearestMap , typename MSDM2Map >
void FEVV::Filters::compute_statistics (const HalfedgeGraph &, const PointMap &pm_degr, const MSDM2NearestMap &nearest_pmap, MSDM2Map &msdm2_map, const VertexIterator p_vertex, double param, std::vector< double > &tab_distance1, std::vector< double > &tab_distance2, std::vector< CGALPoint > &tab_point1, std::vector< CGALPoint > &tab_point2, double radius, double)
 Calculates the local curvature statistics per vertex. More...
 
template<typename MSDM2Map , typename HalfedgeGraph , typename MSDM2NearestMap , typename PointMap , typename TagMap , typename FaceIterator = typename boost::graph_traits< HalfedgeGraph >::face_iterator>
void FEVV::Filters::matching_multires_init (const HalfedgeGraph &m_poly_degrad, MSDM2Map &msdm2m_degrad, MSDM2NearestMap &msdm2nm_degrad, TagMap &tag_map, const PointMap &pm_degrad, const HalfedgeGraph &m_poly_original, CGAL::SM_Face_index *tab_matched_facet)
 Initialize the matching process. More...
 
template<typename PointMap , typename HalfedgeGraph , typename FaceNormalMap , typename VertexMSDM2Map , typename GeometryTraits >
double FEVV::Filters::process_msdm2_multires (const HalfedgeGraph &m_poly_degrad, const PointMap &pm_degrad, const FaceNormalMap &fnm_degrad, FEVV::PMapsContainer &pmaps_degrad, const GeometryTraits &gt_degrad, const HalfedgeGraph &m_poly_original, const PointMap &pm_original, const FaceNormalMap &fnm_original, FEVV::PMapsContainer &, const GeometryTraits &, const int nb_level, VertexMSDM2Map &msdm2_pmap, const double maxdim, double &msdm2_value)
 
template<typename PointMap , typename HalfedgeGraph , typename CurvatureVertexMap , typename MSMD2CurvatureMatchMap >
void FEVV::Filters::matching_multires_update (const HalfedgeGraph &m_poly_degrad, const PointMap &pm_degr, const HalfedgeGraph &m_poly_orig, const PointMap &pm_orig, const CurvatureVertexMap curv_orig, MSMD2CurvatureMatchMap curvmatch_pmap, CGAL::SM_Face_index *tab_matched_facet)
 Updates the matching process. More...
 
template<typename VertexIterator , typename HalfedgeGraph , typename PointMap , typename TagMap , typename CurvatureVertexMap , typename MSDM2NearestMap , typename MSMD2CurvatureMatchMap , typename GeometryTraits >
void FEVV::Filters::process_msdm2_per_vertex (const HalfedgeGraph &m_degr, const PointMap &pm_degr, const TagMap &tags_pmap, const CurvatureVertexMap &curv_pmap, const MSDM2NearestMap &nearest_pmap, const MSMD2CurvatureMatchMap &curvmatch_pmap, const GeometryTraits &, const HalfedgeGraph &, const PointMap &, const VertexIterator &p_vertex, double radius, std::vector< double > &tab_distance1, std::vector< double > &tab_distance2, std::vector< CGALPoint > &tab_point1, std::vector< CGALPoint > &tab_point2)
 Computes the local neighborhoods. More...
 
template<typename HalfedgeGraph , typename CurvatureVertexMap >
void FEVV::Filters::kmax_kmean (const HalfedgeGraph &mesh, CurvatureVertexMap &curv_vmap, const double coef)
 Computes the mean curvature field (kmin+kmax)/2 and normalize it according to the size of the model. More...
 
template<typename HalfedgeGraph , typename GeometryTraits = FEVV::Geometry_traits< HalfedgeGraph >, typename PointMap , typename FaceNormalMap , typename VertexMSDM2Map >
double FEVV::Filters::process_msdm2_multires (const HalfedgeGraph &m_poly_degrad, const PointMap &pm_degrad, const FaceNormalMap &fnm_degrad, FEVV::PMapsContainer &pmaps_degrad, const HalfedgeGraph &m_poly_original, const PointMap &pm_original, const FaceNormalMap &fnm_original, FEVV::PMapsContainer &pmaps_original, const int nb_level, VertexMSDM2Map &msdm2_pmap, double &msdm2_value)
 Computes the multiscale MSDM2 metric. More...