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 >
446 #include "SurfaceMeshHelper.ih"
452 #undef SurfaceMeshHelper_RECURSES
TEuclideanRing Component
Type for Vector elements.
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.
std::vector< Scalar > Scalars
static Scalars torusSecondPrincipalCurvatures(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
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)
DGtal::SurfaceMesh< RealPoint, RealVector > SurfaceMesh
static Scalars torusMeanCurvatures(const Scalar big_radius, const Scalar small_radius, Size m, Size n, const int twist)
SurfaceMesh::Vertices Vertices
SurfaceMeshHelper< RealPoint, RealVector > Self
static Scalars lanternMeanCurvatures(const Scalar radius, Size m, Size n)
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< RealVector > RealVectors
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
RealVector::Component Scalar
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)
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)
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::size_t Index
The type used for numbering vertices and faces.
std::size_t Size
The type for counting elements.
std::vector< Face > Faces