31#if defined(Shapes_RECURSES)
32#error Recursive header files inclusion detected in Shapes.h
35#define Shapes_RECURSES
44#include "DGtal/base/Common.h"
45#include "DGtal/kernel/NumberTraits.h"
46#include "DGtal/kernel/domains/CDomain.h"
47#include "DGtal/kernel/domains/HyperRectDomain.h"
48#include "DGtal/topology/KhalimskySpaceND.h"
49#include "DGtal/topology/SurfelAdjacency.h"
50#include "DGtal/topology/helpers/Surfaces.h"
51#include "DGtal/shapes/CDigitalOrientedShape.h"
52#include "DGtal/shapes/CDigitalBoundedShape.h"
53#include "DGtal/shapes/CEuclideanOrientedShape.h"
54#include "DGtal/shapes/CEuclideanBoundedShape.h"
55#include "DGtal/shapes/GaussDigitizer.h"
70 template <
typename TDomain>
80 typedef typename Domain::Space::RealPoint
RealPoint;
104 template <
typename TDigitalSet,
typename TShapeFunctor>
106 const TShapeFunctor & aFunctor);
123 template <
typename TDigitalSet,
typename TShapeFunctor>
125 const TShapeFunctor & aFunctor,
126 const double h = 1.0);
141 template <
typename DigitalSet,
typename Po
intPredicate >
144 const PointPredicate & aPP );
157 template<
typename TDigitalSet>
159 const Point & aCenter,
172 template <
typename TDigitalSet>
174 const Point & aCenter,
186 template <
typename TDigitalSet>
188 const Point & aCenter,
200 template <
typename TDigitalSet>
202 const Point & aCenter,
272 template <
typename TDomain>
281#include "DGtal/shapes/Shapes.ih"
288#undef Shapes_RECURSES
Aim: A wrapper class around a STL associative container for storing sets of digital points within som...
Iterator for HyperRectDomain.
Aim: A utility class for constructing different shapes (balls, diamonds, and others).
Domain::Space::RealPoint RealPoint
Domain::Predicate Predicate
static void addNorm1Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
static void makeSetFromPointPredicate(DigitalSet &aSet, const PointPredicate &aPP)
static void removeNorm1Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
Space::UnsignedInteger UnsignedInteger
static void euclideanShaper(TDigitalSet &aSet, const TShapeFunctor &aFunctor, const double h=1.0)
BOOST_CONCEPT_ASSERT((concepts::CDomain< TDomain >))
void selfDisplay(std::ostream &out) const
static void addNorm2Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
Shapes & operator=(const Shapes &other)
Shapes(const Shapes &other)
static void removeNorm2Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
Domain::ConstIterator ConstIterator
static void digitalShaper(TDigitalSet &aSet, const TShapeFunctor &aFunctor)
TInteger Integer
Arithmetic ring induced by (+,-,*) and Integer numbers.
NumberTraits< Integer >::UnsignedVersion UnsignedInteger
Unsigned version of the Integers.
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digit...