Face Engine SDK  5.17.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/IGlassesEstimator.h>
00016 #include <fsdk/Estimators/IBestShotQualityEstimator.h>
00017 #include <fsdk/Estimators/ILivenessOneShotRGBEstimator.h>
00018 #include <fsdk/Estimators/ILivenessDepthRGBEstimator.h>
00019 #include <fsdk/Estimators/IMedicalMaskEstimator.h>
00020 #include <fsdk/Estimators/INIRLivenessEstimator.h>
00021 #include <fsdk/Estimators/IQualityEstimator.h>
00022 
00023 #include <fsdk/Types/FaceEngineEdition.h>
00024 
00047 
00048 namespace fsdk {
00049 
00050 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00051     DECLARE_SMARTPTR(IFaceEngineMobile);
00052 #endif
00053 
00063     struct IFaceEngineMobile : IRefCounted {
00064 
00069         virtual ResultValue<FSDKError, IDetectorPtr> createDetector() noexcept = 0;
00070         
00075         virtual ResultValue<FSDKError, IHeadPoseEstimatorPtr> createHeadPoseEstimator() noexcept = 0;
00076 
00081         virtual ResultValue<FSDKError, IAGSEstimatorPtr> createAGSEstimator() noexcept = 0;
00082 
00087         virtual ResultValue<FSDKError, IEyeEstimatorPtr> createEyeEstimator() noexcept = 0;
00088 
00094         virtual ResultValue<FSDKError, IMedicalMaskEstimatorPtr> createMedicalMaskEstimator() noexcept = 0;
00095 
00101         virtual ResultValue<FSDKError, IGlassesEstimatorPtr> createGlassesEstimator() noexcept = 0;
00102 
00108         virtual ResultValue<FSDKError, IQualityEstimatorPtr> createQualityEstimator() noexcept = 0;
00109 
00114         virtual ResultValue<FSDKError, IBestShotQualityEstimatorPtr> createBestShotQualityEstimator() noexcept = 0;
00115 
00120         virtual ResultValue<FSDKError, ILivenessOneShotRGBEstimatorPtr> createLivenessOneShotRGBEstimator() noexcept = 0;
00121 
00127         virtual ResultValue<FSDKError, ILivenessDepthRGBEstimatorPtr> createLivenessDepthRGBEstimator() noexcept = 0;
00128 
00136         virtual ResultValue<FSDKError, INIRLivenessEstimatorPtr>
00137         createNIRLivenessEstimator(
00138             const NIRLivenessMode mode = NIRLivenessMode::Default) noexcept = 0;
00139 
00148         virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(uint32_t version = 0) noexcept = 0;
00149 
00156         virtual ResultValue<FSDKError, IDescriptorPtr> createDescriptor(IArchive* archive, uint32_t flags = 0) noexcept = 0;
00157 
00167         virtual ResultValue<FSDKError, IDescriptorBatchPtr> createDescriptorBatch(int32_t size, uint32_t version = 0) noexcept = 0;
00168 
00177         virtual ResultValue<FSDKError, IDescriptorExtractorPtr> createExtractor(uint32_t version = 0) noexcept = 0;
00178 
00187         virtual ResultValue<FSDKError, IDescriptorMatcherPtr> createMatcher(uint32_t version = 0) noexcept = 0;
00188 
00193         virtual ResultValue<FSDKError, IWarperPtr> createWarper() noexcept = 0;
00194 
00202         virtual FaceEngineEdition getFaceEngineEdition() const noexcept = 0;
00203 
00208         virtual void setDataDirectory(const char* path) noexcept = 0;
00209 
00215         virtual const char* getDataDirectory() const noexcept = 0;
00216 
00221         virtual void setSettingsProvider(ISettingsProvider* provider) noexcept = 0;
00222 
00227         virtual void setRuntimeSettingsProvider(ISettingsProvider* provider) noexcept = 0;
00228 
00233         virtual ISettingsProvider* getSettingsProvider() const noexcept = 0;
00234         
00239         virtual ISettingsProvider* getRuntimeSettingsProvider() const noexcept = 0;
00240 
00245         virtual ILicense* getLicense() const noexcept = 0;
00246     };
00247 
00254     FSDK_API Result<FSDKError> activateLicense(ILicense* license, const char* configPath) noexcept;
00255 
00262     FSDK_API Result<FSDKError> activateLicense(ILicense* license, ISettingsProvider* settings) noexcept;
00263 
00271     FSDK_API ResultValue<FSDKError, IFaceEngineMobilePtr> createFaceEngineMobile(
00272         const char* dataPath = nullptr,
00273         const char* configPath = nullptr,
00274         const char* runtimePath = nullptr) noexcept;
00275 
00281     FSDK_API ResultValue<FSDKError, ISettingsProviderPtr> createSettingsProvider(const char* path) noexcept;
00282 
00283 } // namespace fsdk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines