31#if defined(SurfaceMeshMeasure_RECURSES)
32#error Recursive header files inclusion detected in SurfaceMeshMeasure.h
35#define SurfaceMeshMeasure_RECURSES
37#if !defined SurfaceMeshMeasure_h
39#define SurfaceMeshMeasure_h
44#include "DGtal/kernel/CCommutativeRing.h"
45#include "DGtal/shapes/SurfaceMesh.h"
81 template <
typename TRealPo
int,
typename TRealVector,
typename TValue >
181 faces =
myMeshPtr->computeFacesInclusionsInBall( r, f, x );
186 std::tuple< Vertices, WeightedEdges, WeightedFaces >
187 wcells =
myMeshPtr->computeCellsInclusionsInBall( r, f, x );
218 for (
auto&& v : wvertices ) m +=
vertex_measures[ v.first ] * v.second;
245 for (
auto&& e : wedges ) m +=
edge_measures[ e.first ] * e.second;
272 for (
auto&& v : wfaces ) m +=
face_measures[ v.first ] * v.second;
305#undef SurfaceMeshMeasure_RECURSES
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
static const Dimension dimension
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension
const SurfaceMesh * meshPtr() const
Value edgeMeasure(Edge e) const
std::pair< Edge, Scalar > WeightedEdge
Value vertexMeasure(Vertex v) const
std::pair< Vertex, Scalar > WeightedVertex
SurfaceMeshMeasure(ConstAlias< SurfaceMesh > aMesh=nullptr, Value zero_value=Value())
std::vector< Face > Faces
RealVector::Component Scalar
std::vector< WeightedEdge > WeightedEdges
Values & kMeasures(Dimension dim)
SurfaceMeshMeasure< RealPoint, RealVector, Value > Self
std::vector< WeightedFace > WeightedFaces
const SurfaceMesh * myMeshPtr
Value edgeMeasure(const Edges &edges) const
std::pair< Face, Scalar > WeightedFace
Value faceMeasure(const WeightedFaces &wfaces) const
Value measure(const RealPoint &x, Scalar r, Face f) const
Value faceMeasure(Face f) const
DGtal::SurfaceMesh< RealPoint, RealVector > SurfaceMesh
Value faceMeasure(const Faces &faces) const
std::vector< Value > Values
SurfaceMesh::Vertex Vertex
Value edgeMeasure(const WeightedEdges &wedges) const
const Values & kMeasures(Dimension dim) const
static const Dimension dimension
std::vector< WeightedVertex > WeightedVertices
Value vertexMeasure(const WeightedVertices &wvertices) const
std::vector< Edge > Edges
Value vertexMeasure(const Vertices &vertices) const
std::vector< Vertex > Vertices