31 #if defined(ConvexityHelper_RECURSES)
32 #error Recursive header files inclusion detected in ConvexityHelper.h
35 #define ConvexityHelper_RECURSES
37 #if !defined ConvexityHelper_h
39 #define ConvexityHelper_h
46 #include "DGtal/base/Common.h"
47 #include "DGtal/kernel/CInteger.h"
48 #include "DGtal/kernel/SpaceND.h"
49 #include "DGtal/geometry/tools/QuickHull.h"
50 #include "DGtal/geometry/volumes/BoundedLatticePolytope.h"
51 #include "DGtal/geometry/volumes/BoundedRationalPolytope.h"
52 #include "DGtal/geometry/volumes/ConvexCellComplex.h"
53 #include "DGtal/shapes/PolygonalSurface.h"
137 bool remove_duplicates =
true,
138 bool make_minkowski_summable =
false );
163 template <
typename TSurfaceMesh >
167 const std::vector< Point >& input_points,
168 bool remove_duplicates =
true );
190 const std::vector< Point >& input_points,
191 bool remove_duplicates =
true );
211 const std::vector< Point >& input_points,
212 bool remove_duplicates =
true );
240 const std::vector< Point >& input_points,
241 bool remove_duplicates =
true );
275 bool remove_duplicates =
true,
276 bool make_minkowski_summable =
false );
304 template <
typename TSurfaceMesh >
308 const std::vector< RealPoint >& input_points,
309 double precision = 1024.0,
310 bool remove_duplicates =
true );
335 const std::vector< RealPoint >& input_points,
336 double precision = 1024.0,
337 bool remove_duplicates =
true );
362 const std::vector< RealPoint >& input_points,
363 double precision = 1024.0,
364 bool remove_duplicates =
true );
398 const std::vector< RealPoint >& input_points,
399 double precision = 1024.0,
400 bool remove_duplicates =
true );
424 template <
typename QHull >
428 std::vector< IndexRange >& cell_vertices,
429 std::map< typename QHull::Ridge, Index >& r2f,
430 std::vector< IndexRange >& face_vertices );
441 #include "ConvexityHelper.ih"
448 #undef ConvexityHelper_RECURSES
Aim: Represents an nD lattice polytope, i.e. a convex polyhedron bounded with vertices with integer c...
Aim: Represents an nD rational polytope, i.e. a convex polyhedron bounded by vertices with rational c...
Aim: Represents a polygon mesh, i.e. a 2-dimensional combinatorial surface whose faces are (topologic...
DGtal is the top-level namespace which contains all DGtal functions and types.
boost::int64_t int64_t
signed 94-bit integer.
DGtal::uint32_t Dimension
boost::int32_t int32_t
signed 32-bit integer.
Aim: represents a d-dimensional complex in a d-dimensional space with the following properties and re...
Aim: a geometric kernel to compute the convex hull of digital points with integer-only arithmetic.
Aim: a geometric kernel to compute the convex hull of floating points with integer-only arithmetic....
Aim: Provides a set of functions to facilitate the computation of convex hulls and polytopes,...
static void computeFacetAndRidgeVertices(const QHull &hull, std::vector< IndexRange > &cell_vertices, std::map< typename QHull::Ridge, Index > &r2f, std::vector< IndexRange > &face_vertices)
TInternalInteger InternalInteger
static bool computeDelaunayCellComplex(ConvexCellComplex< RealPoint > &cell_complex, const std::vector< RealPoint > &input_points, double precision=1024.0, bool remove_duplicates=true)
static bool computeConvexHullBoundary(PolygonalSurface< RealPoint > &polysurf, const std::vector< RealPoint > &input_points, double precision=1024.0, bool remove_duplicates=true)
static bool computeConvexHullBoundary(PolygonalSurface< Point > &polysurf, const std::vector< Point > &input_points, bool remove_duplicates=true)
static bool computeConvexHullBoundary(TSurfaceMesh &mesh, const std::vector< Point > &input_points, bool remove_duplicates=true)
DelaunayIntegralKernel< dim, Integer, InternalInteger > LatticeDelaunayKernel
BOOST_STATIC_ASSERT(dim > 1)
static bool computeConvexHullCellComplex(ConvexCellComplex< Point > &cell_complex, const std::vector< Point > &input_points, bool remove_duplicates=true)
BOOST_CONCEPT_ASSERT((concepts::CInteger< TInteger >))
Space::RealPoint RealPoint
Space::RealVector RealVector
static const Dimension dimension
static bool computeDelaunayCellComplex(ConvexCellComplex< Point > &cell_complex, const std::vector< Point > &input_points, bool remove_duplicates=true)
BoundedRationalPolytope< Space > RationalPolytope
ConvexHullRationalKernel< dim, Integer, InternalInteger > RealConvexHullKernel
static RationalPolytope computeRationalPolytope(const std::vector< RealPoint > &input_points, Integer denominator, bool remove_duplicates=true, bool make_minkowski_summable=false)
static LatticePolytope computeLatticePolytope(const std::vector< Point > &input_points, bool remove_duplicates=true, bool make_minkowski_summable=false)
static bool computeConvexHullBoundary(TSurfaceMesh &mesh, const std::vector< RealPoint > &input_points, double precision=1024.0, bool remove_duplicates=true)
ConvexHullIntegralKernel< dim, Integer, InternalInteger > LatticeConvexHullKernel
std::vector< Index > IndexRange
BOOST_CONCEPT_ASSERT((concepts::CInteger< TInternalInteger >))
BoundedLatticePolytope< Space > LatticePolytope
DelaunayRationalKernel< dim, Integer, InternalInteger > RealDelaunayKernel
static bool computeConvexHullCellComplex(ConvexCellComplex< RealPoint > &cell_complex, const std::vector< RealPoint > &input_points, double precision=1024.0, bool remove_duplicates=true)
SpaceND< dim, Integer > Space
Aim: a geometric kernel to compute the Delaunay triangulation of digital points with integer-only ari...
Aim: a geometric kernel to compute the Delaunay triangulation of a range of floating points with inte...
Aim: Concept checking for Integer Numbers. More precisely, this concept is a refinement of both CEucl...
unsigned int dim(const Vector &z)