\( \newcommand{\E}{\mathrm{E}} \) \( \newcommand{\A}{\mathrm{A}} \) \( \newcommand{\R}{\mathrm{R}} \) \( \newcommand{\N}{\mathrm{N}} \) \( \newcommand{\Q}{\mathrm{Q}} \) \( \newcommand{\Z}{\mathrm{Z}} \) \( \def\ccSum #1#2#3{ \sum_{#1}^{#2}{#3} } \def\ccProd #1#2#3{ \sum_{#1}^{#2}{#3} }\)
CGAL 4.12.2 - Triangulated Surface Mesh Deformation
SurfaceMeshDeformationWeights Concept Reference

Definition

Concept describing the set of requirements for calculating weights for halfedges.

Example:

// a simple model to `SurfaceMeshDeformationWeights` concept, which provides uniform weights
template <class TriangleMesh>
struct Identity_weight
{
typedef TriangleMesh Triangle_mesh;
template<class VertexPointMap>
double operator()(typename boost::graph_traits<TriangleMesh>::halfedge_descriptor /*e*/, const TriangleMesh& /*p*/, VertexPointMap /*v*/)
{ return 1.0; }
};

Types

typedef unspecified_type Triangle_mesh
 a model of HalfedgeGraph
 

Creation

 SurfaceMeshDeformationWeights ()
 Default constructor. Required only if the default parameter is used in the constructor of CGAL::Surface_mesh_deformation.
 

Operations

template<class VertexPointMap >
double operator() (boost::graph_traits< Triangle_mesh >::halfedge_descriptor he, const Triangle_mesh &triangle_mesh, VertexPointMap vpm)
 Function computing the halfedge weight of halfedge he More...
 

Member Function Documentation

◆ operator()()

template<class VertexPointMap >
double SurfaceMeshDeformationWeights::operator() ( boost::graph_traits< Triangle_mesh >::halfedge_descriptor  he,
const Triangle_mesh triangle_mesh,
VertexPointMap  vpm 
)

Function computing the halfedge weight of halfedge he

Template Parameters
VertexPointMapa model of ReadWritePropertyMap with boost::graph_traits<Triangle_mesh>::vertex_descriptor as key and a 3D point from a CGAL Kernel as value type