CVB++ 15.0
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 return SetIntProperty(static_cast<int>(Properties::Rect), 0)
43 .SetIntProperty(static_cast<int>(Properties::RectExtended), 0);
44 default:
45 return SetIntProperty(static_cast<int>(Properties::Rect), 0)
46 .SetIntProperty(static_cast<int>(Properties::RectExtended), 0);
47 }
48 }
49
51 {
52 const auto rectEx = GetIntProperty(static_cast<int>(Properties::RectExtended));
53 if (rectEx == 1)
54 {
56 }
57 else
58 {
59 const auto rect = GetIntProperty(static_cast<int>(Properties::Rect));
60 if (rect == 1)
61 {
63 }
64 }
66 }
67
69 {
70 return SetIntProperty(static_cast<int>(Properties::MinSize), size);
71 }
72
73 inline int DataMatrix::MinimumSize() const
74 {
75 return GetIntProperty(static_cast<int>(Properties::MinSize));
76 }
77
79 {
80 return SetIntProperty(static_cast<int>(Properties::MaxSize), size);
81 }
82
83 inline int DataMatrix::MaximumSize() const
84 {
85 return GetIntProperty(static_cast<int>(Properties::MaxSize));
86 }
87
89 {
90 return SetIntProperty(static_cast<int>(Properties::MinNumModules), value);
91 }
92
94 {
95 return GetIntProperty(static_cast<int>(Properties::MinNumModules));
96 }
97
99 {
100 return SetIntProperty(static_cast<int>(Properties::MaxNumModules), value);
101 }
102
104 {
105 return GetIntProperty(static_cast<int>(Properties::MaxNumModules));
106 }
107
109 {
110 return SetIntProperty(static_cast<int>(Properties::MaxModuleSize), size);
111 }
112
113 inline int DataMatrix::MaxModuleSize() const
114 {
115 return GetIntProperty(static_cast<int>(Properties::MaxModuleSize));
116 }
117
119 {
120 return SetIntProperty(static_cast<int>(Properties::MaxLineFilterSize), size);
121 }
122
124 {
125 return GetIntProperty(static_cast<int>(Properties::MaxLineFilterSize));
126 }
127
129 {
130 return SetIntProperty(static_cast<int>(Properties::FastDataMatrixSearch), static_cast<int>(value));
131 }
132
134 {
135 return GetIntProperty(static_cast<int>(Properties::FastDataMatrixSearch));
136 }
137#pragma endregion
138
139#pragma region QR and MicroQR
141 {
142 return SetIntProperty(static_cast<int>(Properties::Polarity), static_cast<int>(value));
143 }
144
145 inline Polarity QR::Polarity() const
146 {
147 return static_cast<Config::Polarity>(GetIntProperty(static_cast<int>(Properties::Polarity)));
148 }
149
150 inline QR &QR::SetMirroringEnabled(bool value)
151 {
152 return SetIntProperty(static_cast<int>(Properties::Mirror), static_cast<int>(value));
153 }
154
155 inline bool QR::IsMirroringEnabled() const
156 {
157 return static_cast<bool>(GetIntProperty(static_cast<int>(Properties::Mirror)));
158 }
159
160 inline QR &QR::SetPreciseCornersEnabled(bool value)
161 {
162 return SetIntProperty(static_cast<int>(Properties::PreciseCorner), static_cast<int>(value));
163 }
164
165 inline bool QR::IsPreciseCornersEnabled() const
166 {
167 return static_cast<bool>(GetIntProperty(static_cast<int>(Properties::PreciseCorner)));
168 }
169
170 inline MicroQR &MicroQR::Enable()
171 {
172 CVB_CALL_CAPI_CHECKED(
173 CVCRSetPropertyInt(decoder_.Handle(), static_cast<int>(ReverseMapper<MicroQR>().type), 1));
174 return *this;
175 }
176
177 inline MicroQR &MicroQR::Disable()
178 {
179 CVB_CALL_CAPI_CHECKED(
180 CVCRSetPropertyInt(decoder_.Handle(), static_cast<int>(ReverseMapper<MicroQR>().type), 0));
181 return *this;
182 }
183
184 inline bool MicroQR::Enabled() const
185 {
186 return static_cast<bool>(GetIntProperty(static_cast<int>(ReverseMapper<MicroQR>().type)));
187 }
188#pragma endregion
189
190 } // namespace Config
191 } // namespace CodeReader
192
193 CVB_END_INLINE_NS
194} // 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:133
int MaxNumberModules() const
Gets the maximum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:103
DataMatrix & SetMinimumSize(int size)
Sets the minimum Data Matrix size.
Definition detail_config_2d_codes.hpp:68
DataMatrix & SetFastDataMatrixSearchEnabled(bool value)
Enables or disables fast Data Matrix search based on the given value.
Definition detail_config_2d_codes.hpp:128
Config::RectangularDecoding RectangularDecoding() const
Gets the currently configured rectangular decoding mode.
Definition detail_config_2d_codes.hpp:50
int MaximumSize() const
Gets the maximum Data Matrix size.
Definition detail_config_2d_codes.hpp:83
DataMatrix & SetMaximumSize(int size)
Sets the maximum Data Matrix size.
Definition detail_config_2d_codes.hpp:78
int MinNumberModules() const
Gets the minimum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:93
DataMatrix & SetMinNumberModules(int value)
Sets the minimum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:88
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:123
DataMatrix & SetMaxLineFilterSize(int size)
Sets the maximum line filter size in pixels.
Definition detail_config_2d_codes.hpp:118
DataMatrix & SetMaxNumberModules(int value)
Sets the maximum number of Data Matrix column modules.
Definition detail_config_2d_codes.hpp:98
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:108
int MaxModuleSize() const
Gets the maximum module size of Data Matrix in pixels.
Definition detail_config_2d_codes.hpp:113
int MinimumSize() const
Gets the minimum Data Matrix size.
Definition detail_config_2d_codes.hpp:73
bool Enabled() const
Checks if decoding for MicroQR codes is enabled.
Definition detail_config_2d_codes.hpp:184
MicroQR & Enable()
Enables decoding for the MicroQR codes.
Definition detail_config_2d_codes.hpp:170
MicroQR & Disable()
Disables decoding for MicroQR codes.
Definition detail_config_2d_codes.hpp:177
QR & SetMirroringEnabled(bool value)
Enables or disables mirroring based on the given value.
Definition detail_config_2d_codes.hpp:150
bool IsMirroringEnabled() const
Check whether mirroring is enabled.
Definition detail_config_2d_codes.hpp:155
bool IsPreciseCornersEnabled() const
Check whether the calculation of more precise corner coordinates is enabled.
Definition detail_config_2d_codes.hpp:165
QR & SetPolarity(Polarity value)
Sets polarity mode for decoding.
Definition detail_config_2d_codes.hpp:140
Config::Polarity Polarity() const
Gets the currently configured polarity mode.
Definition detail_config_2d_codes.hpp:145
QR & SetPreciseCornersEnabled(bool value)
Enables or disables the calculation of more precise corner coordinates.
Definition detail_config_2d_codes.hpp:160
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