| Face Engine SDK 5.35.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, const char *json=nullptr) noexcept
| Makes License activation with some platform specific manner. Network connection is required. More...
FSDK_API Result< FSDKError > | fsdk::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 > | 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,
|  | const char * | json = `nullptr`
| ) |  |
| 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.
  [in] | json | optional json string.

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.
  [in] | json | optional json string.

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,
|  | const char * | json = `nullptr`
| ) |  |
| 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.
  [in] | json | optional json string.

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.
  [in] | json | optional json string.

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

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 virtualnoexcept

Gets data directory.

By default is set to "./data".

Returns
  path to data directory.

## ◆ getFaceEngineEdition()

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

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 virtualnoexcept

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 virtualnoexcept

Gets runtime settings provider.

Returns
  runtime settings provider.

## ◆ getSettingsProvider()

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

Gets settings provider.

Returns
  settings provider.

## ◆ setDataDirectory()

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

Sets data directory.

Parameters

  [in] | path | path to data directory.

## ◆ setRuntimeSettingsProvider()

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

Sets runtime settings provider.

Parameters

  [in] | provider | runtime settings provider.

## ◆ setSettingsProvider()

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

Sets settings provider.

Parameters

  [in] | provider | settings provider.