DGtal
0.6.devel
Main Page
Related Pages
Modules
Namespaces
Data Structures
Examples
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
src
DGtal
kernel
sets
DigitalSetDomain.h
1
17
#pragma once
18
31
#if defined(DigitalSetDomain_RECURSES)
32
#error Recursive header files inclusion detected in DigitalSetDomain.h
33
#else // defined(DigitalSetDomain_RECURSES)
34
35
#define DigitalSetDomain_RECURSES
36
37
#if !defined DigitalSetDomain_h
38
39
#define DigitalSetDomain_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/kernel/NumberTraits.h"
46
#include "DGtal/kernel/sets/SetPredicate.h"
48
49
namespace
DGtal
50
{
51
53
// template class DigitalSetDomain
58
template
<
typename
TDigitalSet>
59
class
DigitalSetDomain
60
{
61
// ----------------------- associated types -------------------------------
62
public
:
63
typedef
TDigitalSet
DigitalSet
;
64
typedef
typename
DigitalSet::Domain
Domain
;
65
typedef
typename
Domain::Space
Space
;
66
typedef
typename
Domain::Integer
Integer
;
67
typedef
typename
NumberTraits<Integer>::IsBounded
IsBounded
;
68
typedef
typename
Domain::Point
Point
;
69
typedef
typename
Domain::Vector
Vector
;
70
typedef
typename
Domain::Size
Size
;
71
typedef
typename
Domain::Dimension
Dimension
;
72
typedef
typename
DigitalSet::ConstIterator
ConstIterator
;
73
typedef
SetPredicate<DigitalSet>
Predicate
;
74
// ----------------------- Standard services ------------------------------
75
public
:
76
80
~DigitalSetDomain
();
81
86
DigitalSetDomain
(
const
DigitalSet
& aSet );
87
88
93
DigitalSetDomain
(
const
DigitalSetDomain
& other );
94
95
// ----------------------- Domain services --------------------------------
96
public
:
97
102
ConstIterator
begin
(
const
Point
&aPoint)
const
;
103
107
ConstIterator
begin
()
const
;
108
112
ConstIterator
end
()
const
;
113
118
const
Point
&
lowerBound
()
const
;
119
124
const
Point
&
upperBound
()
const
;
125
130
Size
size
()
const
;
131
136
bool
isInside
(
const
Point
& p )
const
;
137
141
const
Predicate
&
predicate
()
const
;
142
143
144
// ----------------------- Interface --------------------------------------
145
public
:
146
151
void
selfDisplay
( std::ostream & out )
const
;
152
157
bool
isValid
()
const
;
158
159
// ------------------------- Protected Datas ------------------------------
160
private
:
161
// ------------------------- Private Datas --------------------------------
162
private
:
163
167
const
DigitalSet
&
mySet
;
168
172
Point
myUpperBound
;
173
177
Point
myLowerBound
;
178
180
Predicate
myPredicate
;
181
182
// ------------------------- Hidden services ------------------------------
183
protected
:
184
189
DigitalSetDomain
();
190
191
private
:
192
199
DigitalSetDomain
&
operator=
(
const
DigitalSetDomain
& other );
200
201
// ------------------------- Internals ------------------------------------
202
private
:
203
204
205
};
// end of class DigitalSetDomain
206
207
214
template
<
typename
T>
215
std::ostream&
216
operator<< ( std::ostream & out, const DigitalSetDomain<T> & object );
217
218
}
// namespace DGtal
219
220
222
// Includes inline functions.
223
#include "DGtal/kernel/sets/DigitalSetDomain.ih"
224
225
// //
227
228
#endif // !defined DigitalSetDomain_h
229
230
#undef DigitalSetDomain_RECURSES
231
#endif // else defined(DigitalSetDomain_RECURSES)
Generated on Wed Dec 19 2012 19:10:21 for DGtal by
1.8.1.1