31 #if defined(Shapes_RECURSES) 32 #error Recursive header files inclusion detected in Shapes.h 33 #else // defined(Shapes_RECURSES) 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,
160 UnsignedInteger aRadius );
172 template <
typename TDigitalSet>
174 const Point & aCenter,
175 UnsignedInteger aRadius );
186 template <
typename TDigitalSet>
188 const Point & aCenter,
189 UnsignedInteger aRadius );
200 template <
typename TDigitalSet>
202 const Point & aCenter,
203 UnsignedInteger aRadius );
272 template <
typename TDomain>
274 operator<< ( std::ostream & out, const Shapes<TDomain> & object );
281 #include "DGtal/shapes/Shapes.ih" 286 #endif // !defined Shapes_h 288 #undef Shapes_RECURSES 289 #endif // else defined(Shapes_RECURSES) Space::UnsignedInteger UnsignedInteger
static void digitalShaper(TDigitalSet &aSet, const TShapeFunctor &aFunctor)
Domain::Space::RealPoint RealPoint
static void addNorm2Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
BOOST_CONCEPT_ASSERT((concepts::CDomain< TDomain >))
NumberTraits< Integer >::UnsignedVersion UnsignedInteger
Unsigned version of the Integers.
static void euclideanShaper(TDigitalSet &aSet, const TShapeFunctor &aFunctor, const double h=1.0)
Domain::ConstIterator ConstIterator
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digit...
static void addNorm1Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
TInteger Integer
Arithmetic ring induced by (+,-,*) and Integer numbers.
static void removeNorm1Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
DGtal is the top-level namespace which contains all DGtal functions and types.
Domain::Predicate Predicate
static void removeNorm2Ball(TDigitalSet &aSet, const Point &aCenter, UnsignedInteger aRadius)
Aim: A utility class for constructing different shapes (balls, diamonds, and others).
Shapes & operator=(const Shapes &other)
void selfDisplay(std::ostream &out) const
static void makeSetFromPointPredicate(DigitalSet &aSet, const PointPredicate &aPP)