Face Engine SDK  5.25.0
A face detection, recognition and tracking engine.
include/fsdk/IFaceEngineMobile.h
00001 #pragma once
00002 
00003 #include <fsdk/Log.h>
00004 #include <fsdk/Def.h>
00005 #include <fsdk/IObject.h>
00006 #include <fsdk/ILicense.h>
00007 #include <fsdk/IDetector.h>
00008 #include <fsdk/IDescriptor.h>
00009 #include <fsdk/ISettingsProvider.h>
00010 #include <fsdk/IWarper.h>
00011 
00012 #include <fsdk/Estimators/IAGSEstimator.h>
00013 #include <fsdk/Estimators/IHeadPoseEstimator.h>
00014 #include <fsdk/Estimators/IEyeEstimator.h>
00015 #include <fsdk/Estimators/IFaceOcclusionEstimator.h>
00016 #include <fsdk/Estimators/IGlassesEstimator.h>
00017 #include <fsdk/Estimators/IBestShotQualityEstimator.h>
00018 #include <fsdk/Estimators/IDepthLivenessEstimator.h>
00019 #include <fsdk/Estimators/ILivenessOneShotRGBEstimator.h>
00020 #include <fsdk/Estimators/ILivenessDepthRGBEstimator.h>
00021 #include <fsdk/Estimators/IMedicalMaskEstimator.h>
00022 #include <fsdk/Estimators/IMouthEstimator.h>
00023 #include <fsdk/Estimators/INIRLivenessEstimator.h>
00024 #include <fsdk/Estimators/IQualityEstimator.h>
00025 
00026 #include <fsdk/Types/FaceEngineEdition.h>
00027 
00050 
00051 namespace fsdk {
00052 
00053 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00054     DECLARE_SMARTPTR(IFaceEngineMobile);
00055 #endif
00056 
00066     struct IFaceEngineMobile : IRefCounted {
00067 
00072         virtual ResultValue<FSDKError, IDetectorPtr> createDetector() noexcept = 0;
00073 
00078         virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> createHeadPoseEstimator() noexcept = 0;
00079 
00084         virtual ResultValue<FSDKError, IAGSEstimatorPtr> createAGSEstimator() noexcept = 0;
00085 
00090         virtual ResultValue<FSDKError, IEyeEstimatorPtr> createEyeEstimator() noexcept = 0;
00091 
00097         virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> createMedicalMaskEstimator() noexcept = 0;
00098 
00104         virtual ResultValue<FSDKError, IGlassesEstimatorPtr> createGlassesEstimator() noexcept = 0;
00105 
00111         virtual ResultValue<FSDKError, IQualityEstimatorPtr> createQualityEstimator() noexcept = 0;
00112 
00117         virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr>
00118         createBestShotQualityEstimator() noexcept = 0;
00119 
00124         virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr>
00125         createLivenessOneShotRGBEstimator() noexcept = 0;
00126 
00132         virtual ResultValue<FSDKError, IDepthLivenessEstimatorPtr> createDepthLivenessEstimator() noexcept = 0;
00133 
00139         virtual ResultValue<FSDKError, ILivenessDepthRGBEstimatorPtr>
00140         createLivenessDepthRGBEstimator() noexcept = 0;
00141 
00149         virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr>
00150         createNIRLivenessEstimator(const NIRLivenessMode mode = NIRLivenessMode::Default) noexcept = 0;
00151 
00157         virtual ResultValue<FSDKError, IMouthEstimatorPtr> createMouthEstimator() noexcept = 0;
00158 
00159 
00165         virtual ResultValue<FSDKError, IFaceOcclusionEstimatorPtr> createFaceOcclusionEstimator() noexcept = 0;
00166 
00175         virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(uint32_t version = 0) noexcept = 0;
00176 
00183         virtual ResultValue<FSDKError, IDescriptorPtr>
00184         createDescriptor(IArchive* archive, uint32_t flags = 0) noexcept = 0;
00185 
00196         virtual ResultValue<FSDKError, IDescriptorBatchPtr>
00197         createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0;
00198 
00208         virtual ResultValue<FSDKError, IDescriptorExtractorPtr>
00209         createExtractor(uint32_t version = 0) noexcept = 0;
00210 
00219         virtual ResultValue<FSDKError, IDescriptorMatcherPtr> createMatcher(uint32_t version = 0) noexcept = 0;
00220 
00225         virtual ResultValue<FSDKError, IWarperPtr> createWarper() noexcept = 0;
00226 
00234         virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0;
00235 
00240         virtual void setDataDirectory(const char* path) noexcept = 0;
00241 
00247         virtual const char* getDataDirectory() const noexcept = 0;
00248 
00253         virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0;
00254 
00259         virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0;
00260 
00265         virtual ISettingsProvider* getSettingsProvider() const noexcept = 0;
00266 
00271         virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0;
00272 
00277         virtual ILicense* getLicense() const noexcept = 0;
00278     };
00279 
00286     FSDK_API Result<FSDKError> activateLicense(ILicense* license, const char* configPath) noexcept;
00287 
00294     FSDK_API Result<FSDKError> activateLicense(ILicense* license, ISettingsProvider* settings) noexcept;
00295 
00304     FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> createFaceEngineMobile(
00305         const char* dataPath = nullptr,
00306         const char* configPath = nullptr,
00307         const char* runtimePath = nullptr) noexcept;
00308 
00314     FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> createSettingsProvider(const char* path) noexcept;
00315 
00322     FSDK_API ResultValue<FSDKError, ISettingsProviderPtr>
00323     createSettingsProviderFromString(const char* content) noexcept;
00324 
00325 } // namespace fsdk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines