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
topology
DigitalTopology.h
1
17
#pragma once
18
31
#if defined(DigitalTopology_RECURSES)
32
#error Recursive header files inclusion detected in DigitalTopology.h
33
#else // defined(DigitalTopology_RECURSES)
34
35
#define DigitalTopology_RECURSES
36
37
#if !defined DigitalTopology_h
38
39
#define DigitalTopology_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/topology/CAdjacency.h"
47
48
namespace
DGtal
49
{
50
54
enum
DigitalTopologyProperties
{
UNKNOWN_DT
= 0,
55
NOT_JORDAN_DT
= 1,
56
JORDAN_DT
= 2 };
57
59
// template class DigitalTopology
93
template
<
typename
TForegroundAdjacency,
typename
TBackgroundAdjacency>
94
class
DigitalTopology
95
{
96
// ----------------------- Standard services ------------------------------
97
public
:
98
typedef
TForegroundAdjacency
ForegroundAdjacency
;
99
typedef
TBackgroundAdjacency
BackgroundAdjacency
;
100
typedef
typename
ForegroundAdjacency::Point
Point
;
101
// should be the same as Point.
102
typedef
typename
BackgroundAdjacency::Point
BackPoint
;
103
104
BOOST_CONCEPT_ASSERT
((
CAdjacency< ForegroundAdjacency >
));
105
BOOST_CONCEPT_ASSERT
((
CAdjacency< BackgroundAdjacency >
));
106
110
typedef
DigitalTopology<BackgroundAdjacency,ForegroundAdjacency>
111
ReverseTopology
;
112
113
126
DigitalTopology
(
const
ForegroundAdjacency
& aKappa,
127
const
BackgroundAdjacency
& aLambda,
128
DigitalTopologyProperties
props =
UNKNOWN_DT
);
129
133
~DigitalTopology
();
134
139
DigitalTopology
(
const
DigitalTopology
& other );
140
141
145
const
ForegroundAdjacency
&
kappa
()
const
;
146
150
const
BackgroundAdjacency
&
lambda
()
const
;
151
156
DigitalTopologyProperties
properties
()
const
;
157
162
ReverseTopology
reverseTopology
()
const
;
163
164
// ----------------------- Interface --------------------------------------
165
public
:
166
171
void
selfDisplay
( std::ostream & out )
const
;
172
177
bool
isValid
()
const
;
178
179
// ------------------------- Protected Datas ------------------------------
180
private
:
181
// ------------------------- Private Datas --------------------------------
182
private
:
187
const
ForegroundAdjacency
&
myKappa
;
188
193
const
BackgroundAdjacency
&
myLambda
;
194
199
const
DigitalTopologyProperties
myProps
;
200
201
// ------------------------- Hidden services ------------------------------
202
protected
:
203
208
DigitalTopology
();
209
210
private
:
211
218
DigitalTopology
&
operator=
(
const
DigitalTopology
& other );
219
220
// ------------------------- Internals ------------------------------------
221
private
:
222
223
};
// end of class DigitalTopology
224
225
232
template
<
typename
TForegroundAdjacency,
typename
TBackgroundAdjacency>
233
std::ostream&
234
operator<<
( std::ostream & out,
235
const
DigitalTopology<TForegroundAdjacency,TBackgroundAdjacency>
&
object
);
236
237
}
// namespace DGtal
238
239
241
// Includes inline functions.
242
#include "DGtal/topology/DigitalTopology.ih"
243
244
// //
246
247
#endif // !defined DigitalTopology_h
248
249
#undef DigitalTopology_RECURSES
250
#endif // else defined(DigitalTopology_RECURSES)
Generated on Wed Dec 19 2012 19:10:22 for DGtal by
1.8.1.1