\( \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.10 - Triangulated Surface Mesh Deformation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
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

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