1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- #pragma once
- #include "stdafx.h"
- #include "InclutionClassifyEngine.h"
- #include "IClassifyEngine.h"
- #include "InclutionEngine/STDFileMgr.h"
- #include "InclutionEngine/OTSClassifyEng.h"
- namespace OTSClassifyEngine
- {
- bool InclutionClassifyEngine::Init()
- {
- CSTDFileMgrPtr stdfile = CSTDFileMgrPtr(new CSTDFileMgr());
- stdfile->Load();
- myStd = stdfile-> GenerateSTDLib(IDENTIFY_KIND::ALL);
- return true;
- }
- bool InclutionClassifyEngine::Classify(COTSParticlePtr particle, CPosXrayPtr xray)
- {
- return false;
- }
- bool InclutionClassifyEngine::Classify(COTSParticlePtr particle, int SteelTech, CPosXrayPtr xray)
- {
- if (particle == nullptr || xray == nullptr) return false;
- int Id;
- auto result=COTSClassifyEng::ClassifyXray(myStd, (OTSDATA::STEEL_TECHNOLOGY)SteelTech, xray->GetElementQuantifyData(), Id);
-
- auto stditm = myStd->GetSTDItemById(Id);
- if (Id ==(int) OTS_PARTICLE_TYPE::NOT_IDENTIFIED)
- {
- particle->SetType(OTS_PARTICLE_TYPE::NOT_IDENTIFIED);
- particle->TypeName("Not Identified");
- }
- else if (Id == (int)OTS_PARTICLE_TYPE::NOT_IDENTIFIED_SIC)
- {
- particle->SetType(OTS_PARTICLE_TYPE::IDENTIFIED);
- particle->TypeName("SiC");
- particle->SetClassifyId(7);
- particle->TypeColor("7B68EE");
- }
- else if (Id == (int)OTS_PARTICLE_TYPE::NOT_IDENTIFIED_FEO)
- {
- particle->SetType(OTS_PARTICLE_TYPE::IDENTIFIED);
- particle->TypeName("FeO");
- particle->SetClassifyId(8);
- particle->TypeColor("FF6347");
- }
- else
- {
- if (stditm != nullptr)
- {
- particle->SetType(OTS_PARTICLE_TYPE::IDENTIFIED);
- particle->SetClassifyId(Id);
- particle->TypeColor(stditm->GetColor().GetBuffer());
- particle->TypeName(stditm->GetName().GetBuffer());
- }
- else
- {
- particle->SetType(OTS_PARTICLE_TYPE::NOT_IDENTIFIED);
- particle->TypeName("Not Identified");
- }
-
- }
- return result;
- }
- bool InclutionClassifyEngine::IfNeedMaxEDS(COTSParticlePtr particle, CPosXrayPtr xray, double& MaxEDSTime)
- {
- throw std::logic_error("The method or operation is not implemented.");
- }
- OTSClassifyEngine::CLEEnginePtr CreateInclutionEngine()
- {
- return CLEEnginePtr(new InclutionClassifyEngine());
- }
- OTSClassifyEngine::CLEEnginePtr GetInclutionEngine()
- {
- static CLEEnginePtr engine;
- if (engine == NULL)
- {
- engine = CLEEnginePtr( new InclutionClassifyEngine());
- engine->Init();
- }
- return engine;
- }
- }
|