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


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


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


typedef unspecified_type Halfedge_graph
 a model of HalfedgeGraph


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


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

Member Function Documentation

template<class VertexPointMap >
double SurfaceModelingWeights::operator() ( boost::graph_traits< Halfedge_graph >::halfedge_descriptor  he,
const Halfedge_graph halfedge_graph,
VertexPointMap  vpm 

Function computing the halfedge weight of halfedge he

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