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

Classes | Macros | Functions
SDK core interfaces

Common interfaces and macros shared across all SDK objects. More...

## Classes
struct | fsdk::IFaceEngine
| Root LUNA SDK object interface. More...
struct | fsdk::IFaceEnginePos
| Root LUNA SDK object interface. More...
struct | fsdk::IArchive
| Archive interface. More...
struct | fsdk::ISerializableObject
| Serializable object interface. More...
struct | fsdk::ErrorTraits< ISerializableObject::Error >
| Specialized for ISerializableObject::SerializationError. More...
struct | fsdk::IDataStorageObject
| Data storage object interface helper. More...
struct | fsdk::IRefCounted
| Base strong reference counted object interface. More...
struct | fsdk::ISettingsProvider
| SDK settings provider interface. More...
struct | fsdk::ErrorTraits< ISettingsProvider::Error >
| Specialized for ISettingsProvider::ParseError. More...

## Macros
#define | ALIGN_UP(value, align) (((value) & (align - 1)) ? (((value) + (align - 1)) & ~(align - 1)) : (value))
#define | ALIGNED(x) __attribute__((aligned(x)))
#define | RESTRICT __restrict__
#define | FORCE_INLINE inline __attribute__((always_inline))
#define | DECLARE_SMARTPTR(X)
| Smart ptr declaration helper macro. More...
#define | STRINGIFY2(x) #x
| Stringification helper macro.
#define | STRINGIFY(x) STRINGIFY2(x)
| Stringifies it's argument.

## Functions
FSDK_API Result< FSDKError > | fsdk::activateLicense (ILicense *license, const char *configPath) noexcept
| Makes License activation with some platform specific manner. Network connection is required. More...
FSDK_API Result< FSDKError > | fsdk::activateLicense (ILicense *license, ISettingsProvider *settings) noexcept
| Makes License activation with some platform specific manner. Network connection is required. More...
FSDK_API ResultValue< FSDKError, Fingerprint > | fsdk::getFingerprint (const ISettingsProvider *settings) noexcept
| Gets the device fingerprint which could be used for the offline activation. More...
FSDK_API ResultValue< FSDKError, IFaceEnginePtr > | fsdk::createFaceEngine (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 > | fsdk::createSettingsProvider (const char *path) noexcept
| Creates a settings provider. More...
FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > | fsdk::createSettingsProviderFromString (const char *content) noexcept
| Creates a settings provider from the xml-formatted string. More...
virtual ResultValue< FSDKError, IDetectorPtr > | fsdk::IFaceEnginePos::createDetector () noexcept=0
| Creates a detector of given type. More...
virtual ResultValue< FSDKError, IHeadPoseEstimatorPtr > | fsdk::IFaceEnginePos::createHeadPoseEstimator () noexcept=0
| Creates Head pose estimator. More...
virtual ResultValue< FSDKError, IMedicalMaskEstimatorPtr > | fsdk::IFaceEnginePos::createMedicalMaskEstimator () noexcept=0
| Creates MedicalMask estimator. More...
virtual ResultValue< FSDKError, IGlassesEstimatorPtr > | fsdk::IFaceEnginePos::createGlassesEstimator () noexcept=0
| Creates Glasses estimator. More...
| fsdk::IFaceEnginePos::FSDK_DEPRECATED ("createQualityEstimator is deprecated since v.5.32.0, " "use createSubjectiveQualityEstimator instead!") virtual ResultValue< FSDKError
| Creates Quality estimator. More...
IQualityEstimatorPtr | fsdk::IFaceEnginePos::createQualityEstimator () noexcept=0
virtual ResultValue< FSDKError, ISubjectiveQualityEstimatorPtr > | fsdk::IFaceEnginePos::createSubjectiveQualityEstimator () noexcept=0
| Creates Subjective quality estimator. More...
virtual ResultValue< FSDKError, IDescriptorPtr > | fsdk::IFaceEnginePos::createDescriptor (uint32_t version=0) noexcept=0
| Creates Descriptor. More...
virtual ResultValue< FSDKError, IDescriptorPtr > | fsdk::IFaceEnginePos::createDescriptor (IArchive *archive, uint32_t flags=0) noexcept=0
| Creates and loads Descriptor from Archive. More...
virtual ResultValue< FSDKError, IDescriptorBatchPtr > | fsdk::IFaceEnginePos::createDescriptorBatch (int32_t size, uint32_t version=0) noexcept=0
| Creates Batch of descriptors. More...
virtual ResultValue< FSDKError, IDescriptorExtractorPtr > | fsdk::IFaceEnginePos::createExtractor (uint32_t version=0) noexcept=0
| Creates descriptor extractor. More...
virtual ResultValue< FSDKError, IDescriptorMatcherPtr > | fsdk::IFaceEnginePos::createMatcher (uint32_t version=0) noexcept=0
| Creates descriptor matcher. More...
virtual ResultValue< FSDKError, IWarperPtr > | fsdk::IFaceEnginePos::createWarper () noexcept=0
| Creates warper. More...
virtual FaceEngineEdition | fsdk::IFaceEnginePos::getFaceEngineEdition () const noexcept=0
| Get LUNA SDK distribution edition. More...
virtual void | fsdk::IFaceEnginePos::setDataDirectory (const char *path) noexcept=0
| Sets data directory. More...
virtual const char * | fsdk::IFaceEnginePos::getDataDirectory () const noexcept=0
| Gets data directory. More...
virtual void | fsdk::IFaceEnginePos::setSettingsProvider (ISettingsProvider *provider) noexcept=0
| Sets settings provider. More...
virtual void | fsdk::IFaceEnginePos::setRuntimeSettingsProvider (ISettingsProvider *provider) noexcept=0
| Sets runtime settings provider. More...
virtual ISettingsProvider * | fsdk::IFaceEnginePos::getSettingsProvider () const noexcept=0
| Gets settings provider. More...
virtual ISettingsProvider * | fsdk::IFaceEnginePos::getRuntimeSettingsProvider () const noexcept=0
| Gets runtime settings provider. More...
virtual ILicense * | fsdk::IFaceEnginePos::getLicense () const noexcept=0
| Get current License object, which was set for FaceEngine object. More...
FSDK_API ResultValue< FSDKError, IFaceEnginePosPtr > | fsdk::createFaceEngineMobile (const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
| Create the LUNA SDK root object. More...

## Detailed Description

Common interfaces and macros shared across all SDK objects.

## Macro Definition Documentation

## ◆ DECLARE_SMARTPTR

#define DECLARE_SMARTPTR | ( |  | X | ) |

Value:
struct X; \
using X##Ptr = fsdk::Ref<X>
fsdk::Ref
Smart pointer for reference counted objects.
Definition: Ref.h:27

Smart ptr declaration helper macro.

## Function Documentation

## ◆ activateLicense() [1/2]

FSDK_API Result< FSDKError > fsdk::activateLicense | ( | ILicense * | license,
|  | const char * | configPath
| ) |  |
| noexcept

Makes License activation with some platform specific manner. Network connection is required.

Parameters

  [in] | license | pointer to the license object which should be activated
  [in] | configPath | path to license.conf file with licensing settings.

Returns
  true if license was successfully activated.

Warning
  This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.

Parameters

  [in] | license | pointer to the license object which should be activated
  [in] | configPath | path to license.conf file with licensing settings.

Returns
  Error code;

See also
  FSDKError

Warning
  This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.

## ◆ activateLicense() [2/2]

FSDK_API Result< FSDKError > fsdk::activateLicense | ( | ILicense * | license,
|  | ISettingsProvider * | settings
| ) |  |
| noexcept

Makes License activation with some platform specific manner. Network connection is required.

Parameters

  [in] | license | pointer to the license object which should be activated
  [in] | provider | settings provider.

Returns
  true if license was successfully activated.

Warning
  This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.

Parameters

  [in] | license | pointer to the license object which should be activated
  [in] | settings | settings provider.

Returns
  Error code;

See also
  FSDKError; Ok - if license was successfully activated.

Warning
  This function is not thread-safe. Calling it concurrently from multiple threads may lead to undefined behavior.

## ◆ createDescriptor() [1/2]

virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEnginePos::createDescriptor | ( | uint32_t | version = `0` | ) |
| pure virtual noexcept

Creates Descriptor.

Parameters

  [in] | version | descriptor version.

face descriptor will created by default, to create human descriptor pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
  DescriptorVersion

Returns
  Error code;

See also
  FSDKError and Descriptor if succeed, null if failed.

## ◆ createDescriptor() [2/2]

virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEnginePos::createDescriptor | ( | IArchive * | archive,
|  | uint32_t | flags = `0`
| ) |  |
| pure virtual noexcept

Creates and loads Descriptor from Archive.

Parameters

  [in] | archive | Archive with descriptor.
  [in] | flags | Archive flag.

Returns
  Error code;

See also
  FSDKError and Descriptor if succeed, null if failed.

## ◆ createDescriptorBatch()

virtual ResultValue<FSDKError, IDescriptorBatchPtr> fsdk::IFaceEnginePos::createDescriptorBatch | ( | int32_t | size,
|  | uint32_t | version = `0`
| ) |  |
| pure virtual noexcept

Creates Batch of descriptors.

face descriptor batch will be created by default, to create human descriptor batch you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
  DescriptorVersion

Parameters

  [in] | size | - amount of descriptors in batch.
  [in] | version | - descriptor version in batch. If 0 - use dafault version from config.

Returns
  Error code;

See also
  FSDKError and Batch if succeed, null if failed.

## ◆ createDetector()

virtual ResultValue<FSDKError, IDetectorPtr> fsdk::IFaceEnginePos::createDetector | ( |  | ) |
| pure virtual noexcept

Creates a detector of given type.

Returns
  Error code;

See also
  FSDKError and detector object if succeeded, null if failed.

## ◆ createExtractor()

virtual ResultValue<FSDKError, IDescriptorExtractorPtr> fsdk::IFaceEnginePos::createExtractor | ( | uint32_t | version = `0` | ) |
| pure virtual noexcept

Creates descriptor extractor.

Parameters

  [in] | version | descriptor version.

face descriptor extractor will created by default, to create human descriptor extractor descriptor you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
  DescriptorVersion

Returns
  Error code;

See also
  FSDKError and Descriptor extractor if succeed, null if failed.

## ◆ createFaceEngine()

FSDK_API ResultValue<FSDKError, IFaceEnginePtr> fsdk::createFaceEngine | ( | const char * | dataPath = `nullptr`,
|  | const char * | configPath = `nullptr`,
|  | const char * | runtimePath = `nullptr`
| ) |  |
| noexcept

Create the LUNA SDK root object.

Parameters

  [in] | dataPath | [optional] path to folder with FSDK data. Default: ./data (on windows), /opt/visionlabs/data (on linux)
  [in] | configPath | [optional] path to faceengine.conf file. Default: <dataPath>/faceengine.conf
  [in] | runtimePath | [optional] path to runtime.conf file. Default: <dataPath>/runtime.conf

Returns
  ResultValue with error code and IFaceEnginePtr instance.

See also
  ResultValue, FSDKError, IFaceEnginePtr

## ◆ createFaceEngineMobile()

FSDK_API ResultValue<FSDKError, IFaceEnginePosPtr> fsdk::createFaceEngineMobile | ( | const char * | dataPath = `nullptr`,
|  | const char * | configPath = `nullptr`,
|  | const char * | runtimePath = `nullptr`
| ) |  |
| noexcept

Create the LUNA SDK root object.

Parameters

  [in] | dataPath | [optional] path to folder with FSDK data. Default: ./data (on windows), /opt/visionlabs/data (on linux)
  [in] | configPath | [optional] path to faceengine.conf file. Default: <dataPath>/faceengine.cong
  [in] | runtimePath | [optional] path to runtime.conf file. Default: <dataPath>/runtime.cong

Returns
  Error code;

See also
  FSDKError and face engine object if succeeded, null if failed.

## ◆ createGlassesEstimator()

virtual ResultValue<FSDKError, IGlassesEstimatorPtr> fsdk::IFaceEnginePos::createGlassesEstimator | ( |  | ) |
| pure virtual noexcept

Creates Glasses estimator.

Returns
  ResultValue with error code and IGlassesEstimatorPtr instance.

See also
  ResultValue, FSDKError, IGlassesEstimatorPtr

## ◆ createHeadPoseEstimator()

virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> fsdk::IFaceEnginePos::createHeadPoseEstimator | ( |  | ) |
| pure virtual noexcept

Creates Head pose estimator.

Returns
  Error code;

See also
  FSDKError and Head pose estimator if succeeded, null if failed.

## ◆ createMatcher()

virtual ResultValue<FSDKError, IDescriptorMatcherPtr> fsdk::IFaceEnginePos::createMatcher | ( | uint32_t | version = `0` | ) |
| pure virtual noexcept

Creates descriptor matcher.

Parameters

  [in] | version | descriptor version.

face descriptor matcher will created by default, to create human descriptor matcher you must pass version, minimum version of human descriptor is DV_MIN_HUMAN_DESCRIPTOR_VERSION == 102

See also
  DescriptorVersion

Returns
  Error code;

See also
  FSDKError and Descriptor matcher if succeed, null if failed.

## ◆ createMedicalMaskEstimator()

virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> fsdk::IFaceEnginePos::createMedicalMaskEstimator | ( |  | ) |
| pure virtual noexcept

Creates MedicalMask estimator.

Returns
  ResultValue with error code and IMedicalMaskEstimatorPtr instance.

See also
  ResultValue, FSDKError, IMedicalMaskEstimatorPtr

## ◆ createSettingsProvider()

FSDK_API fsdk::ResultValue< fsdk::FSDKError, fsdk::ISettingsProviderPtr > fsdk::createSettingsProvider | ( | const char * | path | ) |
| noexcept

Creates a settings provider.

Create a settings provider.

Parameters

  [in] | path | configuration file path

Returns
  Error code;

See also
  FSDKError and settings provider object if succeeded, null if failed.

Parameters

  [in] | path | configuration file path.

Returns
  Error code;

See also
  FSDKError and settings provider object if succeeded, null if failed.

## ◆ createSettingsProviderFromString()

FSDK_API ResultValue< FSDKError, ISettingsProviderPtr > fsdk::createSettingsProviderFromString | ( | const char * | content | ) |
| noexcept

Creates a settings provider from the xml-formatted string.

Parameters

  [in] | content | content string in xml-format, in a case of nullptr empty config will be created

Returns
  Error code and settings provider object if succeeded, null if failed.

See also
  FSDKError, ISettingsProvider::save

## ◆ createSubjectiveQualityEstimator()

virtual ResultValue<FSDKError, ISubjectiveQualityEstimatorPtr> fsdk::IFaceEnginePos::createSubjectiveQualityEstimator | ( |  | ) |
| pure virtual noexcept

Creates Subjective quality estimator.

Returns
  ResultValue with error code and ISubjectiveQualityEstimatorPtr instance.

See also
  ResultValue, FSDKError, ISubjectiveQualityEstimatorPtr, LaunchOptions

## ◆ createWarper()

virtual ResultValue<FSDKError, IWarperPtr> fsdk::IFaceEnginePos::createWarper | ( |  | ) |
| pure virtual noexcept

Creates warper.

Returns
  Warper if succeed, null if failed.

## ◆ FSDK_DEPRECATED()

fsdk::IFaceEnginePos::FSDK_DEPRECATED | ( | "createQualityEstimator is deprecated since v.5.32. | 0,
|  | " "use createSubjectiveQualityEstimator instead!" |
| ) |  |

Creates Quality estimator.

Returns
  ResultValue with error code and IQualityEstimatorPtr instance.

See also
  ResultValue, FSDKError, IQualityEstimatorPtr

## ◆ getDataDirectory()

virtual const char* fsdk::IFaceEnginePos::getDataDirectory | ( |  | ) | const
| pure virtual noexcept

Gets data directory.

By default is set to "./data".

Returns
  path to data directory.

## ◆ getFaceEngineEdition()

virtual FaceEngineEdition fsdk::IFaceEnginePos::getFaceEngineEdition | ( |  | ) | const
| pure virtual noexcept

Get LUNA SDK distribution edition.

Returns
  Edition of LUNA SDK instance. Possible values:
  - CompleteEdition - full edition with all function.
  - FrontEndEdition - short edition with excluded descriptor functions. Extractor, matcher, descriptor, batch and index cannot be created.

## ◆ getFingerprint()

FSDK_API ResultValue< FSDKError, Fingerprint > fsdk::getFingerprint | ( | const ISettingsProvider * | settings | ) |
| noexcept

Gets the device fingerprint which could be used for the offline activation.

Returns
  ResultValue with error code and Fingerprint structure

See also
  Fingerprint, ResultValue and FSDKError for details

## ◆ getLicense()

virtual ILicense* fsdk::IFaceEnginePos::getLicense | ( |  | ) | const
| pure virtual noexcept

Get current License object, which was set for FaceEngine object.

Returns
  pointer to current license object, nullptr if no any license was set to.

## ◆ getRuntimeSettingsProvider()

virtual ISettingsProvider* fsdk::IFaceEnginePos::getRuntimeSettingsProvider | ( |  | ) | const
| pure virtual noexcept

Gets runtime settings provider.

Returns
  runtime settings provider.

## ◆ getSettingsProvider()

virtual ISettingsProvider* fsdk::IFaceEnginePos::getSettingsProvider | ( |  | ) | const
| pure virtual noexcept

Gets settings provider.

Returns
  settings provider.

## ◆ setDataDirectory()

virtual void fsdk::IFaceEnginePos::setDataDirectory | ( | const char * | path | ) |
| pure virtual noexcept

Sets data directory.

Parameters

  [in] | path | path to data directory.

## ◆ setRuntimeSettingsProvider()

virtual void fsdk::IFaceEnginePos::setRuntimeSettingsProvider | ( | ISettingsProvider * | provider | ) |
| pure virtual noexcept

Sets runtime settings provider.

Parameters

  [in] | provider | runtime settings provider.

## ◆ setSettingsProvider()

virtual void fsdk::IFaceEnginePos::setSettingsProvider | ( | ISettingsProvider * | provider | ) |
| pure virtual noexcept

Sets settings provider.

Parameters

  [in] | provider | settings provider.