Enrollment
28.2.0
Theme:
Default
Robot
Toggle main menu visibility
Loading...
Searching...
No Matches
PrintPosition.h
Go to the documentation of this file.
1
9
10
#pragma once
11
#include "
enrollment/Exception/EnrollmentException.h
"
12
#include "enrollment/Export.h"
13
#include <ostream>
14
15
namespace
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,
78
RIGHT_WRITERS_PALM
= 22,
82
LEFT_FULL_PALM
= 23,
86
LEFT_WRITERS_PALM
= 24,
90
RIGHT_LOWER_PALM
= 25,
94
RIGHT_UPPER_PALM
= 26,
98
LEFT_LOWER_PALM
= 27,
102
LEFT_UPPER_PALM
= 28,
106
RIGHT_INTERDIGITAL
= 31,
110
RIGHT_THENAR
= 32,
114
RIGHT_HYPOTHENAR
= 33,
118
LEFT_INTERDIGITAL
= 34,
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:
144
return
PrintPosition::RIGHT_THUMB
;
145
case
2:
146
return
PrintPosition::RIGHT_INDEX
;
147
case
3:
148
return
PrintPosition::RIGHT_MIDDLE
;
149
case
4:
150
return
PrintPosition::RIGHT_RING
;
151
case
5:
152
return
PrintPosition::RIGHT_LITTLE
;
153
case
6:
154
return
PrintPosition::LEFT_THUMB
;
155
case
7:
156
return
PrintPosition::LEFT_INDEX
;
157
case
8:
158
return
PrintPosition::LEFT_MIDDLE
;
159
case
9:
160
return
PrintPosition::LEFT_RING
;
161
case
10:
162
return
PrintPosition::LEFT_LITTLE
;
163
case
21:
164
return
PrintPosition::RIGHT_FULL_PALM
;
165
case
22:
166
return
PrintPosition::RIGHT_WRITERS_PALM
;
167
case
23:
168
return
PrintPosition::LEFT_FULL_PALM
;
169
case
24:
170
return
PrintPosition::LEFT_WRITERS_PALM
;
171
case
25:
172
return
PrintPosition::RIGHT_LOWER_PALM
;
173
case
26:
174
return
PrintPosition::RIGHT_UPPER_PALM
;
175
case
27:
176
return
PrintPosition::LEFT_LOWER_PALM
;
177
case
28:
178
return
PrintPosition::LEFT_UPPER_PALM
;
179
case
31:
180
return
PrintPosition::RIGHT_INTERDIGITAL
;
181
case
32:
182
return
PrintPosition::RIGHT_THENAR
;
183
case
33:
184
return
PrintPosition::RIGHT_HYPOTHENAR
;
185
case
34:
186
return
PrintPosition::LEFT_INTERDIGITAL
;
187
case
35:
188
return
PrintPosition::LEFT_THENAR
;
189
case
36:
190
return
PrintPosition::LEFT_HYPOTHENAR
;
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
{
209
case
PrintPosition::RIGHT_THUMB
:
210
return
1;
211
case
PrintPosition::RIGHT_INDEX
:
212
return
2;
213
case
PrintPosition::RIGHT_MIDDLE
:
214
return
3;
215
case
PrintPosition::RIGHT_RING
:
216
return
4;
217
case
PrintPosition::RIGHT_LITTLE
:
218
return
5;
219
case
PrintPosition::LEFT_THUMB
:
220
return
6;
221
case
PrintPosition::LEFT_INDEX
:
222
return
7;
223
case
PrintPosition::LEFT_MIDDLE
:
224
return
8;
225
case
PrintPosition::LEFT_RING
:
226
return
9;
227
case
PrintPosition::LEFT_LITTLE
:
228
return
10;
229
case
PrintPosition::RIGHT_FULL_PALM
:
230
return
21;
231
case
PrintPosition::RIGHT_WRITERS_PALM
:
232
return
22;
233
case
PrintPosition::LEFT_FULL_PALM
:
234
return
23;
235
case
PrintPosition::LEFT_WRITERS_PALM
:
236
return
24;
237
case
PrintPosition::RIGHT_LOWER_PALM
:
238
return
25;
239
case
PrintPosition::RIGHT_UPPER_PALM
:
240
return
26;
241
case
PrintPosition::LEFT_LOWER_PALM
:
242
return
27;
243
case
PrintPosition::LEFT_UPPER_PALM
:
244
return
28;
245
case
PrintPosition::RIGHT_INTERDIGITAL
:
246
return
31;
247
case
PrintPosition::RIGHT_THENAR
:
248
return
32;
249
case
PrintPosition::RIGHT_HYPOTHENAR
:
250
return
33;
251
case
PrintPosition::LEFT_INTERDIGITAL
:
252
return
34;
253
case
PrintPosition::LEFT_THENAR
:
254
return
35;
255
case
PrintPosition::LEFT_HYPOTHENAR
:
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
{
269
case
PrintPosition::RIGHT_THUMB
:
270
os <<
"RIGHT_THUMB"
;
271
break
;
272
case
PrintPosition::RIGHT_INDEX
:
273
os <<
"RIGHT_INDEX"
;
274
break
;
275
case
PrintPosition::RIGHT_MIDDLE
:
276
os <<
"RIGHT_MIDDLE"
;
277
break
;
278
case
PrintPosition::RIGHT_RING
:
279
os <<
"RIGHT_RING"
;
280
break
;
281
case
PrintPosition::RIGHT_LITTLE
:
282
os <<
"RIGHT_LITTLE"
;
283
break
;
284
case
PrintPosition::LEFT_THUMB
:
285
os <<
"LEFT_THUMB"
;
286
break
;
287
case
PrintPosition::LEFT_INDEX
:
288
os <<
"LEFT_INDEX"
;
289
break
;
290
case
PrintPosition::LEFT_MIDDLE
:
291
os <<
"LEFT_MIDDLE"
;
292
break
;
293
case
PrintPosition::LEFT_RING
:
294
os <<
"LEFT_RING"
;
295
break
;
296
case
PrintPosition::LEFT_LITTLE
:
297
os <<
"LEFT_LITTLE"
;
298
break
;
299
case
PrintPosition::RIGHT_FULL_PALM
:
300
os <<
"RIGHT_FULL_PALM"
;
301
break
;
302
case
PrintPosition::RIGHT_WRITERS_PALM
:
303
os <<
"RIGHT_WRITERS_PALM"
;
304
break
;
305
case
PrintPosition::LEFT_FULL_PALM
:
306
os <<
"LEFT_FULL_PALM"
;
307
break
;
308
case
PrintPosition::LEFT_WRITERS_PALM
:
309
os <<
"LEFT_WRITERS_PALM"
;
310
break
;
311
case
PrintPosition::RIGHT_LOWER_PALM
:
312
os <<
"RIGHT_LOWER_PALM"
;
313
break
;
314
case
PrintPosition::RIGHT_UPPER_PALM
:
315
os <<
"RIGHT_UPPER_PALM"
;
316
break
;
317
case
PrintPosition::LEFT_LOWER_PALM
:
318
os <<
"LEFT_LOWER_PALM"
;
319
break
;
320
case
PrintPosition::LEFT_UPPER_PALM
:
321
os <<
"LEFT_UPPER_PALM"
;
322
break
;
323
case
PrintPosition::RIGHT_INTERDIGITAL
:
324
os <<
"RIGHT_INTERDIGITAL"
;
325
break
;
326
case
PrintPosition::RIGHT_THENAR
:
327
os <<
"RIGHT_THENAR"
;
328
break
;
329
case
PrintPosition::RIGHT_HYPOTHENAR
:
330
os <<
"RIGHT_HYPOTHENAR"
;
331
break
;
332
case
PrintPosition::LEFT_INTERDIGITAL
:
333
os <<
"LEFT_INTERDIGITAL"
;
334
break
;
335
case
PrintPosition::LEFT_THENAR
:
336
os <<
"LEFT_THENAR"
;
337
break
;
338
case
PrintPosition::LEFT_HYPOTHENAR
:
339
os <<
"LEFT_HYPOTHENAR"
;
340
break
;
341
}
342
return
os;
343
}
344
}
// namespace inno
EnrollmentException.h
EnrollmentInvalidArgumentException
Base exception for all enrollment-sdk invalid argument exceptions.
Definition
EnrollmentException.h:96
IsoToPrintPosition
static constexpr PrintPosition IsoToPrintPosition(int isoPosition)
Function converts ISO position to PrintPosition.
Definition
PrintPosition.h:138
PrintPosition
PrintPosition
It is position of finger on hands.
Definition
PrintPosition.h:29
PrintToIsoPosition
static constexpr int PrintToIsoPosition(PrintPosition position)
Function converts Print position to ISO position.
Definition
PrintPosition.h:204
PrintPosition::RIGHT_RING
@ RIGHT_RING
Ring on right hand.
Definition
PrintPosition.h:45
PrintPosition::RIGHT_UPPER_PALM
@ RIGHT_UPPER_PALM
Right upper palm.
Definition
PrintPosition.h:93
PrintPosition::RIGHT_HYPOTHENAR
@ RIGHT_HYPOTHENAR
Right hypo thenar palm.
Definition
PrintPosition.h:113
PrintPosition::LEFT_LOWER_PALM
@ LEFT_LOWER_PALM
Left lower palm.
Definition
PrintPosition.h:97
PrintPosition::LEFT_WRITERS_PALM
@ LEFT_WRITERS_PALM
Left writer palm.
Definition
PrintPosition.h:85
PrintPosition::RIGHT_INDEX
@ RIGHT_INDEX
Index on right hand.
Definition
PrintPosition.h:37
PrintPosition::LEFT_HYPOTHENAR
@ LEFT_HYPOTHENAR
Left hypo thenar palm.
Definition
PrintPosition.h:125
PrintPosition::RIGHT_THENAR
@ RIGHT_THENAR
Right thenar palm.
Definition
PrintPosition.h:109
PrintPosition::LEFT_LITTLE
@ LEFT_LITTLE
Little finger on left hand.
Definition
PrintPosition.h:69
PrintPosition::LEFT_INDEX
@ LEFT_INDEX
Index on left hand.
Definition
PrintPosition.h:57
PrintPosition::LEFT_RING
@ LEFT_RING
Ring on left hand.
Definition
PrintPosition.h:65
PrintPosition::LEFT_FULL_PALM
@ LEFT_FULL_PALM
Left full palm.
Definition
PrintPosition.h:81
PrintPosition::RIGHT_INTERDIGITAL
@ RIGHT_INTERDIGITAL
Right interdigital palm.
Definition
PrintPosition.h:105
PrintPosition::LEFT_THUMB
@ LEFT_THUMB
Thumb on left hand.
Definition
PrintPosition.h:53
PrintPosition::RIGHT_WRITERS_PALM
@ RIGHT_WRITERS_PALM
Right writer palm.
Definition
PrintPosition.h:77
PrintPosition::RIGHT_FULL_PALM
@ RIGHT_FULL_PALM
Right full palm.
Definition
PrintPosition.h:73
PrintPosition::LEFT_INTERDIGITAL
@ LEFT_INTERDIGITAL
Left interdigital palm.
Definition
PrintPosition.h:117
PrintPosition::LEFT_UPPER_PALM
@ LEFT_UPPER_PALM
Left upper palm.
Definition
PrintPosition.h:101
PrintPosition::LEFT_THENAR
@ LEFT_THENAR
Left thenar palm.
Definition
PrintPosition.h:121
PrintPosition::RIGHT_LOWER_PALM
@ RIGHT_LOWER_PALM
Right lower palm.
Definition
PrintPosition.h:89
PrintPosition::LEFT_MIDDLE
@ LEFT_MIDDLE
Middle on left hand.
Definition
PrintPosition.h:61
PrintPosition::RIGHT_LITTLE
@ RIGHT_LITTLE
Little on right hand.
Definition
PrintPosition.h:49
PrintPosition::RIGHT_MIDDLE
@ RIGHT_MIDDLE
Middle on right hand.
Definition
PrintPosition.h:41
PrintPosition::RIGHT_THUMB
@ RIGHT_THUMB
Thumb on right hand.
Definition
PrintPosition.h:33
Print
PrintAttributes
PrintPosition.h
Generated by
1.17.0