Enrollment 28.2.0
Loading...
Searching...
No Matches
PrintPosition.h
Go to the documentation of this file.
1
9
10#pragma once
12#include "enrollment/Export.h"
13#include <ostream>
14
15namespace inno
16{
28 */
29 enum class PrintPosition : uint8_t
30 {
34 RIGHT_THUMB = 1,
38 RIGHT_INDEX = 2,
42 RIGHT_MIDDLE = 3,
46 RIGHT_RING = 4,
50 RIGHT_LITTLE = 5,
54 LEFT_THUMB = 6,
58 LEFT_INDEX = 7,
62 LEFT_MIDDLE = 8,
66 LEFT_RING = 9,
70 LEFT_LITTLE = 10,
74 RIGHT_FULL_PALM = 21,
82 LEFT_FULL_PALM = 23,
98 LEFT_LOWER_PALM = 27,
102 LEFT_UPPER_PALM = 28,
110 RIGHT_THENAR = 32,
114 RIGHT_HYPOTHENAR = 33,
122 LEFT_THENAR = 35,
126 LEFT_HYPOTHENAR = 36,
127 };
128
129 // The numbers are from ISO standard
130 // NOLINTBEGIN(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
131
138 */
139 static constexpr PrintPosition IsoToPrintPosition(int isoPosition)
140 {
141 switch (isoPosition)
142 {
143 case 1:
145 case 2:
147 case 3:
149 case 4:
151 case 5:
153 case 6:
155 case 7:
157 case 8:
159 case 9:
161 case 10:
163 case 21:
165 case 22:
167 case 23:
169 case 24:
171 case 25:
173 case 26:
175 case 27:
177 case 28:
179 case 31:
181 case 32:
183 case 33:
185 case 34:
187 case 35:
189 case 36:
191 default:
192 break;
193 }
194
195 throw EnrollmentInvalidArgumentException("Invalid conversion from ISO to PrintPosition");
196 }
197
204 */
205 static constexpr int PrintToIsoPosition(PrintPosition position)
206 {
207 switch (position)
208 {
210 return 1;
212 return 2;
214 return 3;
216 return 4;
218 return 5;
220 return 6;
222 return 7;
224 return 8;
226 return 9;
228 return 10;
230 return 21;
232 return 22;
234 return 23;
236 return 24;
238 return 25;
240 return 26;
242 return 27;
244 return 28;
246 return 31;
248 return 32;
250 return 33;
252 return 34;
254 return 35;
256 return 36;
257 default:
258 break;
259 }
260
261 throw EnrollmentInvalidArgumentException("Invalid conversion from PrintPosition to ISO");
262 }
263 // NOLINTEND(cppcoreguidelines-avoid-magic-numbers,readability-magic-numbers)
264
265 inline std::ostream& operator<<(std::ostream& os, PrintPosition p)
266 {
267 switch (p)
268 {
270 os << "RIGHT_THUMB";
271 break;
273 os << "RIGHT_INDEX";
274 break;
276 os << "RIGHT_MIDDLE";
277 break;
279 os << "RIGHT_RING";
280 break;
282 os << "RIGHT_LITTLE";
283 break;
285 os << "LEFT_THUMB";
286 break;
288 os << "LEFT_INDEX";
289 break;
291 os << "LEFT_MIDDLE";
292 break;
294 os << "LEFT_RING";
295 break;
297 os << "LEFT_LITTLE";
298 break;
300 os << "RIGHT_FULL_PALM";
301 break;
303 os << "RIGHT_WRITERS_PALM";
304 break;
306 os << "LEFT_FULL_PALM";
307 break;
309 os << "LEFT_WRITERS_PALM";
310 break;
312 os << "RIGHT_LOWER_PALM";
313 break;
315 os << "RIGHT_UPPER_PALM";
316 break;
318 os << "LEFT_LOWER_PALM";
319 break;
321 os << "LEFT_UPPER_PALM";
322 break;
324 os << "RIGHT_INTERDIGITAL";
325 break;
327 os << "RIGHT_THENAR";
328 break;
330 os << "RIGHT_HYPOTHENAR";
331 break;
333 os << "LEFT_INTERDIGITAL";
334 break;
336 os << "LEFT_THENAR";
337 break;
339 os << "LEFT_HYPOTHENAR";
340 break;
341 }
342 return os;
343 }
344} // namespace inno
Base exception for all enrollment-sdk invalid argument exceptions.
Definition EnrollmentException.h:96
static constexpr PrintPosition IsoToPrintPosition(int isoPosition)
Function converts ISO position to PrintPosition.
Definition PrintPosition.h:138
PrintPosition
It is position of finger on hands.
Definition PrintPosition.h:29
static constexpr int PrintToIsoPosition(PrintPosition position)
Function converts Print position to ISO position.
Definition PrintPosition.h:204
@ RIGHT_RING
Ring on right hand.
Definition PrintPosition.h:45
@ RIGHT_UPPER_PALM
Right upper palm.
Definition PrintPosition.h:93
@ RIGHT_HYPOTHENAR
Right hypo thenar palm.
Definition PrintPosition.h:113
@ LEFT_LOWER_PALM
Left lower palm.
Definition PrintPosition.h:97
@ LEFT_WRITERS_PALM
Left writer palm.
Definition PrintPosition.h:85
@ RIGHT_INDEX
Index on right hand.
Definition PrintPosition.h:37
@ LEFT_HYPOTHENAR
Left hypo thenar palm.
Definition PrintPosition.h:125
@ RIGHT_THENAR
Right thenar palm.
Definition PrintPosition.h:109
@ LEFT_LITTLE
Little finger on left hand.
Definition PrintPosition.h:69
@ LEFT_INDEX
Index on left hand.
Definition PrintPosition.h:57
@ LEFT_RING
Ring on left hand.
Definition PrintPosition.h:65
@ LEFT_FULL_PALM
Left full palm.
Definition PrintPosition.h:81
@ RIGHT_INTERDIGITAL
Right interdigital palm.
Definition PrintPosition.h:105
@ LEFT_THUMB
Thumb on left hand.
Definition PrintPosition.h:53
@ RIGHT_WRITERS_PALM
Right writer palm.
Definition PrintPosition.h:77
@ RIGHT_FULL_PALM
Right full palm.
Definition PrintPosition.h:73
@ LEFT_INTERDIGITAL
Left interdigital palm.
Definition PrintPosition.h:117
@ LEFT_UPPER_PALM
Left upper palm.
Definition PrintPosition.h:101
@ LEFT_THENAR
Left thenar palm.
Definition PrintPosition.h:121
@ RIGHT_LOWER_PALM
Right lower palm.
Definition PrintPosition.h:89
@ LEFT_MIDDLE
Middle on left hand.
Definition PrintPosition.h:61
@ RIGHT_LITTLE
Little on right hand.
Definition PrintPosition.h:49
@ RIGHT_MIDDLE
Middle on right hand.
Definition PrintPosition.h:41
@ RIGHT_THUMB
Thumb on right hand.
Definition PrintPosition.h:33