46 return "kLeiaFaceDetectorBackendCPU";
48 return "kLeiaFaceDetectorBackendGPU";
50 return "kLeiaFaceDetectorBackendDSP";
52 return "kLeiaFaceDetectorBackendUnknown";
76 return "kLeiaFaceDetectorInputTypeCPU";
78 return "kLeiaFaceDetectorInputTypeGPU";
80 return "kLeiaFaceDetectorInputTypeUnknown";
104 if (str ==
"Landscape")
108 else if (str ==
"Portrait")
112 else if (str ==
"ReverseLandscape")
116 else if (str ==
"ReversePortrait")
139 int32_t numSteps = 0;
140 int32_t it = int32_t(from);
141 int32_t end = int32_t(to);
147 return numSteps * 90;
163 std::memset(v, 0,
sizeof(v));
167 std::string str = std::to_string(
id);
168 std::memcpy(v, str.data(), std::min(str.size(),
sizeof(v)));
172 std::memcpy(v, str.data(), std::min(str.size(),
sizeof(v)));
175 explicit operator std::string_view()
const
177 return {v, strnlen(v,
sizeof(v))};
179 explicit operator bool()
const
185 return std::string_view{*
this} == std::string_view{rhs};
191static_assert(std::is_trivially_copyable_v<CameraID>);
LEIA_NODISCARD const char * leia_orientation_to_ui_str(enum leia_orientation orientation)
Definition types.h:130
leia_orientation
Definition types.h:108
@ LEIA_ORIENTATION_LANDSCAPE
Definition types.h:110
@ LEIA_ORIENTATION_UNSPECIFIED
Definition types.h:109
@ LEIA_ORIENTATION_REVERSE_PORTRAIT
Definition types.h:113
@ LEIA_ORIENTATION_COUNT
Definition types.h:114
@ LEIA_ORIENTATION_PORTRAIT
Definition types.h:111
@ LEIA_ORIENTATION_REVERSE_LANDSCAPE
Definition types.h:112
leia_timestamp_space
Definition types.h:16
#define LEIA_FORCE_INLINE
Definition defines.h:56
#define LEIA_NODISCARD
Definition defines.h:86
FaceDetectorBackend
Definition types.hpp:12
@ kLeiaFaceDetectorBackendGPU
Definition types.hpp:15
@ kNumLeiaFaceDetectorBackends
Definition types.hpp:18
@ kLeiaFaceDetectorBackendUnknown
Definition types.hpp:13
@ kLeiaFaceDetectorBackendDSP
Definition types.hpp:16
@ kLeiaFaceDetectorBackendCPU
Definition types.hpp:14
LEIA_NODISCARD LEIA_FORCE_INLINE const char * ToStr(FaceDetectorBackend backend)
Definition types.hpp:41
constexpr int32_t GetRelativeClockwiseAngle(Orientation from, Orientation to)
Definition types.hpp:132
LEIA_NODISCARD LEIA_FORCE_INLINE const char * ToUiStr(FaceDetectorBackend backend)
Definition types.hpp:56
constexpr bool IsValid(Orientation orientation)
Definition types.hpp:127
FaceDetectorInputType
Definition types.hpp:21
@ kLeiaFaceDetectorInputTypeUnknown
Definition types.hpp:22
@ kLeiaFaceDetectorInputTypeGPU
Definition types.hpp:24
@ kNumLeiaFaceDetectorInputTypes
Definition types.hpp:26
@ kLeiaFaceDetectorInputTypeCPU
Definition types.hpp:23
bool FromStr(std::string_view const &str, Orientation *out)
Definition types.hpp:102
std::array< float, 3 > rotation
Definition types.hpp:198
std::array< float, 3 > translation
Definition types.hpp:197
CameraID id
Definition types.hpp:194
struct leia_camera_intrinsics intrinsics
Definition types.hpp:199
Orientation sensorOrientation
Definition types.hpp:196
bool frontFacing
Definition types.hpp:195
bool operator==(CameraID const &rhs) const
Definition types.hpp:183
CameraID(std::string_view const &str)
Definition types.hpp:170
CameraID()
Definition types.hpp:161
@ kMaxSize
Definition types.hpp:158
CameraID(int id)
Definition types.hpp:165
enum FaceDetectorInputType inputType
Definition types.hpp:31
enum FaceDetectorBackend backend
Definition types.hpp:30
int32_t width
Definition types.hpp:205
CameraID cameraId
Definition types.hpp:203
int32_t height
Definition types.hpp:206
int32_t fps
Definition types.hpp:207
std::array< float, 4 > filterParams
Definition types.hpp:208
float headPoseZLowPassAlpha
Definition types.hpp:209
Camera * camera
Definition types.hpp:204