Loading [MathJax]/extensions/TeX/AMSsymbols.js
DGtal 2.0.0
DigitalSetSelector.h
1
16
17#pragma once
18
34
35#if defined(DigitalSetSelector_RECURSES)
36#error Recursive header files inclusion detected in DigitalSetSelector.h
37#else // defined(DigitalSetSelector_RECURSES)
39#define DigitalSetSelector_RECURSES
40
41#if !defined DigitalSetSelector_h
43#define DigitalSetSelector_h
44
46// Inclusions
47#include <iostream>
48#include "DGtal/base/Common.h"
49#include "DGtal/kernel/sets/DigitalSetByAssociativeContainer.h"
50#include "DGtal/kernel/sets/DigitalSetBySTLVector.h"
51
52#include "DGtal/kernel/PointHashFunctions.h"
53#include <unordered_set>
55
56namespace DGtal
57{
58
59 // ----------------------- Related enumerations -----------------------------
60 // Since c++20, arithmetic between different enums types are disabled
61 // (https://eel.is/c++draft/diff.iso#diff.expr-2)
62 inline constexpr int SMALL_DS = 0;
63 inline constexpr int MEDIUM_DS = 1;
64 inline constexpr int BIG_DS = 2;
65 inline constexpr int WHOLE_DS = 3;
66 inline constexpr int LOW_VAR_DS = 0;
67 inline constexpr int HIGH_VAR_DS = 4;
68 inline constexpr int LOW_ITER_DS = 0;
69 inline constexpr int HIGH_ITER_DS = 8;
70 inline constexpr int LOW_BEL_DS = 0;
71 inline constexpr int HIGH_BEL_DS = 16;
72
74 // template class DigitalSetSelector
95 template <typename Domain, int Preferences >
97 {
98 // ----------------------- Local types ------------------------------
103 }; // end of class DigitalSetSelector
104
105
106} // namespace DGtal
107
108
110// Includes inline functions.
111#include "DGtal/kernel/sets/DigitalSetSelector.ih"
112
113// //
115
116#endif // !defined DigitalSetSelector_h
117
118#undef DigitalSetSelector_RECURSES
119#endif // else defined(DigitalSetSelector_RECURSES)
Aim: A wrapper class around a STL associative container for storing sets of digital points within som...
DGtal is the top-level namespace which contains all DGtal functions and types.
constexpr int HIGH_ITER_DS
constexpr int SMALL_DS
constexpr int BIG_DS
constexpr int HIGH_BEL_DS
constexpr int HIGH_VAR_DS
constexpr int LOW_BEL_DS
constexpr int MEDIUM_DS
constexpr int WHOLE_DS
constexpr int LOW_VAR_DS
constexpr int LOW_ITER_DS
Aim: Automatically defines an adequate digital set type according to the hints given by the user.
DigitalSetByAssociativeContainer< Domain, std::unordered_set< typename Domain::Point > > Type