CVB++ 15.1
Loading...
Searching...
No Matches
detail_config_2d_codes.hpp
1#pragma once
2
3namespace Cvb
4{
5 CVB_BEGIN_INLINE_NS
6
7 namespace CodeReader
8 {
9 namespace Config
10 {
12 {
13 return SetIntProperty(static_cast<int>(Properties::Polarity), static_cast<int>(value));
14 }
15
17 {
18 return static_cast<Config::Polarity>(GetIntProperty(static_cast<int>(Properties::Polarity)));
19 }
20
22 {
23 return SetIntProperty(static_cast<int>(Properties::Mirror), static_cast<int>(value));
24 }
25
27 {
28 return static_cast<bool>(GetIntProperty(static_cast<int>(Properties::Mirror)));
29 }
30
32 {
33 switch (value)
34 {
36 return SetIntProperty(static_cast<int>(Properties::Rect), 1)
37 .SetIntProperty(static_cast<int>(Properties::RectExtended), 0);
39 return SetIntProperty(static_cast<int>(Properties::Rect), 1)
40 .SetIntProperty(static_cast<int>(Properties::RectExtended), 1);
42 default:
43 return SetIntProperty(static_cast<int>(Properties::Rect), 0)
44 .SetIntProperty(static_cast<int>(Properties::RectExtended), 0);
45 }
46 }
47
49 {
50 const auto rectEx = GetIntProperty(static_cast<int>(Properties::RectExtended));
51 if (rectEx == 1)
52 {
54 }
55 else
56 {
57 const auto rect = GetIntProperty(static_cast<int>(Properties::Rect));
58 if (rect == 1)
59 {
61 }
62 }
64 }
65
67 {
68 return SetIntProperty(static_cast<int>(Properties::MinSize), size);
69 }
70
71 inline int DataMatrix::MinimumSize() const
72 {
73 return GetIntProperty(static_cast<int>(Properties::MinSize));
74 }
75
77 {
78 return SetIntProperty(static_cast<int>(Properties::MaxSize), size);
79 }
80
81 inline int DataMatrix::MaximumSize() const
82 {
83 return GetIntProperty(static_cast<int>(Properties::MaxSize));
84 }
85
87 {
88 return SetIntProperty(static_cast<int>(Properties::MinNumModules), value);
89 }
90
92 {
93 return GetIntProperty(static_cast<int>(Properties::MinNumModules));
94 }
95
97 {
98 return SetIntProperty(static_cast<int>(Properties::MaxNumModules), value);
99 }
100
102 {
103 return GetIntProperty(static_cast<int>(Properties::MaxNumModules));
104 }
105
107 {
108 return SetIntProperty(static_cast<int>(Properties::MaxModuleSize), size);
109 }
110
111 inline int DataMatrix::MaxModuleSize() const
112 {
113 return GetIntProperty(static_cast<int>(Properties::MaxModuleSize));
114 }
115
117 {
118 return SetIntProperty(static_cast<int>(Properties::MaxLineFilterSize), size);
119 }
120
122 {
123 return GetIntProperty(static_cast<int>(Properties::MaxLineFilterSize));
124 }
125
127 {
128 return SetIntProperty(static_cast<int>(Properties::FastDataMatrixSearch), static_cast<int>(value));
129 }
130
132 {
133 return GetIntProperty(static_cast<int>(Properties::FastDataMatrixSearch));
134 }
135#pragma endregion
136
137#pragma region QR and MicroQR
139 {
140 return SetIntProperty(static_cast<int>(Properties::Polarity), static_cast<int>(value));
141 }
142
143 inline Polarity QR::Polarity() const
144 {
145 return static_cast<Config::Polarity>(GetIntProperty(static_cast<int>(Properties::Polarity)));
146 }
147
148 inline QR &QR::SetMirroringEnabled(bool value)
149 {
150 return SetIntProperty(static_cast<int>(Properties::Mirror), static_cast<int>(value));
151 }
152
153 inline bool QR::IsMirroringEnabled() const
154 {
155 return static_cast<bool>(GetIntProperty(static_cast<int>(Properties::Mirror)));
156 }
157
158 inline QR &QR::SetPreciseCornersEnabled(bool value)
159 {
160 return SetIntProperty(static_cast<int>(Properties::PreciseCorner), static_cast<int>(value));
161 }
162
163 inline bool QR::IsPreciseCornersEnabled() const
164 {
165 return static_cast<bool>(GetIntProperty(static_cast<int>(Properties::PreciseCorner)));
166 }
167
168 inline MicroQR &MicroQR::Enable()
169 {
170 CVB_CALL_CAPI_CHECKED(
171 CVCRSetPropertyInt(decoder_.Handle(), static_cast<int>(ReverseMapper<MicroQR>().type), 1));
172 return *this;
173 }
174
175 inline MicroQR &MicroQR::Disable()
176 {
177 CVB_CALL_CAPI_CHECKED(
178 CVCRSetPropertyInt(decoder_.Handle(), static_cast<int>(ReverseMapper<MicroQR>().type), 0));
179 return *this;
180 }
181
182 inline bool MicroQR::Enabled() const
183 {
184 return static_cast<bool>(GetIntProperty(static_cast<int>(ReverseMapper<MicroQR>().type)));
185 }
186#pragma endregion
187
188 } // namespace Config
189 } // namespace CodeReader
190
191 CVB_END_INLINE_NS
192} // namespace Cvb
Configuration class for Data Matrix codes.
Definition decl_config_2d_codes.hpp:36
DataMatrix & SetMirroringEnabled(bool value)
Enables or disables mirroring based on the given value.
Definition detail_config_2d_codes.hpp:21
bool IsFastDataMatrixSearchEnabled() const
Checks whether fast Data Matrix search is enabled.
Definition detail_config_2d_codes.hpp:131
int MaxNumberModules() const
Gets the maximum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:101
DataMatrix & SetMinimumSize(int size)
Sets the minimum Data Matrix size.
Definition detail_config_2d_codes.hpp:66
DataMatrix & SetFastDataMatrixSearchEnabled(bool value)
Enables or disables fast Data Matrix search based on the given value.
Definition detail_config_2d_codes.hpp:126
Config::RectangularDecoding RectangularDecoding() const
Gets the currently configured rectangular decoding mode.
Definition detail_config_2d_codes.hpp:48
int MaximumSize() const
Gets the maximum Data Matrix size.
Definition detail_config_2d_codes.hpp:81
DataMatrix & SetMaximumSize(int size)
Sets the maximum Data Matrix size.
Definition detail_config_2d_codes.hpp:76
int MinNumberModules() const
Gets the minimum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:91
DataMatrix & SetMinNumberModules(int value)
Sets the minimum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:86
bool IsMirroringEnabled() const
Checks whether mirroring is enabled.
Definition detail_config_2d_codes.hpp:26
DataMatrix & SetPolarity(Polarity value)
Sets polarity mode for decoding.
Definition detail_config_2d_codes.hpp:11
Config::Polarity Polarity() const
Gets the currently configured polarity mode.
Definition detail_config_2d_codes.hpp:16
int MaxLineFilterSize() const
Gets the maximum line filter size in pixels.
Definition detail_config_2d_codes.hpp:121
DataMatrix & SetMaxLineFilterSize(int size)
Sets the maximum line filter size in pixels.
Definition detail_config_2d_codes.hpp:116
DataMatrix & SetMaxNumberModules(int value)
Sets the maximum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:96
DataMatrix & SetRectangularDecoding(RectangularDecoding value)
Configures the rectangular decoding mode.
Definition detail_config_2d_codes.hpp:31
DataMatrix & SetMaxModuleSize(int size)
Sets the maximum module size of Data Matrix in pixels.
Definition detail_config_2d_codes.hpp:106
int MaxModuleSize() const
Gets the maximum module size of Data Matrix in pixels.
Definition detail_config_2d_codes.hpp:111
int MinimumSize() const
Gets the minimum Data Matrix size.
Definition detail_config_2d_codes.hpp:71
bool Enabled() const
Checks if decoding for MicroQR codes is enabled.
Definition detail_config_2d_codes.hpp:182
MicroQR & Enable()
Enables decoding for the MicroQR codes.
Definition detail_config_2d_codes.hpp:168
MicroQR & Disable()
Disables decoding for MicroQR codes.
Definition detail_config_2d_codes.hpp:175
QR & SetMirroringEnabled(bool value)
Enables or disables mirroring based on the given value.
Definition detail_config_2d_codes.hpp:148
bool IsMirroringEnabled() const
Check whether mirroring is enabled.
Definition detail_config_2d_codes.hpp:153
bool IsPreciseCornersEnabled() const
Check whether the calculation of more precise corner coordinates is enabled.
Definition detail_config_2d_codes.hpp:163
QR & SetPolarity(Polarity value)
Sets polarity mode for decoding.
Definition detail_config_2d_codes.hpp:138
Config::Polarity Polarity() const
Gets the currently configured polarity mode.
Definition detail_config_2d_codes.hpp:143
QR & SetPreciseCornersEnabled(bool value)
Enables or disables the calculation of more precise corner coordinates.
Definition detail_config_2d_codes.hpp:158
This namespace contains the configuration classes for all supported codes.
Definition decl_config_2d_codes.hpp:14
Polarity
Enumeration of code polarity options for 2D codes.
Definition decl_config_base.hpp:184
RectangularDecoding
Enumeration for rectangular decoding modes for DataMatrix codes.
Definition decl_config_base.hpp:195
@ Simple
Definition decl_config_base.hpp:199
@ None
Definition decl_config_base.hpp:197
@ Extended
Definition decl_config_base.hpp:201
Namespace for all decoding functionalities.
Definition decl_config_2d_codes.hpp:10
Root namespace for the Image Manager interface.
Definition version.hpp:11