\( \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

Definition

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

Example:

// 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; }
};

Types

typedef unspecified_type Halfedge_graph
 a model of HalfedgeGraph
 

Creation

 SurfaceModelingWeights ()
 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< 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