| Face Engine SDK 5.7.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::IFaceEngineMobile
| 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)
#define | ALIGNED(x) __attribute__ ((aligned(x)))
#define | RESTRICT __restrict__
#define | FORCE_INLINE inline __attribute__ ((always_inline))
#define | DECLARE_SMARTPTR(X) struct X; using X##Ptr = fsdk::Ref<X>
| Smart ptr declaration helper macro.
#define | STRINGIFY2(x) #x
| Stringification helper macro.
#define | STRINGIFY(x) STRINGIFY2(x)
| Stringifies it's argument.

## Functions
virtual ResultValue< FSDKError, IDetectorPtr > | fsdk::IFaceEngineMobile::createDetector () noexcept=0
| Creates a detector of given type. More...
virtual ResultValue< FSDKError, IHeadPoseEstimatorPtr > | fsdk::IFaceEngineMobile::createHeadPoseEstimator () noexcept=0
| Creates Head pose estimator. More...
virtual ResultValue< FSDKError, IAGSEstimatorPtr > | fsdk::IFaceEngineMobile::createAGSEstimator () noexcept=0
| Creates AGS estimator. More...
virtual ResultValue< FSDKError, IEyeEstimatorPtr > | fsdk::IFaceEngineMobile::createEyeEstimator () noexcept=0
| Creates Eye estimator. More...
virtual ResultValue< FSDKError, IMedicalMaskEstimatorPtr > | fsdk::IFaceEngineMobile::createMedicalMaskEstimator () noexcept=0
| Creates MedicalMask estimator. More...
virtual ResultValue< FSDKError, IGlassesEstimatorPtr > | fsdk::IFaceEngineMobile::createGlassesEstimator () noexcept=0
| Creates Glasses estimator. More...
virtual ResultValue< FSDKError, IQualityEstimatorPtr > | fsdk::IFaceEngineMobile::createQualityEstimator () noexcept=0
| Creates Quality estimator. More...
virtual ResultValue< FSDKError, IBestShotQualityEstimatorPtr > | fsdk::IFaceEngineMobile::createBestShotQualityEstimator () noexcept=0
| Creates BestShotQuality estimator. More...
virtual ResultValue< FSDKError, ILivenessOneShotRGBEstimatorPtr > | fsdk::IFaceEngineMobile::createLivenessOneShotRGBEstimator () noexcept=0
| Creates Liveness OneShot estimator. More...
virtual ResultValue< FSDKError, IDescriptorPtr > | fsdk::IFaceEngineMobile::createDescriptor (uint32_t version=0) noexcept=0
| Creates Descriptor. More...
virtual ResultValue< FSDKError, IDescriptorPtr > | fsdk::IFaceEngineMobile::createDescriptor (IArchive *archive, uint32_t flags=0) noexcept=0
| Creates and loads Descriptor from Archive. More...
virtual ResultValue< FSDKError, IDescriptorBatchPtr > | fsdk::IFaceEngineMobile::createDescriptorBatch (int32_t size, uint32_t version=0) noexcept=0
| Creates Batch of descriptors. More...
virtual ResultValue< FSDKError, IDescriptorExtractorPtr > | fsdk::IFaceEngineMobile::createExtractor (uint32_t version=0) noexcept=0
| Creates descriptor extractor. More...
virtual ResultValue< FSDKError, IDescriptorMatcherPtr > | fsdk::IFaceEngineMobile::createMatcher (uint32_t version=0) noexcept=0
| Creates descriptor matcher. More...
virtual ResultValue< FSDKError, IWarperPtr > | fsdk::IFaceEngineMobile::createWarper () noexcept=0
| Creates warper. More...
virtual FaceEngineEdition | fsdk::IFaceEngineMobile::getFaceEngineEdition () const noexcept=0
| Get LUNA SDK ditribution edition. More...
virtual void | fsdk::IFaceEngineMobile::setDataDirectory (const char *path) noexcept=0
| Sets data directory. More...
virtual const char * | fsdk::IFaceEngineMobile::getDataDirectory () const noexcept=0
| Gets data directory. More...
virtual void | fsdk::IFaceEngineMobile::setSettingsProvider (ISettingsProvider *provider) noexcept=0
| Sets settings provider. More...
virtual void | fsdk::IFaceEngineMobile::setRuntimeSettingsProvider (ISettingsProvider *provider) noexcept=0
| Sets runtime settings provider. More...
virtual ISettingsProvider * | fsdk::IFaceEngineMobile::getSettingsProvider () const noexcept=0
| Gets settings provider. More...
virtual ISettingsProvider * | fsdk::IFaceEngineMobile::getRuntimeSettingsProvider () const noexcept=0
| Gets runtime settings provider. More...
virtual ILicense * | fsdk::IFaceEngineMobile::getLicense () const noexcept=0
| Get current License object, which was set for FaceEngine object. More...
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, IFaceEngineMobilePtr > | fsdk::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 > | fsdk::createSettingsProvider (const char *path) noexcept
| Create a settings provider. More...

## Detailed Description

Common interfaces and macros shared across all SDK objects.

## Macro Definition Documentation

## ◆ ALIGN_UP

#define ALIGN_UP | ( |  | value,
|  |  | align
| ) |  |

Value:
(((value) & (align-1)) ? \
(((value) + (align-1)) & ~(align-1)) : \
(value))

## 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.

## ◆ 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.

## ◆ createAGSEstimator()

virtual ResultValue<FSDKError, IAGSEstimatorPtr> fsdk::IFaceEngineMobile::createAGSEstimator | ( |  | ) |
| pure virtual noexcept

Creates AGS estimator.

Returns
  Error code;

See also
  FSDKError and AGS estimator if succeeded, null if failed.

## ◆ createBestShotQualityEstimator()

virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr> fsdk::IFaceEngineMobile::createBestShotQualityEstimator | ( |  | ) |
| pure virtual noexcept

Creates BestShotQuality estimator.

Returns
  Error code;

See also
  FSDKError and BestShotQuality estimator if succeed, null if failed.

## ◆ createDescriptor() [1/2]

virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEngineMobile::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.

## ◆ createDescriptor() [2/2]

virtual ResultValue<FSDKError, IDescriptorPtr> fsdk::IFaceEngineMobile::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.

## ◆ createDescriptorBatch()

virtual ResultValue<FSDKError, IDescriptorBatchPtr> fsdk::IFaceEngineMobile::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::IFaceEngineMobile::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::IFaceEngineMobile::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.

## ◆ createEyeEstimator()

virtual ResultValue<FSDKError, IEyeEstimatorPtr> fsdk::IFaceEngineMobile::createEyeEstimator | ( |  | ) |
| pure virtual noexcept

Creates Eye estimator.

Returns
  Error code;

See also
  FSDKError and Eye estimator if succeed, null if failed.

## ◆ createFaceEngineMobile()

FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> 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::IFaceEngineMobile::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::IFaceEngineMobile::createHeadPoseEstimator | ( |  | ) |
| pure virtual noexcept

Creates Head pose estimator.

Returns
  Error code;

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

## ◆ createLivenessOneShotRGBEstimator()

virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr> fsdk::IFaceEngineMobile::createLivenessOneShotRGBEstimator | ( |  | ) |
| pure virtual noexcept

Creates Liveness OneShot estimator.

Returns
  Error code;

See also
  FSDKError and OneShot liveness estimator if succeed, null if failed.

## ◆ createMatcher()

virtual ResultValue<FSDKError, IDescriptorMatcherPtr> fsdk::IFaceEngineMobile::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::IFaceEngineMobile::createMedicalMaskEstimator | ( |  | ) |
| pure virtual noexcept

Creates MedicalMask estimator.

Returns
  ResultValue with error code and IMedicalMaskEstimatorPtr instance.

See also
  ResultValue, FSDKError, IMedicalMaskEstimatorPtr

## ◆ createQualityEstimator()

virtual ResultValue<FSDKError, IQualityEstimatorPtr> fsdk::IFaceEngineMobile::createQualityEstimator | ( |  | ) |
| pure virtual noexcept

Creates Quality estimator.

Returns
  ResultValue with error code and IQualityEstimatorPtr instance.

See also
  ResultValue, FSDKError, IQualityEstimatorPtr

## ◆ createSettingsProvider()

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

Create a settings provider.

Parameters

  [in] | path | configuration file path.

Returns
  settings provider object if succeeded, null if failed.

## ◆ createWarper()

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

Creates warper.

Returns
  Warper if succeed, null if failed.

## ◆ getDataDirectory()

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

Gets data directory.

By default is set to "./data".

Returns
  path to data directory.

## ◆ getFaceEngineEdition()

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

Get LUNA SDK ditribution edition.

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

## ◆ getLicense()

virtual ILicense* fsdk::IFaceEngineMobile::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::IFaceEngineMobile::getRuntimeSettingsProvider | ( |  | ) | const
| pure virtual noexcept

Gets runtime settings provider.

Returns
  runtime settings provider.

## ◆ getSettingsProvider()

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

Gets settings provider.

Returns
  settings provider.

## ◆ setDataDirectory()

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

Sets data directory.

Parameters

  [in] | path | path to data directory.

## ◆ setRuntimeSettingsProvider()

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

Sets runtime settings provider.

Parameters

  [in] | provider | runtime settings provider.

## ◆ setSettingsProvider()

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

Sets settings provider.

Parameters

  [in] | provider | settings provider.