Euclid
Geometry Processing and Shape Analysis in C++
Euclid::Ricci_flow_parameterizer3< Mesh, SEM, SVM > Class Template Reference

Compute plane parameterization with Ricci flow. More...

#include <RicciFlow.h>

Public Types

using TriangleMesh = CGAL::Seam_mesh< Mesh, SEM, SVM >
 
using halfedge_descriptor = typename boost::graph_traits< TriangleMesh >::halfedge_descriptor
 
using Scalar = typename CGAL::Kernel_traits< typename boost::property_traits< typename boost::property_map< Mesh, boost::vertex_point_t >::type >::value_type >::Kernel::FT
 

Public Member Functions

 Ricci_flow_parameterizer3 (const Mesh &mesh)
 Constructor. More...
 
void set_solver_settings (const RicciFlowSolverSettings &settings)
 Set solver settings. More...
 
void add_cone (typename boost::graph_traits< Mesh >::vertex_descriptor v, Scalar k)
 Add cone singularities. More...
 
template<typename VertexUVMap , typename VertexIndexMap , typename VertexParameterizedMap >
CGAL::Surface_mesh_parameterization::Error_code parameterize (TriangleMesh &mesh, halfedge_descriptor bhd, VertexUVMap uvmap, VertexIndexMap vimap, VertexParameterizedMap vpmap)
 Parameterize the surface. More...
 

Detailed Description

template<typename Mesh, typename SEM, typename SVM>
class Euclid::Ricci_flow_parameterizer3< Mesh, SEM, SVM >

This class is compatible with CGAL::Surface_mesh_parameterization::parameterize().

Constructor & Destructor Documentation

template<typename Mesh , typename SEM , typename SVM >
Euclid::Ricci_flow_parameterizer3< Mesh, SEM, SVM >::Ricci_flow_parameterizer3 ( const Mesh &  mesh)
explicit
Parameters
meshInput mesh.

Member Function Documentation

template<typename Mesh , typename SEM , typename SVM >
void Euclid::Ricci_flow_parameterizer3< Mesh, SEM, SVM >::add_cone ( typename boost::graph_traits< Mesh >::vertex_descriptor  v,
Scalar  k 
)

Set vertex v as a cone of \(2k\pi\).

Parameters
vThe target vertex.
kThe target gaussian curvature of v.
template<typename Mesh , typename SEM , typename SVM >
template<typename VertexUVMap , typename VertexIndexMap , typename VertexParameterizedMap >
CGAL::Surface_mesh_parameterization::Error_code Euclid::Ricci_flow_parameterizer3< Mesh, SEM, SVM >::parameterize ( TriangleMesh &  mesh,
halfedge_descriptor  bhd,
VertexUVMap  uvmap,
VertexIndexMap  vimap,
VertexParameterizedMap  vpmap 
)

Only CGAL::Seam_mesh is supported. Note some parameters are not used internally but only serves to be consistent with the CGAL interface.

Parameters
meshThe seam mesh.
bhdA boundary halfedge, not used.
uvmapA property map to store the uv coordinates.
vimapA property map to store the vertex index, not used.
vpmapA property map to store if a vertex has been parameterized.
template<typename Mesh , typename SEM , typename SVM >
void Euclid::Ricci_flow_parameterizer3< Mesh, SEM, SVM >::set_solver_settings ( const RicciFlowSolverSettings settings)
Parameters
settingsSettings.

The documentation for this class was generated from the following files: