31 #if defined(SpatialCubicalSubdivision_RECURSES)
32 #error Recursive header files inclusion detected in SpatialCubicalSubdivision.h
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"
247 #undef SpatialCubicalSubdivision_RECURSES
Component Coordinate
Type for Point elements.
Aim: model of CConstBidirectionalRangeFromPoint that adapts any range of elements bounded by two iter...
Aim: This class is a data structure that subdivides a rectangular domains into cubical domains of siz...
void selfDisplay(std::ostream &out) const
Point::Coordinate Coordinate
Point uppermost(Point b) const
void getPoints(std::vector< Point > &pts, Point bin_lo, Point bin_up) const
Point myDiag
a precomputed point to improve performance of uppermost() method.
Coordinate mySize
the edge size of each bin.
std::vector< Point > Storage
~SpatialCubicalSubdivision()
void push(const Point &p)
SpatialCubicalSubdivision(const SpatialCubicalSubdivision &other)
StorageArray::ConstRange BinConstRange
const Domain & domain() const
HyperRectDomain< Space > Domain
void getPoints(std::vector< Point > &pts, Point bin_lo, Point bin_up, const PointPredicate &pred) const
const Domain & binDomain() const
SpatialCubicalSubdivision(Point lo, Point up, Coordinate size)
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
ImageContainerBySTLVector< Domain, Storage * > StorageArray
Point lowest(Point b) const
Domain myDomain
the rectangular domain representing the useful points of the space.
void push(PointConstIterator it, PointConstIterator itE)
SpatialCubicalSubdivision & operator=(const SpatialCubicalSubdivision &other)
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ATu0v1< TKSpace, TLinearAlgebra > &object)
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.