DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
DigitalTopology.h
1
16
17
#pragma once
18
30
31
#if defined(DigitalTopology_RECURSES)
32
#error Recursive header files inclusion detected in DigitalTopology.h
33
#else
// defined(DigitalTopology_RECURSES)
35
#define DigitalTopology_RECURSES
36
37
#if !defined DigitalTopology_h
39
#define DigitalTopology_h
40
42
// Inclusions
43
#include <iostream>
44
#include "DGtal/base/Common.h"
45
#include "DGtal/base/ConstAlias.h"
46
#include "DGtal/topology/CAdjacency.h"
48
49
namespace
DGtal
50
{
51
55
enum
DigitalTopologyProperties
{
UNKNOWN_DT
= 0,
56
NOT_JORDAN_DT
= 1,
57
JORDAN_DT
= 2 };
58
60
// template class DigitalTopology
94
template
<
typename
TForegroundAdjacency,
typename
TBackgroundAdjacency>
95
class
DigitalTopology
96
{
97
// ----------------------- Standard services ------------------------------
98
public
:
99
typedef
TForegroundAdjacency
ForegroundAdjacency
;
100
typedef
TBackgroundAdjacency
BackgroundAdjacency
;
101
typedef
typename
ForegroundAdjacency::Point
Point
;
102
// should be the same as Point.
103
typedef
typename
BackgroundAdjacency::Point
BackPoint
;
104
105
BOOST_CONCEPT_ASSERT
((
concepts::CAdjacency< ForegroundAdjacency >
));
106
BOOST_CONCEPT_ASSERT
((
concepts::CAdjacency< BackgroundAdjacency >
));
107
111
typedef
DigitalTopology<BackgroundAdjacency,ForegroundAdjacency>
112
ReverseTopology
;
113
114
127
DigitalTopology
(
ConstAlias<ForegroundAdjacency>
aKappa,
128
ConstAlias<BackgroundAdjacency>
aLambda,
129
DigitalTopologyProperties
props =
UNKNOWN_DT
);
130
134
~DigitalTopology
();
135
140
DigitalTopology
(
const
DigitalTopology
& other );
141
142
146
const
ForegroundAdjacency
&
kappa
()
const
;
147
151
const
BackgroundAdjacency
&
lambda
()
const
;
152
157
DigitalTopologyProperties
properties
()
const
;
158
163
ReverseTopology
reverseTopology
()
const
;
164
165
// ----------------------- Interface --------------------------------------
166
public
:
167
172
void
selfDisplay
( std::ostream & out )
const
;
173
178
bool
isValid
()
const
;
179
180
// ------------------------- Protected Data ------------------------------
181
private
:
182
// ------------------------- Private Data --------------------------------
183
private
:
188
const
ForegroundAdjacency
&
myKappa
;
189
194
const
BackgroundAdjacency
&
myLambda
;
195
200
const
DigitalTopologyProperties
myProps
;
201
202
// ------------------------- Hidden services ------------------------------
203
protected
:
204
209
DigitalTopology
();
210
211
private
:
212
219
DigitalTopology
&
operator=
(
const
DigitalTopology
& other );
220
221
// ------------------------- Internals ------------------------------------
222
private
:
223
224
};
// end of class DigitalTopology
225
226
233
template
<
typename
TForegroundAdjacency,
typename
TBackgroundAdjacency>
234
std::ostream&
235
operator<<
( std::ostream & out,
236
const
DigitalTopology<TForegroundAdjacency,TBackgroundAdjacency>
&
object
);
237
238
}
// namespace DGtal
239
240
242
// Includes inline functions.
243
#include "DGtal/topology/DigitalTopology.ih"
244
245
// //
247
248
#endif
// !defined DigitalTopology_h
249
250
#undef DigitalTopology_RECURSES
251
#endif
// else defined(DigitalTopology_RECURSES)
DGtal::ConstAlias
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Definition
ConstAlias.h:187
DGtal::DigitalTopology
Aim: Represents a digital topology as a couple of adjacency relations.
Definition
DigitalTopology.h:96
DGtal::DigitalTopology::selfDisplay
void selfDisplay(std::ostream &out) const
DGtal::DigitalTopology::DigitalTopology
DigitalTopology(const DigitalTopology &other)
DGtal::DigitalTopology::DigitalTopology
DigitalTopology()
DGtal::DigitalTopology< Adj4, Adj8 >::BackPoint
BackgroundAdjacency::Point BackPoint
Definition
DigitalTopology.h:103
DGtal::DigitalTopology::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CAdjacency< BackgroundAdjacency >))
DGtal::DigitalTopology::isValid
bool isValid() const
DGtal::DigitalTopology< Adj4, Adj8 >::ReverseTopology
DigitalTopology< BackgroundAdjacency, ForegroundAdjacency > ReverseTopology
Definition
DigitalTopology.h:112
DGtal::DigitalTopology::BOOST_CONCEPT_ASSERT
BOOST_CONCEPT_ASSERT((concepts::CAdjacency< ForegroundAdjacency >))
DGtal::DigitalTopology::~DigitalTopology
~DigitalTopology()
DGtal::DigitalTopology::operator=
DigitalTopology & operator=(const DigitalTopology &other)
DGtal::DigitalTopology< Adj4, Adj8 >::Point
ForegroundAdjacency::Point Point
Definition
DigitalTopology.h:101
DGtal::DigitalTopology< Adj4, Adj8 >::myProps
const DigitalTopologyProperties myProps
Definition
DigitalTopology.h:200
DGtal::DigitalTopology::reverseTopology
ReverseTopology reverseTopology() const
DGtal::DigitalTopology< Adj4, Adj8 >::myLambda
const BackgroundAdjacency & myLambda
Definition
DigitalTopology.h:194
DGtal::DigitalTopology< Adj4, Adj8 >::ForegroundAdjacency
Adj4 ForegroundAdjacency
Definition
DigitalTopology.h:99
DGtal::DigitalTopology::DigitalTopology
DigitalTopology(ConstAlias< ForegroundAdjacency > aKappa, ConstAlias< BackgroundAdjacency > aLambda, DigitalTopologyProperties props=UNKNOWN_DT)
DGtal::DigitalTopology::properties
DigitalTopologyProperties properties() const
DGtal::DigitalTopology::lambda
const BackgroundAdjacency & lambda() const
DGtal::DigitalTopology< Adj4, Adj8 >::BackgroundAdjacency
Adj8 BackgroundAdjacency
Definition
DigitalTopology.h:100
DGtal::DigitalTopology::kappa
const ForegroundAdjacency & kappa() const
DGtal::DigitalTopology< Adj4, Adj8 >::myKappa
const ForegroundAdjacency & myKappa
Definition
DigitalTopology.h:188
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::DigitalTopologyProperties
DigitalTopologyProperties
Definition
DigitalTopology.h:55
DGtal::JORDAN_DT
@ JORDAN_DT
Definition
DigitalTopology.h:57
DGtal::NOT_JORDAN_DT
@ NOT_JORDAN_DT
Definition
DigitalTopology.h:56
DGtal::UNKNOWN_DT
@ UNKNOWN_DT
Definition
DigitalTopology.h:55
DGtal::concepts::CAdjacency
Aim: The concept CAdjacency defines an elementary adjacency relation between points of a digital spac...
Definition
CAdjacency.h:100
src
DGtal
topology
DigitalTopology.h
Generated on
for DGtal by
1.18.0