|
@@ -608,23 +608,24 @@ namespace OTSClassifyEngine
|
|
|
}
|
|
|
|
|
|
|
|
|
- if (dOWeight >= MIN_ELEMENT_SUM && dSWeight< MIN_ELEMENT_SUM )
|
|
|
- {
|
|
|
-
|
|
|
- a_GrpId = IDENTIFIED_INC_GRP_ID::OXIDE;
|
|
|
-
|
|
|
- }
|
|
|
- else if ( dSWeight >= MIN_ELEMENT_SUM && dOWeight < MIN_ELEMENT_SUM)
|
|
|
+
|
|
|
+ if ( dSWeight >= MIN_ELEMENT_SUM && dOWeight < MIN_ELEMENT_SUM && dNWeight <= MIN_ELEMENT_SUM)
|
|
|
{
|
|
|
a_GrpId = IDENTIFIED_INC_GRP_ID::SULFIDE;
|
|
|
}
|
|
|
- else if (dOWeight >= MIN_ELEMENT_SUM && dSWeight >= MIN_ELEMENT_SUM )
|
|
|
+ else if (dOWeight >= MIN_ELEMENT_SUM && dSWeight >= MIN_ELEMENT_SUM && dNWeight<=MIN_ELEMENT_SUM)
|
|
|
{
|
|
|
a_GrpId = IDENTIFIED_INC_GRP_ID::SULFIDE_OXIDE;
|
|
|
}
|
|
|
else if ( dNWeight >= MIN_ELEMENT_SUM)
|
|
|
{
|
|
|
a_GrpId = IDENTIFIED_INC_GRP_ID::CARBONNITRIDE_NITRIDE;
|
|
|
+ }else
|
|
|
+ if (dOWeight >= MIN_ELEMENT_SUM && dSWeight < MIN_ELEMENT_SUM)
|
|
|
+ {
|
|
|
+
|
|
|
+ a_GrpId = IDENTIFIED_INC_GRP_ID::OXIDE;
|
|
|
+
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -636,6 +637,70 @@ namespace OTSClassifyEngine
|
|
|
return TRUE;
|
|
|
|
|
|
|
|
|
+ }
|
|
|
+ BOOL COTSClassifyEng::GroupClassify1(CElementChemistriesList& a_listElChemsIncNoFe, int incId, IDENTIFIED_INC_GRP_ID& a_GrpId)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dOWeight = 0;
|
|
|
+ double dSWeight = 0;
|
|
|
+ double dNWeight = 0;
|
|
|
+ for (auto pElChem : a_listElChemsIncNoFe)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (pElChem->GetName().CompareNoCase(STR_O) == 0)
|
|
|
+ {
|
|
|
+
|
|
|
+ dOWeight = pElChem->GetPercentage();
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (pElChem->GetName().CompareNoCase(STR_SUL) == 0)
|
|
|
+ {
|
|
|
+
|
|
|
+ dSWeight = pElChem->GetPercentage();
|
|
|
+
|
|
|
+ }
|
|
|
+ else if (pElChem->GetName().CompareNoCase(STR_N) == 0)
|
|
|
+ {
|
|
|
+ dNWeight = pElChem->GetPercentage();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ auto stdItm = pPartSTDData->GetSTDItemById(incId);
|
|
|
+ INC_CLASSIFY_TYPE claType = INC_CLASSIFY_TYPE::INVALID;
|
|
|
+ this->GetClassifyTypeOfSTDItem(incId, claType);
|
|
|
+
|
|
|
+ if (claType == INC_CLASSIFY_TYPE::COMPLEX_OXIDE || claType == INC_CLASSIFY_TYPE::OXIDE || claType == INC_CLASSIFY_TYPE::SIMPLE_OXIDE)
|
|
|
+ {
|
|
|
+ a_GrpId = IDENTIFIED_INC_GRP_ID::OXIDE;
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ else if (claType == INC_CLASSIFY_TYPE::SUL)
|
|
|
+ {
|
|
|
+
|
|
|
+ if (dOWeight >= MIN_ELEMENT_SUM && dSWeight <= 1)
|
|
|
+ {
|
|
|
+ a_GrpId = IDENTIFIED_INC_GRP_ID::SULFIDE_OXIDE;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ a_GrpId = IDENTIFIED_INC_GRP_ID::SULFIDE;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (claType == INC_CLASSIFY_TYPE::NITR)
|
|
|
+ {
|
|
|
+ a_GrpId = IDENTIFIED_INC_GRP_ID::CARBONNITRIDE_NITRIDE;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ a_GrpId = IDENTIFIED_INC_GRP_ID::Others;
|
|
|
+ }
|
|
|
+
|
|
|
+ return TRUE;
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
BOOL COTSClassifyEng::GetGroupNameAndColorById(int grpId,std::string& grpName,std::string& grpColor)
|
|
@@ -1502,7 +1567,35 @@ namespace OTSClassifyEngine
|
|
|
// ok, return TRUE
|
|
|
return TRUE;
|
|
|
}
|
|
|
+ BOOL COTSClassifyEng::GetClassifyTypeOfSTDItem(int a_nIncId, INC_CLASSIFY_TYPE& a_nClassifyType)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+ a_nClassifyType = INC_CLASSIFY_TYPE::INVALID;
|
|
|
+ if (a_nIncId >=(int) OTS_STD_ITEM_VALUE::SYS_SIMPLE_OXIDE_MIN && a_nIncId < (int)OTS_STD_ITEM_VALUE::SYS_SIMPLE_OXIDE_MAX)
|
|
|
+ {
|
|
|
+ a_nClassifyType = INC_CLASSIFY_TYPE::SIMPLE_OXIDE;
|
|
|
+ }else if(a_nIncId >= (int) OTS_STD_ITEM_VALUE::SYS_COMPLEX_OXIDE_MIN && a_nIncId < (int)OTS_STD_ITEM_VALUE::SYS_COMPLEX_OXIDE_MAX)
|
|
|
+ {
|
|
|
+
|
|
|
+ a_nClassifyType = INC_CLASSIFY_TYPE::COMPLEX_OXIDE;
|
|
|
+ }
|
|
|
+ else if (a_nIncId >= (int)OTS_STD_ITEM_VALUE::SYS_OXIDE_MIN && a_nIncId < (int)OTS_STD_ITEM_VALUE::SYS_OXIDE_MAX)
|
|
|
+ {
|
|
|
+ a_nClassifyType = INC_CLASSIFY_TYPE::OXIDE;
|
|
|
+ }
|
|
|
+ else if (a_nIncId >= (int)OTS_STD_ITEM_VALUE::SYS_SUL_MIN && a_nIncId < (int)OTS_STD_ITEM_VALUE::SYS_SUL_MAX)
|
|
|
+ {
|
|
|
+ a_nClassifyType = INC_CLASSIFY_TYPE::SUL;
|
|
|
+ }
|
|
|
+ else if (a_nIncId >= (int)OTS_STD_ITEM_VALUE::SYS_NITRIDE_MIN && a_nIncId < (int)OTS_STD_ITEM_VALUE::SYS_NITRIDE_MAX)
|
|
|
+ {
|
|
|
+ a_nClassifyType = INC_CLASSIFY_TYPE::NITR;
|
|
|
+ }
|
|
|
+ return true;
|
|
|
|
|
|
+
|
|
|
+ }
|
|
|
BOOL COTSClassifyEng::GetSulfildeOxideComplexItemId(CElementChemistriesList& a_listElChemsIncNoFe, double a_dMolarSumNoFe, CString strSulfideBaseName, int& a_nIncId)
|
|
|
{
|
|
|
int nIncId;
|