DGtal 1.3.0
Loading...
Searching...
No Matches
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)
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
49namespace DGtal
50{
51
57 JORDAN_DT = 2 };
58
60 // template class DigitalTopology
94 template <typename TForegroundAdjacency, typename TBackgroundAdjacency>
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
107
113
114
130
135
141
142
146 const ForegroundAdjacency & kappa() const;
147
152
158
164
165 // ----------------------- Interface --------------------------------------
166 public:
167
172 void selfDisplay ( std::ostream & out ) const;
173
178 bool isValid() const;
179
180 // ------------------------- Protected Datas ------------------------------
181 private:
182 // ------------------------- Private Datas --------------------------------
183 private:
189
195
201
202 // ------------------------- Hidden services ------------------------------
203 protected:
204
210
211 private:
212
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,
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)
Aim: This class encapsulates its parameter class so that to indicate to the user that the object/poin...
Definition: ConstAlias.h:187
Aim: Represents a digital topology as a couple of adjacency relations.
void selfDisplay(std::ostream &out) const
DigitalTopology(const DigitalTopology &other)
BackgroundAdjacency::Point BackPoint
BOOST_CONCEPT_ASSERT((concepts::CAdjacency< BackgroundAdjacency >))
DigitalTopology< BackgroundAdjacency, ForegroundAdjacency > ReverseTopology
BOOST_CONCEPT_ASSERT((concepts::CAdjacency< ForegroundAdjacency >))
DigitalTopology & operator=(const DigitalTopology &other)
ForegroundAdjacency::Point Point
const DigitalTopologyProperties myProps
ReverseTopology reverseTopology() const
const BackgroundAdjacency & myLambda
TForegroundAdjacency ForegroundAdjacency
DigitalTopology(ConstAlias< ForegroundAdjacency > aKappa, ConstAlias< BackgroundAdjacency > aLambda, DigitalTopologyProperties props=UNKNOWN_DT)
DigitalTopologyProperties properties() const
const BackgroundAdjacency & lambda() const
TBackgroundAdjacency BackgroundAdjacency
const ForegroundAdjacency & kappa() const
const ForegroundAdjacency & myKappa
DGtal is the top-level namespace which contains all DGtal functions and types.
std::ostream & operator<<(std::ostream &out, const ClosedIntegerHalfPlane< TSpace > &object)
DigitalTopologyProperties
@ NOT_JORDAN_DT
Aim: The concept CAdjacency defines an elementary adjacency relation between points of a digital spac...
Definition: CAdjacency.h:100