Face Engine SDK  5.26.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/IGazeEstimator.h>
00017 #include <fsdk/Estimators/IGlassesEstimator.h>
00018 #include <fsdk/Estimators/IBestShotQualityEstimator.h>
00019 #include <fsdk/Estimators/IDepthLivenessEstimator.h>
00020 #include <fsdk/Estimators/ILivenessOneShotRGBEstimator.h>
00021 #include <fsdk/Estimators/ILivenessDepthRGBEstimator.h>
00022 #include <fsdk/Estimators/IMedicalMaskEstimator.h>
00023 #include <fsdk/Estimators/IMouthEstimator.h>
00024 #include <fsdk/Estimators/INIRLivenessEstimator.h>
00025 #include <fsdk/Estimators/IQualityEstimator.h>
00026 
00027 #include <fsdk/Types/FaceEngineEdition.h>
00028 
00051 
00052 namespace fsdk {
00053 
00054 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00055     DECLARE_SMARTPTR(IFaceEngineMobile);
00056 #endif
00057 
00067     struct IFaceEngineMobile : IRefCounted {
00068 
00073         virtual ResultValue<FSDKError, IDetectorPtr> createDetector() noexcept = 0;
00074 
00079         virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> createHeadPoseEstimator() noexcept = 0;
00080 
00085         virtual ResultValue<FSDKError, IAGSEstimatorPtr> createAGSEstimator() noexcept = 0;
00086 
00091         virtual ResultValue<FSDKError, IEyeEstimatorPtr> createEyeEstimator() noexcept = 0;
00092 
00098         virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> createMedicalMaskEstimator() noexcept = 0;
00099 
00105         virtual ResultValue<FSDKError, IGazeEstimatorPtr>
00106         createGazeEstimator(SensorType mode = SensorType::Visible) noexcept = 0;
00107 
00113         virtual ResultValue<FSDKError, IGlassesEstimatorPtr> createGlassesEstimator() noexcept = 0;
00114 
00120         virtual ResultValue<FSDKError, IQualityEstimatorPtr> createQualityEstimator() noexcept = 0;
00121 
00126         virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr>
00127         createBestShotQualityEstimator() noexcept = 0;
00128 
00133         virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr>
00134         createLivenessOneShotRGBEstimator() noexcept = 0;
00135 
00141         virtual ResultValue<FSDKError, IDepthLivenessEstimatorPtr> createDepthLivenessEstimator() noexcept = 0;
00142 
00148         virtual ResultValue<FSDKError, ILivenessDepthRGBEstimatorPtr>
00149         createLivenessDepthRGBEstimator() noexcept = 0;
00150 
00158         virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr>
00159         createNIRLivenessEstimator(const NIRLivenessMode mode = NIRLivenessMode::Default) noexcept = 0;
00160 
00166         virtual ResultValue<FSDKError, IMouthEstimatorPtr> createMouthEstimator() noexcept = 0;
00167 
00168 
00174         virtual ResultValue<FSDKError, IFaceOcclusionEstimatorPtr> createFaceOcclusionEstimator() noexcept = 0;
00175 
00184         virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(uint32_t version = 0) noexcept = 0;
00185 
00192         virtual ResultValue<FSDKError, IDescriptorPtr>
00193         createDescriptor(IArchive* archive, uint32_t flags = 0) noexcept = 0;
00194 
00205         virtual ResultValue<FSDKError, IDescriptorBatchPtr>
00206         createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0;
00207 
00217         virtual ResultValue<FSDKError, IDescriptorExtractorPtr>
00218         createExtractor(uint32_t version = 0) noexcept = 0;
00219 
00228         virtual ResultValue<FSDKError, IDescriptorMatcherPtr> createMatcher(uint32_t version = 0) noexcept = 0;
00229 
00234         virtual ResultValue<FSDKError, IWarperPtr> createWarper() noexcept = 0;
00235 
00243         virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0;
00244 
00249         virtual void setDataDirectory(const char* path) noexcept = 0;
00250 
00256         virtual const char* getDataDirectory() const noexcept = 0;
00257 
00262         virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0;
00263 
00268         virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0;
00269 
00274         virtual ISettingsProvider* getSettingsProvider() const noexcept = 0;
00275 
00280         virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0;
00281 
00286         virtual ILicense* getLicense() const noexcept = 0;
00287     };
00288 
00295     FSDK_API Result<FSDKError> activateLicense(ILicense* license, const char* configPath) noexcept;
00296 
00303     FSDK_API Result<FSDKError> activateLicense(ILicense* license, ISettingsProvider* settings) noexcept;
00304 
00313     FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> createFaceEngineMobile(
00314         const char* dataPath = nullptr,
00315         const char* configPath = nullptr,
00316         const char* runtimePath = nullptr) noexcept;
00317 
00323     FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> createSettingsProvider(const char* path) noexcept;
00324 
00331     FSDK_API ResultValue<FSDKError, ISettingsProviderPtr>
00332     createSettingsProviderFromString(const char* content) noexcept;
00333 
00334 } // namespace fsdk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines