| Face Engine SDK 5.35.0 A face detection, recognition and tracking engine.

Classes | Typedefs | Enumerations | Functions
fsdk Namespace Reference

SDK namespace. More...

## Classes
struct | AID
| Activation identifier structure. More...
struct | BaseRect
| Rectangle. More...
struct | Detection
| Detection structure. Stores a detected bounding box within a source image rect. More...
struct | ErrorTraits
struct | ErrorTraits< FSDKError >
| Specialized for FSDKError. More...
struct | ErrorTraits< FutureError >
| Specialized for Future::Error. More...
struct | ErrorTraits< IDescriptorBatch::Error >
| Specialized for DescriptorBatchError. More...
struct | ErrorTraits< Image::Error >
| Specialized for Image::Error. More...
struct | ErrorTraits< ISerializableObject::Error >
| Specialized for ISerializableObject::SerializationError. More...
struct | ErrorTraits< ISettingsProvider::Error >
| Specialized for ISettingsProvider::ParseError. More...
struct | ErrorTraits< MultiError< E0, E1 > >
| Specialized for MultiError. More...
struct | ErrorTraits< PromiseError >
| Specialized for Promise::Error. More...
struct | Exception
struct | EyeCropper
| EyeCropper is a helper structure for IEyeEstimator interface Methods of this structure crop an input warped image and returns rectangle coordinates of each eye. More...
struct | EyesEstimation
| Eyes estimation output. More...
struct | Face
struct | FaceOcclusionEstimation
| FaceOcclusionEstimation structure. This structure is used to check for occlusions in various parts of the face (such as the lower face, nose, eyes, or forehead). It contains the result of FaceOcclusionState and FaceOcclusionType estimations for each image. More...
struct | Fingerprint
| Fingreprint structure. More...
struct | Format
| Image format. More...
class | FunctionDetectionComparer
| Syntax sugar, allows you to use lambdas to define a BestDetection comparer. More...
class | Future
| Future class to support asynchronous data retrieval Look into std::future semantics to understand it. More...
struct | GazeEstimation
| Gaze estimation output. More...
struct | HeadPoseEstimation
| Head pose estimation output. More...
struct | Human
struct | IAGSEstimator
| Approximate Garbage Score estimator interface. More...
struct | IArchive
| Archive interface. More...
struct | IAsyncContext
| Interface for running tasks asynchronously. More...
struct | IBestShotQualityEstimator
| BestShotQuality estimator interface. More...
struct | IDataStorageObject
| Data storage object interface helper. More...
struct | IDescriptor
| Descriptor interface. More...
struct | IDescriptorBatch
| Descriptor batch interface. More...
struct | IDescriptorExtractor
| Descriptor extractor interface. More...
struct | IDescriptorMatcher
| Descriptor matcher interface. More...
struct | IDetectionBatch
| Detection result batch interface. More...
class | IDetectionComparer
| Interface of BestDetection comparer. Implement it if you want to use own BestDetection strategy. More...
struct | IDetector
| face detector interface. More...
struct | IEthnicityEstimator
struct | IEyeEstimator
| Eye estimator interface. More...
struct | IFaceDetectionBatch
| Face detection result batch interface. More...
struct | IFaceEngineMobile
| Root LUNA SDK object interface. More...
struct | IFaceEnginePos
| Root LUNA SDK object interface. More...
struct | IFaceLandmarksBatch
| Landmarks result batch interface. More...
struct | IFaceLandmarksDetector
struct | IFaceOcclusionEstimator
| FaceOcclusion estimator interface. More...
struct | IGazeEstimator
| Gaze estimator interface. More...
struct | IGlassesEstimator
| Glasses estimator interface. More...
struct | IHeadPoseEstimator
| Head pose angles estimator interface. More...
struct | IImagesBatch
| Result of ImageTransfer module. More...
struct | IImageTransfer
| Image transfer facility which give speed up of usage internal memory pool. More...
struct | ILicense
| License objects interface. More...
struct | ILivenessOneShotRGBEstimator
| OneShot RGB Liveness estimator interface. More...
struct | Image
| Image. More...
struct | IMedicalMaskEstimator
| MedicalMask estimator interface. More...
struct | IMouthEstimator
| Mouth estimator interface. More...
struct | IPointBatch
| Points result batch interface. More...
struct | IQualityEstimator
| Image quality estimator interface. More...
struct | IRefCounted
| Base strong reference counted object interface. More...
struct | IResultBatch
struct | ISerializableObject
| Serializable object interface. More...
struct | ISettingsProvider
| SDK settings provider interface. More...
struct | ISubjectiveQualityEstimator
| Image quality estimator interface. More...
struct | IWarper
| Face detection area warper interface. More...
struct | Landmarks
| Face landmarks template structure. More...
struct | Landmarks5Indexes
| Enumerates detected landmarks. Only valid for template with 5 landmarks. More...
struct | LaunchOptions
| LaunchOptions struct configures inference options on per-estimator/detector basis, giving user fine grained control over cpu/gpu utilisation. More...
struct | LivenessOneShotRGBEstimation
| Liveness OneShotRGB estimation structure. More...
struct | MatchingResult
| Result of descriptor matching. More...
struct | MedicalMaskEstimation
| MedicalMask estimator output structure. This structure contains the result of estimation (. More...
struct | MedicalMaskEstimationExtended
| MedicalMask estimator output structure. This structure contains the result of estimation (. More...
struct | MouthEstimation
| Mouth estimator output structure. Stores flags that indicates which mouth feature is present. Multiple state flags may be set to true meaning that the final mouth state is a combination of those. Probability scores are defined in [0,1] range. More...
struct | MouthEstimationExtended
| Extended mouth estimator output structure. Stores flags that indicates which mouth feature is present. Multiple state flags may be set to true meaning that the final mouth state is a combination of those. Probability scores are defined in [0,1] range. More...
struct | MultiError
| An error structure designed for functions which can return errors from different enum classes. More...
class | Noncopyable
| Helper class to block copy operator&constructor of its descendants. More...
class | Promise
| Promise class to support asynchronous data retrieval Look into std::promise semantics to understand it. More...
struct | Quality
| Quality estimation structure Each estimation is given in normalized [0, 1] range. Parameter meanings: More...
struct | Ref
| Smart pointer for reference counted objects. More...
struct | RefBase
| Generic base class of a pointer for reference counted objects. More...
struct | Result
| A structure that encapsulates an action result enumeration. More...
struct | ResultValue
| Addon for Result to output some value aside the result. Specialization for copiable types. More...
struct | ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value >::type >
struct | ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >
| Addon for Result to output some value aside the result. Specialization for non copiable types. More...
struct | Sizer
| Helper entity to measure size of dynamic objects in memory. More...
struct | SmileTypeScores
| Scores of smile type. Probability scores are defined in [0,1] range. Scores in this struct sum up to 1.0. We use them to decide if person is smiling with teeth's exposed or not. More...
class | Span
| Span. Not owning data view. It incapsulated pointer to the continuous array with one or more T objects. More...
struct | SubImage
| Sub Image. More...
struct | SubjectiveQuality
| Subjective Quality estimation structure Each estimation is given in normalized [0, 1] range. Parameter meanings: More...
struct | Transformation
| Transformation data structure, used for warping. More...
struct | Vector2
| Generic 2D vector. More...
struct | Version

## Typedefs
using | FaceEngineType = IFaceEngineMobile
using | FaceEnginePtrType = IFaceEngineMobilePtr
template<typename T >
using | Optional = vlc::optional< T >
using | ImageType = Image::Type
| Convenient type aliases for fsdk::Image enum classes.
using | ImageError = Image::Error
using | TargetDevice = Image::TargetDevice
using | ImageCompression = Image::ImageCompression
typedef Vector2< float > | Landmark
| Landmark floating point coordinates type.
using | Landmarks5 = Landmarks< 5 >
| alias for structure with 5 landmarks
using | Landmarks68 = Landmarks< 68 >
| alias for structure with 68 landmarks
using | Rect = BaseRect< int >
using | FloatRect = BaseRect< float >
typedef Vector2< float > | Point2f
typedef Vector2< double > | Point2d
typedef Vector2< int > | Point2i
typedef Vector2< unsigned int > | Point2u
typedef Vector2< unsigned short > | Point2us
typedef Vector2< int > | Size

## Enumerations
enum | FaceOcclusionType : uint8_t { FaceOcclusionType::Forehead = 0, FaceOcclusionType::LeftEye, FaceOcclusionType::RightEye, FaceOcclusionType::Nose, FaceOcclusionType::Mouth, FaceOcclusionType::LowerFace, FaceOcclusionType::Count }
| FaceOcclusionType enum. This enum contains all possible facial occlusion types. More...
enum | FaceOcclusionState : uint8_t { FaceOcclusionState::NotOccluded = 0, FaceOcclusionState::Occluded, FaceOcclusionState::Count }
| FaceOcclusionState enum. This enum contains all possible facial occlusion states. More...
enum | GlassesEstimation : uint8_t { GlassesEstimation::NoGlasses, GlassesEstimation::EyeGlasses, GlassesEstimation::SunGlasses, GlassesEstimation::EstimationError }
| Glasses estimation enum. More...
enum | MedicalMask { MedicalMask::Mask = 0, MedicalMask::NoMask, MedicalMask::OccludedFace }
| MedicalMask estimator output enum. This enum contains all possible estimation results. More...
enum | MedicalMaskExtended { MedicalMaskExtended::Mask = 0, MedicalMaskExtended::NoMask, MedicalMaskExtended::MaskNotInPlace, MedicalMaskExtended::OccludedFace }
| MedicalMask estimator output enum. This enum contains all possible extended estimation results. More...
enum | DetailedMaskType { DetailedMaskType::CorrectMask = 0, DetailedMaskType::MouthCoveredWithMask, DetailedMaskType::ClearFace, DetailedMaskType::ClearFaceWithMaskUnderChin, DetailedMaskType::PartlyCoveredFace, DetailedMaskType::FullMask, Count }
| MedicalMask estimator output enum. This enum contains all type of DetailedMaskType results. More...
enum | SmileType { SmileType::None, SmileType::SmileLips, SmileType::SmileOpen }
| MouthEstimationExtended smile type enum. This enum contains all possible smile types. More...
enum | FSDKError : uint32_t { FSDKError::Ok, FSDKError::Internal, FSDKError::InvalidInput, FSDKError::InvalidImage, FSDKError::InvalidRect, FSDKError::InvalidImageFormat, FSDKError::InvalidImageSize, FSDKError::InvalidDetection, FSDKError::InvalidLandmarks5, FSDKError::InvalidLandmarks68, FSDKError::InvalidTransformation, FSDKError::InvalidDescriptor, FSDKError::InvalidDescriptorBatch, FSDKError::InvalidSettingsProvider, FSDKError::InvalidDescriptorId, FSDKError::InvalidPath, FSDKError::InvalidSerializedObject, FSDKError::ModuleNotInitialized, FSDKError::ModuleNotReady, FSDKError::LicenseError, FSDKError::BufferIsNull, FSDKError::BufferIsFull, FSDKError::BufferIsEmpty, FSDKError::InvalidBufferSize, FSDKError::InvalidSpanSize, FSDKError::InvalidBatch, FSDKError::IncompatibleDescriptors, FSDKError::EnableJustInBetaMode, FSDKError::FiltredAggregationError, FSDKError::BatchedInternalError, UnsupportedFunctionality, HighMemoryUsage, FSDKError::IncompatibleModelVersions, FSDKError::ModelNotLoaded, FSDKError::InvalidConfig, FSDKError::LicenseIsNotActivated, FSDKError::LicenseActivationLimitExceeded, FSDKError::FeatureNotAvailable, FSDKError::FeatureExpired, FSDKError::FingerprintError, FSDKError::FingerprintInternalMismatch, FSDKError::ValidationFailed, FSDKError::CudaError, FSDKError::NotImplemented }
| Common SDK error codes. More...
enum | DescriptorType { DT_FACE, DT_HUMAN }
| Descriptor type enum. Determines which type of descriptor to use. More...
enum | DescriptorVersion : uint32_t { DV_MIN_FACE_DESCRIPTOR_VERSION = 54, DV_MIN_HUMAN_DESCRIPTOR_VERSION = 102 }
| Minimum descriptor model version. Determines which minimum version of descriptor to use. More...
enum | HumanDescriptorVersion : uint32_t { HDV_TRACKER_HUMAN_DESCRIPTOR_VERSION = 102, HDV_PRECISE_HUMAN_DESCRIPTOR_VERSION = 103, HDV_REGULAR_HUMAN_DESCRIPTOR_VERSION = 104, HDV_TRACKER_V2 = 105, HDV_PRECISE_V2 = 106, HDV_REGULAR_V2 = 107, HDV_TRACKER_V3 = 108, HDV_PRECISE_V3 = 109, HDV_REGULAR_V3 = 110, HDV_PRECISE_V4 = 112, HDV_REGULAR_V4 = 113, HDV_PRECISE_V5 = 115, HDV_REGULAR_V5 = 116 }
| Human descriptor model versions. Determines which version of human descriptor to use. More...
enum | ObjectDetectorClassType { FACE_DET_DEFAULT = 0, FACE_DET_V2 = 5, FACE_DET_V3 = 6, FACE_DET_V3M = 7, FACE_DET_COUNT = 8 }
| Object detector type enumeration. More...
enum | DetectionComparerType { DCT_CONFIDENCE = 0, DCT_CENTER, DCT_CENTER_AND_CONFIDENCE, DCT_SIZE, DCT_COUNT }
| Strategy of BestDetections comparer. More...
enum | DetectionType { DT_BBOX = 0, DT_LANDMARKS5 = 1 << 0, DT_LANDMARKS68 = 1 << 1, DT_ALL = 0xffff }
| Detection type enumeration. More...
enum | LicenseFeature : uint32_t { Detection = 1, BestShot = 2, Attributes = 3, Emotions = 4, FaceFeatures = 5, Liveness = 6, Descriptor = 7, DescriptorIndex = 8, LivenessEngine = 9, TrackEngine = 10, HumanDetection = 11, PPEDetection = 17, MobileLiveness = 18, MedicalMaskDetection = 19, ReIdDescriptor = 20, ISOCheck = 21, DeepFakeEstimation = 22, DepthRGBLiveness = 23, FightsEstimation = 24, BodyAttributes = 25, NIRLiveness = 26, DepthLiveness = 27, ImageModification = 28, VirtualCameraChecker = 500 }
| License features.
enum | DeviceClass : int32_t { CPU = 0, GPU = 1, CPU_ARM = 2, CPU_AVX2, CPU_AUTO, CPU_AVX2_INT8, GPU_INT8, CPU_ARM_INT8, NPU_ASCEND, Invalid = -1 }
| DeviceClass specifies which device/instruction set to use for cnn inference.
enum | FaceEngineEdition { FrontEndEdition, CompleteEdition }
enum | ExecutionPolicy : uint8_t { ExecutionPolicy::Sync, ExecutionPolicy::Async }
| Enum to tell some method how to behave. More...
enum | FuturePromiseState : uint8_t { FuturePromiseState::Empty, FuturePromiseState::Promised, FuturePromiseState::Fulfilled, FuturePromiseState::CancelRequested, FuturePromiseState::Canceled, FuturePromiseState::Failed, FuturePromiseState::Broken }
| Enumeration of possible future or promise states. More...
enum | FutureError : uint8_t { FutureError::Ok, FutureError::InvalidInput, FutureError::NotPromised, FutureError::NotFulfilled, FutureError::NonWaitable, FutureError::Timeout, FutureError::Internal }
| Enumeration of possible Future errors. More...
enum | PromiseError : uint8_t { PromiseError::Ok, PromiseError::Internal, PromiseError::StateNotCancelable, PromiseError::StateNotFailable, PromiseError::StateNotFulfillable, PromiseError::StateDoesntAllowFutureCreation }
| Enumeration of possible Promise errors. More...
enum | OrientationType : uint32_t { OT_NORMAL = 0, OT_LEFT = 1, OT_UPSIDE_DOWN = 2, OT_RIGHT = 3 }
| Estimation of image orientation. More...
enum | RotationType : uint32_t { RT_NONE = 0, RT_LEFT = 1, RT_UPSIDE_DOWN = 2, RT_RIGHT = 3 }
| Image rotation type. More...
enum | SensorType { SensorType::Visible = 0, SensorType::NIR }
| Sensor type structure. Determines which type of camera sensor is used to perform face recognition. More...

## Functions
IBestShotQualityEstimator::EstimationRequest | operator| (IBestShotQualityEstimator::EstimationRequest first, IBestShotQualityEstimator::EstimationRequest second)
DetectionType | operator| (DetectionType a, DetectionType b)
FSDK_API Result< FSDKError > | activateLicense (ILicense *license, const char *configPath, const char *json=nullptr) noexcept
| Makes License activation with some platform specific manner. Network connection is required. More...
FSDK_API Result< FSDKError > | activateLicense (ILicense *license, ISettingsProvider *settings, const char *json=nullptr) noexcept
| Makes License activation with some platform specific manner. Network connection is required. More...
FSDK_API ResultValue< FSDKError, Fingerprint > | getFingerprint (const ISettingsProvider *settings) noexcept
| Gets the device fingerprint which could be used for the offline activation. More...
FSDK_API ResultValue< FSDKError, IFaceEngineMobilePtr > | createFaceEngineMobile (const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
| Create the LUNA SDK root object. More...
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > | createSettingsProvider (const char *path) noexcept
| Create a settings provider. More...
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > | createSettingsProviderFromString (const char *content) noexcept
| Creates a settings provider from the xml-formatted string. More...
constexpr int | format_as (Format::Type in)
const char * | toString (Image::MemoryResidence residence)
| Returns a string representation of a MemoryResidence type. More...
Landmarks5 FSDK_API | convert (const Landmarks68 &landmarks)
| convert landmarks68 into landmarks5 More...
template<typename E0 , typename E1 >
Result< MultiError< E0, E1 > > | makeMultiResult (E0 error0, E1 error1)
template<typename Type >
BaseRect< Type > | centerScale (const BaseRect< Type > &in, float scaleFactor) noexcept
| scale rect out of center More...
template<typename T >
Ref< T > | make_ref (T *ptr) noexcept
| Make smart reference to a IRefCounted based object without acquiring ownership. More...
template<typename S , typename T >
Ref< S > | make_ref_as (T *ptr) noexcept
| Make smart reference to a IRefCounted based object without acquiring ownership. More...
template<typename T >
Ref< T > | acquire (T *ptr) noexcept
| Acquire ownership of IRefCounted based object. More...
template<typename S , typename T >
Ref< S > | acquire_as (T *ptr) noexcept
| Acquire ownership of IRefCounted based object with a cast to a given type. More...
template<typename E >
Result< E > | makeResult (E error) noexcept
template<typename R , typename V >
ResultValue< R, typename std::remove_const< typename std::remove_reference< V >::type >::type > | makeResultValue (R result, V &&value) noexcept
| Addon for Result to output some value aside the result. More...
bool | operator< (Version lhs, Version rhs) noexcept
| Check if one version is less than another. More...
bool | operator== (Version lhs, Version rhs) noexcept
| Check if versions are equal. More...
bool | operator!= (Version lhs, Version rhs) noexcept
| Check if versions are not equal. More...
FSDK_API Version | getVersion () noexcept
| Get FaceEngine version. More...
FSDK_API const char * | getVersionHash () noexcept
| Get FaceEngine commit hash. More...
FSDK_API const char * | getVersionString () noexcept
| Get FaceEngine version string. More...
FSDK_API const char * | getRuntimeVersion () noexcept
| Get the version of FaceEngine runtime. More...
FSDK_API const char * | getBuildInfo () noexcept
| Get FaceEngine build description. The descripton contains used flags and compler settings. More...

## Detailed Description

SDK namespace.

## Typedef Documentation

## ◆ Point2d

typedef Vector2<double> fsdk::Point2d

Double precision floating point 2-dimensional point

## ◆ Point2f

typedef Vector2<float> fsdk::Point2f

Single precision floating point 2-dimensional point

## ◆ Point2i

typedef Vector2<int> fsdk::Point2i

Integer 2-dimensional point

## ◆ Point2u

typedef Vector2<unsigned int> fsdk::Point2u

Integer 2-dimensional point

## ◆ Point2us

typedef Vector2<unsigned short> fsdk::Point2us

Integer 2-dimensional point

## ◆ Size

typedef Vector2<int> fsdk::Size

2-dimensional size type

## Enumeration Type Documentation

## ◆ ExecutionPolicy

enum fsdk::ExecutionPolicy : uint8_t
| strong

Enum to tell some method how to behave.

Enumerator
Sync | Execute synchronously.
Async | Execute asynchronously.

## ◆ FSDKError

enum fsdk::FSDKError : uint32_t
| strong

Common SDK error codes.

Enumerator
Ok | Ok.
Internal | Internal error.
InvalidInput | Invalid input.
InvalidImage | Invalid image.
InvalidRect | Invalid rectangle.
InvalidImageFormat | Invalid image format.
InvalidImageSize | Invalid image size.
InvalidDetection | Invalid detection.
InvalidLandmarks5 | Invalid landmarks 5.
InvalidLandmarks68 | Invalid landmarks 68.
InvalidTransformation | Invalid transformation.
InvalidDescriptor | Invalid descriptor.
InvalidDescriptorBatch | Invalid descriptor batch.
InvalidSettingsProvider | Invalid settings provider.
InvalidDescriptorId | Invalid descriptor id.
InvalidPath | Invalid path to object.
InvalidSerializedObject | Invalid serialized object.
ModuleNotInitialized | Module is not initialized.
ModuleNotReady | Module is not ready.
LicenseError | Licensing issue (expired license or unavailable feature).
BufferIsNull | Buffer is null.
BufferIsFull | Buffer is full.
BufferIsEmpty | Buffer is empty.
InvalidBufferSize | Invalid buffer size.
InvalidSpanSize | Invalid span size.
InvalidBatch | Invalid batch.
IncompatibleDescriptors | Matching attempt with incompatible descriptors.
EnableJustInBetaMode | Attempt to create feature while betaMode is turned off.
FiltredAggregationError | Cant aggregate descriptors - all images'a GSs are less the threashold.
BatchedInternalError | image for details. Something gone wrong in batched query. See batch with error codes to each input
IncompatibleModelVersions | Incompatible model versions.
ModelNotLoaded | Model not loaded.
InvalidConfig | Invalid config.
LicenseIsNotActivated | License is not activated.
LicenseActivationLimitExceeded | License activation limit exceeded.
FeatureNotAvailable | Requested Feature not available.
FeatureExpired | Feature expired.
FingerprintError | Failed to get device fingerprint.
FingerprintInternalMismatch | Fingerprint mismatch.
ValidationFailed | Failed validation.
CudaError | CUDA Error.
NotImplemented | Not implemented error.

## ◆ FutureError

enum fsdk::FutureError : uint8_t
| strong

Enumeration of possible Future errors.

Enumerator
Ok | All good.
InvalidInput | Invalid data is given as input to some method.
NotPromised | Error if you call. See also Future::cancel on not Promised state.
NotFulfilled | Error if you call. See also Future::takeInto on not Fulfilled state.
NonWaitable | Error if you try to. See also Future::wait on non waitable state.
Timeout | Error if your. See also Future::waitFor method ran out of time.
Internal | Some internal error.

## ◆ FuturePromiseState

enum fsdk::FuturePromiseState : uint8_t
| strong

Enumeration of possible future or promise states.

Enumerator
Empty | Lack of internal state: on promise creation and emptying Future. See also Future::takeInto.
Promised | State right after future is created from promise.
Fulfilled | State possible after Promised if promise' method. See also Promise::fulfill is called.
CancelRequested | State possible if. See also Future::cancel is called on Promised state.
Canceled | State possible if during CancelRequested. See also Promise::cancel is called.
Failed | State possible if during Promised. See also Promise::fail is called.
Broken | State indicating some internal error.

## ◆ OrientationType

enum fsdk::OrientationType : uint32_t

Estimation of image orientation.

Enumerator
OT_NORMAL | Normal orientation of image.
OT_LEFT | Image is turned left by 90 deg.
OT_UPSIDE_DOWN | Image is flipped upsidedown (turned by 180 deg)
OT_RIGHT | Image is turned right by 90 deg.

## ◆ PromiseError

enum fsdk::PromiseError : uint8_t
| strong

Enumeration of possible Promise errors.

Enumerator
Ok | All good.
Internal | Internal error.
StateNotCancelable | Error if you call. See also Promise::cancel on not CancelRequested state.
StateNotFailable | Error if you call. See also Promise::fail on not Promised and not CancelRequested state.
StateNotFulfillable | Error if you call. See also Promise::fulfill on not Promised state.
StateDoesntAllowFutureCreation | Error if you call. See also Promise::future on not Empty state.

## ◆ RotationType

enum fsdk::RotationType : uint32_t

Image rotation type.

Enumerator
RT_NONE | Leave image as it is.
RT_LEFT | Turn image to the left by 90 deg.
RT_UPSIDE_DOWN | Flip image upside down (turn by 180 deg)
RT_RIGHT | Turn image to the right by 90 deg.

## ◆ SensorType

enum fsdk::SensorType
| strong

Sensor type structure. Determines which type of camera sensor is used to perform face recognition.

Enumerator
Visible | Visible sensor type.
NIR | NIR sensor type.

## Function Documentation

## ◆ acquire()

template<typename T >

Ref<T> fsdk::acquire | ( | T * | ptr | ) |
| inline noexcept

Acquire ownership of IRefCounted based object.

Template Parameters

  T | object interface (must be derived from IRefCounted).

Parameters

  [in] | ptr | raw pointer.

## ◆ acquire_as()

template<typename S , typename T >

Ref<S> fsdk::acquire_as | ( | T * | ptr | ) |
| inline noexcept

Acquire ownership of IRefCounted based object with a cast to a given type.

Template Parameters

  S | target interface (must be relative to T).
  T | source interface (must be derived from IRefCounted).

Parameters

  [in] | ptr | raw pointer.

## ◆ centerScale()

template<typename Type >

BaseRect<Type> fsdk::centerScale | ( | const BaseRect< Type > & | in,
|  | float | scaleFactor
| ) |  |
| noexcept

scale rect out of center

Parameters

  [in] | input | rect
  [in] | scaleFactor | to scale rect

Returns
  scaled rect

## ◆ convert()

Landmarks5 FSDK_API fsdk::convert | ( | const Landmarks68 & | landmarks | ) |

convert landmarks68 into landmarks5

Parameters

  landmarks | landmarks68

Returns
  landmarks5

## ◆ make_ref()

template<typename T >

Ref<T> fsdk::make_ref | ( | T * | ptr | ) |
| inline noexcept

Make smart reference to a IRefCounted based object without acquiring ownership.

Template Parameters

  T | object interface (must be derived from IRefCounted).

Parameters

  [in] | ptr | raw pointer.

## ◆ make_ref_as()

template<typename S , typename T >

Ref<S> fsdk::make_ref_as | ( | T * | ptr | ) |
| inline noexcept

Make smart reference to a IRefCounted based object without acquiring ownership.

Template Parameters

  S | target interface (must be relative to T).
  T | object interface (must be derived from IRefCounted).

Parameters

  [in] | ptr | raw pointer.

## ◆ makeResultValue()

template<typename R , typename V >

ResultValue<R, typename std::remove_const<typename std::remove_reference<V>::type>::type> fsdk::makeResultValue | ( | R | result,
|  | V && | value
| ) |  |
| inline noexcept

Addon for Result to output some value aside the result.

Template Parameters

  R | result enumeration type.
  V | result value type.

Note
  All rules for Result template parameter apply to R.
  V instance is always held by value despite -> operators.

Parameters

  result | the result.
  value | the value.

Returns
  result value struct.

## ◆ toString()

const char* fsdk::toString | ( | Image::MemoryResidence | residence | ) |

Returns a string representation of a MemoryResidence type.

Returns
  string for a MemoryResidence type.