IClassifyEngine.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include <string>
  3. #include "OTSParticle.h"
  4. #include <PosXray.h>
  5. namespace OTSClassifyEngine
  6. {
  7. using std::string;
  8. using namespace OTSDATA;
  9. //define interface
  10. class __declspec(dllexport) IClassifyEngine
  11. {
  12. public:
  13. IClassifyEngine()
  14. {};
  15. virtual ~IClassifyEngine() {};
  16. virtual bool Init() = 0;//
  17. virtual bool ClassifyBySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) = 0;//belong to spectrum engine
  18. virtual bool ClassifyExpression(COTSParticlePtr particle, CPosXrayPtr xray) = 0;//belong to expression engine
  19. virtual bool ClassifyByExpressionTemporarySpectrum(COTSParticlePtr particle, CPosXrayPtr xray) = 0;//belong to expression engine
  20. virtual bool ClassifyIncA(COTSParticlePtr particle,int SteelTech, CPosXrayPtr xray) = 0;//belong to inca engine
  21. virtual bool IfNeedMaxEDS(COTSParticlePtr particle, CPosXrayPtr xray, double& MaxEDSTime) = 0;//belong to expression engine
  22. virtual bool ZeroElementProcess(COTSParticlePtr particle)=0;
  23. };
  24. typedef std::shared_ptr<IClassifyEngine> __declspec(dllexport) CLEEnginePtr;
  25. __declspec(dllexport) CLEEnginePtr GetInclutionEngine();//will be initialized at the first time.and it's a singleton object.
  26. __declspec(dllexport) CLEEnginePtr GetParticleEngine(std::string libName);//will be initialized at the first time.and it's a singleton object.
  27. __declspec(dllexport) CLEEnginePtr GetCurveCompareEngine(std::string libName);//will be initialized at the first time.and it's a singleton object.
  28. }