DGtal  1.5.beta
StdDefs.h
1 
17 #pragma once
18 
32 #if defined(StdDefs_RECURSES)
33 #error Recursive header files inclusion detected in StdDefs.h
34 #else // defined(StdDefs_RECURSES)
36 #define StdDefs_RECURSES
37 
38 #if !defined StdDefs_h
40 #define StdDefs_h
41 
43 // Inclusions
44 #include <iostream>
45 #include "DGtal/base/Common.h"
46 #include "DGtal/kernel/SpaceND.h"
47 #include "DGtal/kernel/domains/HyperRectDomain.h"
48 #include "DGtal/kernel/sets/DigitalSetSelector.h"
49 #include "DGtal/topology/DigitalTopology.h"
50 #include "DGtal/topology/MetricAdjacency.h"
51 #include "DGtal/topology/Object.h"
52 #include "DGtal/topology/KhalimskySpaceND.h"
53 #include "DGtal/topology/KhalimskyPreSpaceND.h"
54 #include "DGtal/geometry/curves/GridCurve.h"
55 #include "DGtal/geometry/volumes/distance/ExactPredicateLpSeparableMetric.h"
56 #include "DGtal/geometry/volumes/distance/ExactPredicateLpPowerSeparableMetric.h"
58 
59 namespace DGtal
60 {
73  namespace Z2i {
76  typedef Space Z2;
78  typedef KSpace K2;
79  typedef KSpace::Cell Cell;
84  typedef KPreSpace KP2;
109 
110 
111  static const Adj4 adj4;
112  static const Adj8 adj8;
113  static const DT4_8 dt4_8 = DT4_8( adj4, adj8, JORDAN_DT );
114  static const DT8_4 dt8_4 = DT8_4( adj8, adj4, JORDAN_DT );
115 
117 
122 
123  static const L2Metric l2Metric;
124  static const L1Metric l1Metric;
127 
128  } // namespace Z2i
129 
142  namespace Z3i {
145  typedef Space Z3;
147  typedef KSpace K3;
153  typedef KPreSpace KP3;
190 
191  static const Adj6 adj6;
192  static const Adj18 adj18;
193  static const Adj26 adj26;
194  static const DT6_18 dt6_18 = DT6_18( adj6, adj18, JORDAN_DT );
195  static const DT18_6 dt18_6 = DT18_6( adj18, adj6, JORDAN_DT );
196  static const DT6_26 dt6_26 = DT6_26( adj6, adj26, JORDAN_DT );
197  static const DT26_6 dt26_6 = DT26_6( adj26, adj6, JORDAN_DT );
198 
203 
204  static const L2Metric l2Metric;
205  static const L1Metric l1Metric;
208 
209  } // namespace Z3i
210 
211 
212 
213 
214 } // namespace DGtal
215 
216 
217 // //
219 
220 #endif // !defined StdDefs_h
221 
222 #undef StdDefs_RECURSES
223 #endif // else defined(StdDefs_RECURSES)
Aim: A wrapper class around a STL associative container for storing sets of digital points within som...
Aim: Represents a digital topology as a couple of adjacency relations.
Aim: implements weighted separable l_p metrics with exact predicates.
Aim: implements separable l_p metrics with exact predicates.
Aim: describes, in a cellular space of dimension n, a closed or open sequence of signed d-cells (or d...
Definition: GridCurve.h:173
Aim: This class is a model of CPreCellularGridSpaceND. It represents the cubical grid as a cell compl...
Aim: This class is a model of CCellularGridSpaceND. It represents the cubical grid as a cell complex,...
AnyCellCollection< SCell > SCells
AnyCellCollection< Cell > Cells
Aim: Describes digital adjacencies in digital spaces that are defined with the 1-norm and the infinit...
Aim: An object (or digital object) represents a set in some digital space associated with a digital t...
Definition: Object.h:120
Space::RealVector RealVector
Definition: StdDefs.h:98
Object< DT8_4, DigitalSet >::SmallObject SmallObject8_4
Definition: StdDefs.h:107
Object< DT4_8, DigitalSet >::SmallComplementObject SmallComplementObject4_8
Definition: StdDefs.h:104
ExactPredicateLpSeparableMetric< Space, 1 > L1Metric
Definition: StdDefs.h:119
KSpace::Cell Cell
Definition: StdDefs.h:79
static const DT8_4 dt8_4
Definition: StdDefs.h:114
KPreSpace::Cell PreCell
Definition: StdDefs.h:85
DigitalSetSelector< Domain, BIG_DS+HIGH_BEL_DS >::Type DigitalSet
Definition: StdDefs.h:100
Object< DT8_4, DigitalSet > Object8_4
Definition: StdDefs.h:105
DigitalTopology< Adj8, Adj4 > DT8_4
Definition: StdDefs.h:94
KPreSpace::SCell SPreCell
Definition: StdDefs.h:86
MetricAdjacency< Space, 1 > Adj4
Definition: StdDefs.h:90
GridCurve< K2 > Curve
Definition: StdDefs.h:116
ExactPredicateLpSeparableMetric< Space, 2 > L2Metric
Definition: StdDefs.h:118
KhalimskyPreSpaceND< 2, Integer > KPreSpace
Definition: StdDefs.h:83
DGtal::int32_t Integer
Definition: StdDefs.h:74
KhalimskySpaceND< 2, Integer > KSpace
Definition: StdDefs.h:77
static const DT4_8 dt4_8
Definition: StdDefs.h:113
KPreSpace::Cells PreCells
Definition: StdDefs.h:87
Object< DT8_4, DigitalSet >::SmallComplementObject SmallComplementObject8_4
Definition: StdDefs.h:108
ExactPredicateLpPowerSeparableMetric< Space, 2 > L2PowerMetric
Definition: StdDefs.h:120
KSpace K2
Definition: StdDefs.h:78
KSpace::SCells SCells
Definition: StdDefs.h:82
Space::Vector Vector
Definition: StdDefs.h:96
static const L1PowerMetric l1PowerMetric
Definition: StdDefs.h:126
Object< DT4_8, DigitalSet > Object4_8
Definition: StdDefs.h:101
static const L1Metric l1Metric
Definition: StdDefs.h:124
Space::RealPoint RealPoint
Definition: StdDefs.h:97
KPreSpace KP2
Definition: StdDefs.h:84
SpaceND< 2, Integer > Space
Definition: StdDefs.h:75
KSpace::Cells Cells
Definition: StdDefs.h:81
Object< DT4_8, DigitalSet >::SmallObject SmallObject4_8
Definition: StdDefs.h:103
static const Adj4 adj4
Definition: StdDefs.h:111
MetricAdjacency< Space, 2 > Adj8
Definition: StdDefs.h:92
Space::Point Point
Definition: StdDefs.h:95
static const Adj8 adj8
Definition: StdDefs.h:112
HyperRectDomain< Space > Domain
Definition: StdDefs.h:99
Object< DT8_4, DigitalSet >::ComplementObject ComplementObject8_4
Definition: StdDefs.h:106
DigitalTopology< Adj4, Adj8 > DT4_8
Definition: StdDefs.h:93
KSpace::SCell SCell
Definition: StdDefs.h:80
Object< DT4_8, DigitalSet >::ComplementObject ComplementObject4_8
Definition: StdDefs.h:102
Space Z2
Definition: StdDefs.h:76
ExactPredicateLpPowerSeparableMetric< Space, 1 > L1PowerMetric
Definition: StdDefs.h:121
KPreSpace::SCells SPreCells
Definition: StdDefs.h:88
static const L2PowerMetric l2PowerMetric
Definition: StdDefs.h:125
static const L2Metric l2Metric
Definition: StdDefs.h:123
static const L2Metric l2Metric
Definition: StdDefs.h:204
MetricAdjacency< Space, 2 > Adj18
Definition: StdDefs.h:161
static const DT6_18 dt6_18
Definition: StdDefs.h:194
static const L2PowerMetric l2PowerMetric
Definition: StdDefs.h:206
HyperRectDomain< Space > Domain
Definition: StdDefs.h:172
static const DT18_6 dt18_6
Definition: StdDefs.h:195
Object< DT6_18, DigitalSet >::ComplementObject ComplementObject6_18
Definition: StdDefs.h:175
MetricAdjacency< Space, 3 > Adj26
Definition: StdDefs.h:163
Object< DT18_6, DigitalSet >::ComplementObject ComplementObject18_6
Definition: StdDefs.h:179
SpaceND< 3, Integer > Space
Definition: StdDefs.h:144
KSpace K3
Definition: StdDefs.h:147
KhalimskySpaceND< 3, Integer > KSpace
Definition: StdDefs.h:146
Space Z3
Definition: StdDefs.h:145
Space::RealVector RealVector
Definition: StdDefs.h:171
Object< DT6_26, DigitalSet >::SmallObject SmallObject6_26
Definition: StdDefs.h:184
KPreSpace::SCell SPreCell
Definition: StdDefs.h:155
Space::RealPoint RealPoint
Definition: StdDefs.h:170
static const L1Metric l1Metric
Definition: StdDefs.h:205
Object< DT6_26, DigitalSet >::ComplementObject ComplementObject6_26
Definition: StdDefs.h:183
Object< DT18_6, DigitalSet >::SmallComplementObject SmallComplementObject18_6
Definition: StdDefs.h:181
ExactPredicateLpSeparableMetric< Space, 2 > L2Metric
Definition: StdDefs.h:199
DigitalSetSelector< Domain, BIG_DS+HIGH_BEL_DS >::Type DigitalSet
Definition: StdDefs.h:173
KPreSpace KP3
Definition: StdDefs.h:153
Object< DT6_26, DigitalSet >::SmallComplementObject SmallComplementObject6_26
Definition: StdDefs.h:185
Object< DT26_6, DigitalSet >::SmallComplementObject SmallComplementObject26_6
Definition: StdDefs.h:189
Object< DT6_18, DigitalSet >::SmallComplementObject SmallComplementObject6_18
Definition: StdDefs.h:177
MetricAdjacency< Space, 1 > Adj6
Definition: StdDefs.h:159
ExactPredicateLpSeparableMetric< Space, 1 > L1Metric
Definition: StdDefs.h:200
Space::Point Point
Definition: StdDefs.h:168
Object< DT6_18, DigitalSet > Object6_18
Definition: StdDefs.h:174
Object< DT6_18, DigitalSet >::SmallObject SmallObject6_18
Definition: StdDefs.h:176
KSpace::SCell SCell
Definition: StdDefs.h:149
static const Adj18 adj18
Definition: StdDefs.h:192
static const DT26_6 dt26_6
Definition: StdDefs.h:197
KSpace::SCells SCells
Definition: StdDefs.h:151
KhalimskyPreSpaceND< 3, Integer > KPreSpace
Definition: StdDefs.h:152
KSpace::Cell Cell
Definition: StdDefs.h:148
KPreSpace::SCells SPreCells
Definition: StdDefs.h:157
DigitalTopology< Adj18, Adj6 > DT18_6
Definition: StdDefs.h:165
Object< DT26_6, DigitalSet >::SmallObject SmallObject26_6
Definition: StdDefs.h:188
KPreSpace::Cell PreCell
Definition: StdDefs.h:154
static const Adj6 adj6
Definition: StdDefs.h:191
Object< DT18_6, DigitalSet > Object18_6
Definition: StdDefs.h:178
KPreSpace::Cells PreCells
Definition: StdDefs.h:156
KSpace::Cells Cells
Definition: StdDefs.h:150
static const L1PowerMetric l1PowerMetric
Definition: StdDefs.h:207
ExactPredicateLpPowerSeparableMetric< Space, 1 > L1PowerMetric
Definition: StdDefs.h:202
Space::Vector Vector
Definition: StdDefs.h:169
DigitalTopology< Adj6, Adj18 > DT6_18
Definition: StdDefs.h:164
static const Adj26 adj26
Definition: StdDefs.h:193
DigitalTopology< Adj26, Adj6 > DT26_6
Definition: StdDefs.h:167
Object< DT18_6, DigitalSet >::SmallObject SmallObject18_6
Definition: StdDefs.h:180
DGtal::int32_t Integer
Definition: StdDefs.h:143
Object< DT26_6, DigitalSet >::ComplementObject ComplementObject26_6
Definition: StdDefs.h:187
ExactPredicateLpPowerSeparableMetric< Space, 2 > L2PowerMetric
Definition: StdDefs.h:201
Object< DT26_6, DigitalSet > Object26_6
Definition: StdDefs.h:186
Object< DT6_26, DigitalSet > Object6_26
Definition: StdDefs.h:182
DigitalTopology< Adj6, Adj26 > DT6_26
Definition: StdDefs.h:166
static const DT6_26 dt6_26
Definition: StdDefs.h:196
DGtal is the top-level namespace which contains all DGtal functions and types.
boost::int32_t int32_t
signed 32-bit integer.
Definition: BasicTypes.h:72
Represents a signed cell in a cellular grid space by its Khalimsky coordinates and a boolean value.