Loading [MathJax]/extensions/TeX/AMSsymbols.js
DGtal
2.0.0
Toggle main menu visibility
Main Page
Related Pages
Topics
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
u
v
x
Variables
a
b
d
e
f
h
i
l
m
n
o
p
s
t
v
w
x
Typedefs
a
b
c
d
e
i
k
l
n
o
p
r
s
u
v
z
Enumerations
Enumerator
a
b
c
d
e
g
h
i
j
n
o
p
s
t
u
z
Data Structures
Data Structures
Data Structure Index
Class Hierarchy
Data Fields
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
c
d
e
f
h
l
m
n
o
p
r
s
t
u
Enumerator
a
b
c
d
e
f
g
l
m
o
p
r
s
t
u
v
x
y
z
Related Symbols
a
b
c
d
e
f
g
i
k
l
m
o
p
s
t
u
Examples
DGtal
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
DefaultImageRange.h
1
16
17
#pragma once
18
32
33
#if defined(DefaultImageRange_RECURSES)
34
#error Recursive header files inclusion detected in DefaultImageRange.h
35
#else
// defined(DefaultImageRange_RECURSES)
37
#define DefaultImageRange_RECURSES
38
39
#if !defined DefaultImageRange_h
41
#define DefaultImageRange_h
42
44
// Inclusions
45
#include "DGtal/base/ConstIteratorAdapter.h"
46
#include "DGtal/kernel/domains/CDomain.h"
47
#include "DGtal/images/CTrivialImage.h"
48
#include "DGtal/images/SetValueIterator.h"
49
#include "boost/concept_check.hpp"
50
#include "boost/iterator/reverse_iterator.hpp"
52
53
namespace
DGtal
54
{
55
56
58
// class DefaultImageRange
60
76
template
<
typename
TImage>
77
class
DefaultImageRange
78
{
79
80
81
// ------------------------- inner types --------------------------------
82
public
:
83
84
BOOST_CONCEPT_ASSERT
((
concepts::CTrivialImage<TImage>
));
85
typedef
typename
TImage::Domain
Domain
;
86
typedef
typename
TImage::Point
Point
;
87
typedef
typename
TImage::Value
Value
;
88
90
BOOST_CONCEPT_ASSERT
((
concepts::CDomain<Domain>
));
91
typedef
ConstIteratorAdapter<typename Domain::ConstIterator,TImage,Value>
ConstIterator
;
92
typedef
boost::reverse_iterator<ConstIterator>
ConstReverseIterator
;
93
95
typedef
SetValueIterator<TImage>
OutputIterator
;
96
typedef
SetValueIterator<TImage, typename Domain::ConstReverseIterator>
ReverseOutputIterator
;
97
98
// ------------------------- standard services --------------------------------
99
105
DefaultImageRange
( TImage& aImage )
106
:
myImagePtr
(&aImage) {}
105
DefaultImageRange
( TImage& aImage ) {
…
}
107
112
DefaultImageRange
(
const
DefaultImageRange
& other )
113
:
myImagePtr
(other.
myImagePtr
) {}
112
DefaultImageRange
(
const
DefaultImageRange
& other ) {
…
}
114
120
DefaultImageRange
&
operator=
(
const
DefaultImageRange
& other )
121
{
122
if
(
this
!= &other )
123
{
124
myImagePtr
= other.
myImagePtr
;
125
}
126
return
*
this
;
127
}
120
DefaultImageRange
&
operator=
(
const
DefaultImageRange
& other ) {
…
}
128
132
~DefaultImageRange
() {}
133
138
bool
isValid
()
const
{
return
true
; }
139
140
141
142
// ------------------------- private data --------------------------------
143
private
:
147
TImage*
myImagePtr
;
148
149
// ------------------------- iterator services (read-only) --------------------------------
150
public
:
151
156
ConstIterator
begin
()
const
{
157
Domain
d =
myImagePtr
->domain();
158
return
ConstIterator
( d.begin(), *
myImagePtr
);
159
}
156
ConstIterator
begin
()
const
{
…
}
160
166
ConstIterator
begin
(
const
Point
&
aPoint
)
const
{
167
Domain
d =
myImagePtr
->domain();
168
return
ConstIterator
( d.begin(
aPoint
), *
myImagePtr
);
169
}
166
ConstIterator
begin
(
const
Point
&
aPoint
)
const
{
…
}
170
175
ConstIterator
end
()
const
{
176
Domain
d =
myImagePtr
->domain();
177
return
ConstIterator
( d.end(), *
myImagePtr
);
178
}
175
ConstIterator
end
()
const
{
…
}
179
184
ConstReverseIterator
rbegin
()
const
{
185
return
ConstReverseIterator
(this->
end
());
186
}
184
ConstReverseIterator
rbegin
()
const
{
…
}
187
193
ConstReverseIterator
rbegin
(
const
Point
&
aPoint
)
const
{
194
Domain
d =
myImagePtr
->domain();
195
typename
Domain::ConstIterator
itOnPts = d.begin(
aPoint
);
196
if
( itOnPts != d.end() ) ++itOnPts;
197
ConstIterator
itOnVals( itOnPts, *
myImagePtr
);
198
return
ConstReverseIterator
( itOnVals );
199
}
193
ConstReverseIterator
rbegin
(
const
Point
&
aPoint
)
const
{
…
}
200
205
ConstReverseIterator
rend
()
const
{
206
return
ConstReverseIterator
(this->
begin
());
207
}
205
ConstReverseIterator
rend
()
const
{
…
}
208
209
// ------------------------- iterator services (write-only) --------------------------------
210
public
:
215
OutputIterator
outputIterator
()
const
{
216
Domain
d =
myImagePtr
->domain();
217
return
OutputIterator
( d.begin(), *
myImagePtr
);
218
}
215
OutputIterator
outputIterator
()
const
{
…
}
219
225
OutputIterator
outputIterator
(
const
Point
&
aPoint
)
const
{
226
Domain
d =
myImagePtr
->domain();
227
return
OutputIterator
( d.begin(
aPoint
), *
myImagePtr
);
228
}
225
OutputIterator
outputIterator
(
const
Point
&
aPoint
)
const
{
…
}
229
234
ReverseOutputIterator
routputIterator
()
const
{
235
Domain
d =
myImagePtr
->domain();
236
return
ReverseOutputIterator
( d.rbegin(), *
myImagePtr
);
237
}
234
ReverseOutputIterator
routputIterator
()
const
{
…
}
238
244
ReverseOutputIterator
routputIterator
(
const
Point
&
aPoint
)
const
{
245
Domain
d =
myImagePtr
->domain();
246
return
ReverseOutputIterator
( d.rbegin(
aPoint
), *
myImagePtr
);
247
}
244
ReverseOutputIterator
routputIterator
(
const
Point
&
aPoint
)
const
{
…
}
248
249
};
//end class DefaultImageRange
77
class
DefaultImageRange
{
…
};
250
251
}
// namespace DGtal
252
254
255
256
#endif
// !defined DefaultImageRange_h
257
258
#undef DefaultImageRange_RECURSES
259
#endif
// else defined(DefaultImageRange_RECURSES)
DGtal::ConstIteratorAdapter
This class adapts any iterator so that operator* returns another element than the one pointed to by t...
Definition
ConstIteratorAdapter.h:88
DGtal::DefaultImageRange::Value
TImage::Value Value
Definition
DefaultImageRange.h:87
DGtal::DefaultImageRange::ConstReverseIterator
boost::reverse_iterator< ConstIterator > ConstReverseIterator
Definition
DefaultImageRange.h:92
DGtal::DefaultImageRange::~DefaultImageRange
~DefaultImageRange()
Definition
DefaultImageRange.h:132
DGtal::DefaultImageRange::routputIterator
ReverseOutputIterator routputIterator() const
Definition
DefaultImageRange.h:234
DGtal::DefaultImageRange::DefaultImageRange
DefaultImageRange(TImage &aImage)
Definition
DefaultImageRange.h:105
DGtal::DefaultImageRange::outputIterator
OutputIterator outputIterator() const
Definition
DefaultImageRange.h:215
DGtal::DefaultImageRange::OutputIterator
SetValueIterator< TImage > OutputIterator
output iterator types
Definition
DefaultImageRange.h:95
DGtal::DefaultImageRange::rend
ConstReverseIterator rend() const
Definition
DefaultImageRange.h:205
DGtal::DefaultImageRange::ReverseOutputIterator
SetValueIterator< TImage, typename Domain::ConstReverseIterator > ReverseOutputIterator
Definition
DefaultImageRange.h:96
DGtal::DefaultImageRange::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CDomain< Domain >))
constant iterator types
DGtal::DefaultImageRange::rbegin
ConstReverseIterator rbegin() const
Definition
DefaultImageRange.h:184
DGtal::DefaultImageRange< Self >::myImagePtr
Self * myImagePtr
Definition
DefaultImageRange.h:147
DGtal::DefaultImageRange::begin
ConstIterator begin() const
Definition
DefaultImageRange.h:156
DGtal::DefaultImageRange::routputIterator
ReverseOutputIterator routputIterator(const Point &aPoint) const
Definition
DefaultImageRange.h:244
DGtal::DefaultImageRange::DefaultImageRange
DefaultImageRange(const DefaultImageRange &other)
Definition
DefaultImageRange.h:112
DGtal::DefaultImageRange::rbegin
ConstReverseIterator rbegin(const Point &aPoint) const
Definition
DefaultImageRange.h:193
DGtal::DefaultImageRange::Domain
TImage::Domain Domain
Definition
DefaultImageRange.h:85
DGtal::DefaultImageRange::outputIterator
OutputIterator outputIterator(const Point &aPoint) const
Definition
DefaultImageRange.h:225
DGtal::DefaultImageRange::Point
TImage::Point Point
Definition
DefaultImageRange.h:86
DGtal::DefaultImageRange::end
ConstIterator end() const
Definition
DefaultImageRange.h:175
DGtal::DefaultImageRange::operator=
DefaultImageRange & operator=(const DefaultImageRange &other)
Definition
DefaultImageRange.h:120
DGtal::DefaultImageRange::begin
ConstIterator begin(const Point &aPoint) const
Definition
DefaultImageRange.h:166
DGtal::DefaultImageRange::ConstIterator
ConstIteratorAdapter< typename Domain::ConstIterator, TImage, Value > ConstIterator
Definition
DefaultImageRange.h:91
DGtal::DefaultImageRange::isValid
bool isValid() const
Definition
DefaultImageRange.h:138
DGtal::DefaultImageRange::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CTrivialImage< TImage >))
DGtal::HyperRectDomain< Space >::ConstIterator
Iterator ConstIterator
Definition
HyperRectDomain.h:125
DGtal::SetValueIterator
Aim: implements an output iterator, which is able to write values in an underlying image,...
Definition
SetValueIterator.h:68
DGtal
DGtal is the top-level namespace which contains all DGtal functions and types.
Definition
ClosedIntegerHalfPlane.h:49
DGtal::concepts::CDomain
Aim: This concept represents a digital domain, i.e. a non mutable subset of points of the given digit...
Definition
CDomain.h:130
DGtal::concepts::CTrivialImage
Aim: Defines the concept describing an image without extra ranges, which is a refinement of CTrivialC...
Definition
CTrivialImage.h:85
aPoint
const Point aPoint(3, 4)
src
DGtal
images
DefaultImageRange.h
Generated on
for DGtal by
1.14.0