31 #if defined(SpatialCubicalSubdivision_RECURSES)
32 #error Recursive header files inclusion detected in SpatialCubicalSubdivision.h
33 #else // defined(SpatialCubicalSubdivision_RECURSES)
35 #define SpatialCubicalSubdivision_RECURSES
37 #if !defined SpatialCubicalSubdivision_h
39 #define SpatialCubicalSubdivision_h
45 #include "DGtal/base/Common.h"
46 #include "DGtal/base/Clone.h"
47 #include "DGtal/images/ImageContainerBySTLVector.h"
71 template <
typename TSpace>
150 template <
typename Po
intConstIterator>
151 void push( PointConstIterator it, PointConstIterator itE );
163 template <
typename Po
intPredicate>
165 Point bin_lo,
Point bin_up,
const PointPredicate & pred )
const;
231 template <
typename TSpace>
240 #include "DGtal/geometry/tools/SpatialCubicalSubdivision.ih"
245 #endif // !defined SpatialCubicalSubdivision_h
247 #undef SpatialCubicalSubdivision_RECURSES
248 #endif // else defined(SpatialCubicalSubdivision_RECURSES)
SpatialCubicalSubdivision & operator=(const SpatialCubicalSubdivision &other)
Point uppermost(Point b) const
Coordinate mySize
the edge size of each bin.
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.
Aim: model of CConstBidirectionalRangeFromPoint that adapts any range of elements bounded by two iter...
Component Coordinate
Type for Point elements.
void push(PointConstIterator it, PointConstIterator itE)
const Domain & binDomain() const
StorageArray::ConstRange BinConstRange
ImageContainerBySTLVector< Domain, Storage * > StorageArray
Aim: This class is a data structure that subdivides a rectangular domains into cubical domains of siz...
SpatialCubicalSubdivision(Point lo, Point up, Coordinate size)
~SpatialCubicalSubdivision()
void selfDisplay(std::ostream &out) const
Domain myDomain
the rectangular domain representing the useful points of the space.
DGtal is the top-level namespace which contains all DGtal functions and types.
Point::Coordinate Coordinate
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
std::vector< Point > Storage
const Domain & domain() const
Point myDiag
a precomputed point to improve performance of uppermost() method.
void getPoints(std::vector< Point > &pts, Point bin_lo, Point bin_up, const PointPredicate &pred) const
SpatialCubicalSubdivision(const SpatialCubicalSubdivision &other)
void push(const Point &p)
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
HyperRectDomain< Space > Domain
Point lowest(Point b) const
void getPoints(std::vector< Point > &pts, Point bin_lo, Point bin_up) const