IClassifyEngine.h 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #pragma once
  2. #include <string>
  3. #include "OTSParticle.h"
  4. //#include "PosXrayInfo.h"
  5. #include <PosXray.h>
  6. namespace OTSClassifyEngine
  7. {
  8. using std::string;
  9. using namespace OTSDATA;
  10. //define interface
  11. class __declspec(dllexport) IClassifyEngine
  12. {
  13. public:
  14. IClassifyEngine() //³ÉÔ±Áбí³õʼ»¯²ÎÊý
  15. {};
  16. virtual ~IClassifyEngine() {};
  17. virtual bool Init() = 0;//
  18. //virtual bool ClassifyByXrayInfo(COTSParticlePtr particle, CPosXrayInfoPtr xrayInfo) = 0;//
  19. virtual bool Classify(COTSParticlePtr particle, CPosXrayPtr xray) = 0;//
  20. virtual bool Classify(COTSParticlePtr particle,int SteelTech, CPosXrayPtr xray) = 0;//
  21. virtual bool IfNeedMaxEDS(COTSParticlePtr particle, CPosXrayPtr xray, double& MaxEDSTime) = 0;
  22. };
  23. typedef std::shared_ptr<IClassifyEngine> __declspec(dllexport) CLEEnginePtr;
  24. __declspec(dllexport) CLEEnginePtr GetInclutionEngine();//will be initialized at the first time.and it's a singleton object.
  25. __declspec(dllexport) CLEEnginePtr GetParticleEngine(std::string libName);//will be initialized at the first time.and it's a singleton object.
  26. __declspec(dllexport) CLEEnginePtr GetCurveCompareEngine(std::string libName);//will be initialized at the first time.and it's a singleton object.
  27. }