DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
SpatialCubicalSubdivision.h
1
16
17
#pragma once
18
30
31
#if defined(SpatialCubicalSubdivision_RECURSES)
32
#error Recursive header files inclusion detected in SpatialCubicalSubdivision.h
33
#else
// defined(SpatialCubicalSubdivision_RECURSES)
35
#define SpatialCubicalSubdivision_RECURSES
36
37
#if !defined SpatialCubicalSubdivision_h
39
#define SpatialCubicalSubdivision_h
40
42
// Inclusions
43
#include <iostream>
44
#include <vector>
45
#include "DGtal/base/Common.h"
46
#include "DGtal/base/Clone.h"
47
#include "DGtal/images/ImageContainerBySTLVector.h"
49
50
namespace
DGtal
51
{
52
54
// template class SpatialCubicalSubdivision
71
template
<
typename
TSpace>
72
class
SpatialCubicalSubdivision
73
{
74
BOOST_CONCEPT_ASSERT
((
concepts::CSpace< TSpace >
));
75
public
:
76
typedef
TSpace
Space
;
77
typedef
typename
Space::Point
Point
;
78
typedef
typename
Space::Vector
Vector
;
79
typedef
typename
Point::Coordinate
Coordinate
;
80
typedef
HyperRectDomain<Space>
Domain
;
81
typedef
std::vector<Point>
Storage
;
82
typedef
ImageContainerBySTLVector<Domain,Storage*>
StorageArray
;
83
typedef
typename
StorageArray::ConstRange
BinConstRange
;
84
85
// ----------------------- Standard services ------------------------------
86
public
:
87
91
~SpatialCubicalSubdivision
();
92
97
SpatialCubicalSubdivision
(
const
SpatialCubicalSubdivision
& other );
98
106
SpatialCubicalSubdivision
(
Point
lo,
Point
up,
Coordinate
size );
107
109
const
Domain
&
domain
()
const
;
110
112
const
Domain
&
binDomain
()
const
;
113
118
Point
bin
(
Point
p )
const
;
119
124
Point
lowest
(
Point
b )
const
;
125
130
Point
uppermost
(
Point
b )
const
;
131
139
void
push
(
const
Point
& p );
140
150
template
<
typename
Po
int
ConstIterator>
151
void
push
( PointConstIterator it, PointConstIterator itE );
152
163
template
<
typename
Po
int
Predicate>
164
void
getPoints
( std::vector<Point> & pts,
165
Point
bin_lo,
Point
bin_up,
const
PointPredicate & pred )
const
;
166
175
void
getPoints
( std::vector<Point> & pts,
176
Point
bin_lo,
Point
bin_up )
const
;
177
178
// ----------------------- Interface --------------------------------------
179
public
:
180
185
void
selfDisplay
( std::ostream & out )
const
;
186
191
bool
isValid
()
const
;
192
193
// ------------------------- Protected Data ------------------------------
194
protected
:
195
197
Domain
myDomain
;
199
Coordinate
mySize
;
202
StorageArray
myArray
;
203
// ------------------------- Private Data --------------------------------
204
private
:
206
Point
myDiag
;
207
208
// ------------------------- Hidden services ------------------------------
209
protected
:
210
211
// ------------------------- Internals ------------------------------------
212
private
:
213
220
SpatialCubicalSubdivision
&
operator=
(
const
SpatialCubicalSubdivision
& other );
221
222
};
// end of class SpatialCubicalSubdivision
223
224
231
template
<
typename
TSpace>
232
std::ostream&
233
operator<<
( std::ostream & out,
const
SpatialCubicalSubdivision<TSpace>
&
object
);
234
235
}
// namespace DGtal
236
237
239
// Includes inline functions.
240
#include "DGtal/geometry/tools/SpatialCubicalSubdivision.ih"
241
242
// //
244
245
#endif
// !defined SpatialCubicalSubdivision_h
246
247
#undef SpatialCubicalSubdivision_RECURSES
248
#endif
// else defined(SpatialCubicalSubdivision_RECURSES)
DGtal::HyperRectDomain
Aim: Parallelepidec region of a digital space, model of a 'CDomain'.
Definition
HyperRectDomain.h:100
DGtal::ImageContainerBySTLVector
Definition
ImageContainerBySTLVector.h:127
DGtal::ImageContainerBySTLVector< Domain, Storage * >::ConstRange
SimpleRandomAccessConstRangeFromPoint< ConstIterator, DistanceFunctorFromPoint< Self > > ConstRange
Definition
ImageContainerBySTLVector.h:274
DGtal::PointVector< dim, Integer >::Coordinate
Component Coordinate
Definition
PointVector.h:617
DGtal::SpaceND< 3, Integer >::Point
PointVector< dim, Integer > Point
Definition
SpaceND.h:110
DGtal::SpaceND< 3, Integer >::Vector
PointVector< dim, Integer > Vector
Definition
SpaceND.h:113
DGtal::SpatialCubicalSubdivision
Aim: This class is a data structure that subdivides a rectangular domains into cubical domains of siz...
Definition
SpatialCubicalSubdivision.h:73
DGtal::SpatialCubicalSubdivision< Space >::myArray
StorageArray myArray
Definition
SpatialCubicalSubdivision.h:202
DGtal::SpatialCubicalSubdivision::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::SpatialCubicalSubdivision::Coordinate
Point::Coordinate Coordinate
Definition
SpatialCubicalSubdivision.h:79
DGtal::SpatialCubicalSubdivision::uppermost
Point uppermost(Point b) const
DGtal::SpatialCubicalSubdivision::getPoints
void getPoints(std::vector< Point > &pts, Point bin_lo, Point bin_up) const
DGtal::SpatialCubicalSubdivision< Space >::myDiag
Point myDiag
Definition
SpatialCubicalSubdivision.h:206
DGtal::SpatialCubicalSubdivision< Space >::mySize
Coordinate mySize
Definition
SpatialCubicalSubdivision.h:199
DGtal::SpatialCubicalSubdivision::Storage
std::vector< Point > Storage
Definition
SpatialCubicalSubdivision.h:81
DGtal::SpatialCubicalSubdivision::~SpatialCubicalSubdivision
~SpatialCubicalSubdivision()
DGtal::SpatialCubicalSubdivision::operator=
SpatialCubicalSubdivision & operator=(const SpatialCubicalSubdivision &other)
DGtal::SpatialCubicalSubdivision::Vector
Space::Vector Vector
Definition
SpatialCubicalSubdivision.h:78
DGtal::SpatialCubicalSubdivision::domain
const Domain & domain() const
DGtal::SpatialCubicalSubdivision::push
void push(const Point &p)
DGtal::SpatialCubicalSubdivision::SpatialCubicalSubdivision
SpatialCubicalSubdivision(const SpatialCubicalSubdivision &other)
DGtal::SpatialCubicalSubdivision::BinConstRange
StorageArray::ConstRange BinConstRange
Definition
SpatialCubicalSubdivision.h:83
DGtal::SpatialCubicalSubdivision::Domain
HyperRectDomain< Space > Domain
Definition
SpatialCubicalSubdivision.h:80
DGtal::SpatialCubicalSubdivision::Point
Space::Point Point
Definition
SpatialCubicalSubdivision.h:77
DGtal::SpatialCubicalSubdivision::getPoints
void getPoints(std::vector< Point > &pts, Point bin_lo, Point bin_up, const PointPredicate &pred) const
DGtal::SpatialCubicalSubdivision::bin
Point bin(Point p) const
DGtal::SpatialCubicalSubdivision::Space
TSpace Space
Definition
SpatialCubicalSubdivision.h:76
DGtal::SpatialCubicalSubdivision::SpatialCubicalSubdivision
SpatialCubicalSubdivision(Point lo, Point up, Coordinate size)
DGtal::SpatialCubicalSubdivision::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CSpace< TSpace >))
DGtal::SpatialCubicalSubdivision::StorageArray
ImageContainerBySTLVector< Domain, Storage * > StorageArray
Definition
SpatialCubicalSubdivision.h:82
DGtal::SpatialCubicalSubdivision::binDomain
const Domain & binDomain() const
DGtal::SpatialCubicalSubdivision::lowest
Point lowest(Point b) const
DGtal::SpatialCubicalSubdivision< Space >::myDomain
Domain myDomain
Definition
SpatialCubicalSubdivision.h:197
DGtal::SpatialCubicalSubdivision::push
void push(PointConstIterator it, PointConstIterator itE)
DGtal::SpatialCubicalSubdivision::isValid
bool isValid() const
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::operator<<
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DGtal::concepts::CSpace
Aim: Defines the concept describing a digital space, ie a cartesian product of integer lines.
Definition
CSpace.h:106
src
DGtal
geometry
tools
SpatialCubicalSubdivision.h
Generated on
for DGtal by
1.18.0