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

Compute plane parameterization with holomorphic 1-forms. More...

#include <HolomorphicOneForms.h>

Public Types

using TriangleMesh = CGAL::Seam_mesh< Mesh, SEM, SVM >
 
using halfedge_descriptor = typename boost::graph_traits< TriangleMesh >::halfedge_descriptor
 

Public Member Functions

 Holomorphic_one_forms_parameterizer3 (const Mesh &mesh)
 Constructor. More...
 
 Holomorphic_one_forms_parameterizer3 (const Mesh &mesh, const VertexChains< Mesh > &homology_generators)
 Constructor. More...
 
template<typename Derived >
void set_coeffs (const Eigen::MatrixBase< Derived > &coeffs)
 Set the coeffecients for the basis. 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::Holomorphic_one_forms_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::Holomorphic_one_forms_parameterizer3< Mesh, SEM, SVM >::Holomorphic_one_forms_parameterizer3 ( const Mesh &  mesh)
explicit
Parameters
meshInput mesh.
template<typename Mesh , typename SEM , typename SVM >
Euclid::Holomorphic_one_forms_parameterizer3< Mesh, SEM, SVM >::Holomorphic_one_forms_parameterizer3 ( const Mesh &  mesh,
const VertexChains< Mesh > &  homology_generators 
)
Parameters
meshInput mesh.
homology_generatorsPrecomputed homology generators.

Member Function Documentation

template<typename Mesh , typename SEM , typename SVM >
template<typename VertexUVMap , typename VertexIndexMap , typename VertexParameterizedMap >
CGAL::Surface_mesh_parameterization::Error_code Euclid::Holomorphic_one_forms_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 >
template<typename Derived >
void Euclid::Holomorphic_one_forms_parameterizer3< Mesh, SEM, SVM >::set_coeffs ( const Eigen::MatrixBase< Derived > &  coeffs)

The coeffs are linearly combined with the basis to compute the 1-forms for parameterization.

Parameters
coeffsThe coefficients, must be a 2G x 1 matrix where G is the genus of the mesh.

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