31#if defined(SurfaceMeshHelper_RECURSES)
32#error Recursive header files inclusion detected in SurfaceMeshHelper.h
35#define SurfaceMeshHelper_RECURSES
37#if !defined SurfaceMeshHelper_h
39#define SurfaceMeshHelper_h
46#include "DGtal/base/Common.h"
47#include "DGtal/helpers/StdDefs.h"
48#include "DGtal/shapes/SurfaceMesh.h"
62 template <
typename TRealPo
int,
typename TRealVector >
72 typedef typename RealVector::Component
Scalar;
446#include "SurfaceMeshHelper.ih"
452#undef SurfaceMeshHelper_RECURSES
static const Dimension dimension
DGtal is the top-level namespace which contains all DGtal functions and types.
DGtal::uint32_t Dimension
Aim: An helper class for building classical meshes.
static Scalars torusSecondPrincipalCurvatures(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
DGtal::SurfaceMesh< RealPoint, RealVector > SurfaceMesh
static Scalars sphereMeanCurvatures(const Scalar radius, Size m, Size n)
static Scalars sphereGaussianCurvatures(const Scalar radius, Size m, Size n)
static RealVectors sphereSecondPrincipalDirections(const Scalar radius, Size m, Size n)
RealVector::Component Scalar
static Scalars torusMeanCurvatures(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
static Scalars lanternMeanCurvatures(const Scalar radius, Size m, Size n)
SurfaceMeshHelper< RealPoint, RealVector > Self
BOOST_STATIC_ASSERT((dimension==3))
static Scalars lanternGaussianCurvatures(const Scalar radius, Size m, Size n)
static Scalars lanternFirstPrincipalCurvatures(const Scalar radius, Size m, Size n)
std::vector< Scalar > Scalars
static RealVectors lanternFirstPrincipalDirections(const Scalar radius, Size m, Size n)
static Scalars sphereSecondPrincipalCurvatures(const Scalar radius, Size m, Size n)
static RealVectors sphereFirstPrincipalDirections(const Scalar radius, Size m, Size n)
static const Dimension dimension
static Scalars torusFirstPrincipalCurvatures(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
static RealVectors torusSecondPrincipalDirections(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
static Scalars sphereFirstPrincipalCurvatures(const Scalar radius, Size m, Size n)
static SurfaceMesh makeSphere(const Scalar radius, const RealPoint ¢er, Size m, Size n, NormalsType normals)
std::vector< RealVector > RealVectors
static SurfaceMesh makeTorus(const Scalar big_radius, const Scalar small_radius, const RealPoint ¢er, Size m, Size n, const int twist, const NormalsType normals)
static SurfaceMesh makeLantern(const Scalar radius, const Scalar height, const RealPoint ¢er, Size m, Size n, const NormalsType normals)
SurfaceMesh::Vertices Vertices
static RealVectors torusFirstPrincipalDirections(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
static Scalars lanternSecondPrincipalCurvatures(const Scalar radius, Size m, Size n)
static Scalars torusGaussianCurvatures(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
static RealVectors lanternSecondPrincipalDirections(const Scalar radius, Size m, Size n)
Aim: Represents an embedded mesh as faces and a list of vertices. Vertices may be shared among faces ...
std::vector< Vertex > Vertices
The type that defines a list/range of vertices (e.g. to define faces)
std::vector< Face > Faces
std::size_t Size
The type for counting elements.
std::size_t Index
The type used for numbering vertices and faces.