Enrollment 28.2.0
Loading...
Searching...
No Matches
IrisAttributes.h
Go to the documentation of this file.
1
9
10#pragma once
14#include "IrisImageType.h"
15#include "enrollment/Export.h"
16#include <mutex>
17#include <ostream>
18
19namespace inno
20{
21
31 */
32 class IrisAttributes
33 {
34 public:
38 IrisAttributes() = default;
39
43 */
45 : captureDeviceTechnology(ia.GetCaptureDeviceTechnology())
46 , captureDeviceVendor(ia.GetCaptureDeviceVendorID())
47 , captureDeviceType(ia.GetCaptureDeviceTypeID())
48 {
49 }
50
54 */
55 IrisAttributes(IrisAttributes&& ia) noexcept
56 : captureDeviceTechnology(ia.GetCaptureDeviceTechnology())
57 , captureDeviceVendor(ia.GetCaptureDeviceVendorID())
58 , captureDeviceType(ia.GetCaptureDeviceTypeID())
59 {
60 }
61
66 */
68 {
69 // Checks for self-assignment of operator.
70 if (&ia == this)
71 {
72 return *this;
73 }
74
75 const std::scoped_lock lock(irisAttributeMutex, ia.irisAttributeMutex);
76
77 captureDeviceTechnology = ia.captureDeviceTechnology;
78 captureDeviceVendor = ia.captureDeviceVendor;
79 captureDeviceType = ia.captureDeviceType;
80
81 return *this;
82 }
83
88 */
90 {
91 const std::scoped_lock lock(irisAttributeMutex, ia.irisAttributeMutex);
92
93 captureDeviceTechnology = ia.captureDeviceTechnology;
94 captureDeviceVendor = ia.captureDeviceVendor;
95 captureDeviceType = ia.captureDeviceType;
96
97 return *this;
98 }
99
100 virtual ~IrisAttributes() = default;
101
107 */
108 constexpr bool operator==(const IrisAttributes& ia) const
109 {
110 return captureDeviceTechnology == ia.captureDeviceTechnology &&
111 captureDeviceVendor == ia.captureDeviceVendor && captureDeviceType == ia.captureDeviceType &&
112 imageType == ia.imageType;
113 }
114
118 */
120 {
121 const std::scoped_lock lock(irisAttributeMutex);
122 captureDeviceTechnology = technology;
123 }
124
128 */
130 {
131 const std::scoped_lock lock(irisAttributeMutex);
132 return captureDeviceTechnology;
133 }
134
138 */
140 {
141 const std::scoped_lock lock(irisAttributeMutex);
142 captureDeviceVendor = vendor;
143 }
144
148 */
150 {
151 const std::scoped_lock lock(irisAttributeMutex);
152 return captureDeviceVendor;
153 }
154
158 */
160 {
161 const std::scoped_lock lock(irisAttributeMutex);
162 captureDeviceType = type;
163 }
164
168 */
170 {
171 const std::scoped_lock lock(irisAttributeMutex);
172 return captureDeviceType;
173 }
174
178 */
179 [[nodiscard]] IrisImageType GetImageType() const
180 {
181 const std::scoped_lock lock(irisAttributeMutex);
182 return imageType;
183 }
184
188 */
189 void SetImageType(IrisImageType type)
190 {
191 const std::scoped_lock lock(irisAttributeMutex);
192 imageType = type;
193 }
194
195 private:
196 mutable std::mutex irisAttributeMutex;
197
199 IrisCaptureDeviceVendorID captureDeviceVendor{ 0 };
200 IrisCaptureDeviceTypeID captureDeviceType{ 0 };
202 };
203
204} // namespace inno
Iris attributes Holds the iris attributes.
Definition IrisAttributes.h:32
IrisAttributes & operator=(IrisAttributes &&ia) noexcept
Assign the iris attributes.
Definition IrisAttributes.h:88
IrisAttributes(IrisAttributes &&ia) noexcept
Move constructor of iris attributes.
Definition IrisAttributes.h:54
IrisImageType GetImageType() const
Provides capture image type.
Definition IrisAttributes.h:178
IrisCaptureDeviceTypeID GetCaptureDeviceTypeID() const
Provides capture device type ID.
Definition IrisAttributes.h:168
IrisAttributes(const IrisAttributes &ia)
Copy constructor of iris attributes.
Definition IrisAttributes.h:43
void SetCaptureDeviceTechnology(IrisCaptureDeviceTechnology technology)
Sets capture device technology.
Definition IrisAttributes.h:118
void SetImageType(IrisImageType type)
Set capture image type.
Definition IrisAttributes.h:188
void SetCaptureDeviceVendorID(IrisCaptureDeviceVendorID vendor)
Sets capture device vendor ID.
Definition IrisAttributes.h:138
IrisAttributes & operator=(const IrisAttributes &ia)
Assign the iris attributes.
Definition IrisAttributes.h:66
IrisAttributes()=default
Default constructor of iris attributes.
IrisCaptureDeviceVendorID GetCaptureDeviceVendorID() const
Provides capture device vendor ID.
Definition IrisAttributes.h:148
IrisCaptureDeviceTechnology GetCaptureDeviceTechnology() const
Provides capture device technology.
Definition IrisAttributes.h:128
void SetCaptureDeviceTypeID(IrisCaptureDeviceTypeID type)
Sets capture device type ID.
Definition IrisAttributes.h:158
constexpr bool operator==(const IrisAttributes &ia) const
Compares the iris attributes.
Definition IrisAttributes.h:107
The capture device type identifier shall identify the product type that created the BDIR.
Definition IrisCaptureDeviceTypeID.h:22
Capture device vendor identifier The capture device vendor identifier shall identify the biometric or...
Definition IrisCaptureDeviceVendorID.h:24
IrisImageType
It shall indicate type of iris image iso_19794-6_2011.
Definition IrisImageType.h:19
IrisCaptureDeviceTechnology
It shall indicate the class of capture device technology used to acquire the captured biometric sampl...
Definition IrisCaptureDeviceTechnology.h:22
@ UNCROPPED
An uncropped rectilinear iris image.
Definition IrisImageType.h:23
@ UNKNOWN
Unknown or Unspecified.
Definition IrisCaptureDeviceTechnology.h:24