|
@@ -300,7 +300,7 @@ namespace OTSGBCalculate
|
|
|
|
|
|
|
|
|
// get all the all particles for each level
|
|
|
- //mapAllParticles.clear();
|
|
|
+
|
|
|
for (auto pParticle : m_listOTSParticles)
|
|
|
{ // compute length width ratio
|
|
|
if (pParticle->GetType() == OTS_PARTICLE_TYPE::INVALID)//here we take all the particles except Invalid.
|
|
@@ -340,14 +340,14 @@ namespace OTSGBCalculate
|
|
|
listAparts.push_back(pParticle);
|
|
|
|
|
|
|
|
|
- //mapAllParticles[pParticle] = GBParticle(pParticle, GB_CLASSIFY_TYPE::A_TYPE, wt);
|
|
|
+
|
|
|
}
|
|
|
else if (nChemicalType == GB_CHEMICAL_TYPE::CHE_O || nChemicalType== GB_CHEMICAL_TYPE::CHE_Si || nChemicalType == GB_CHEMICAL_TYPE::CHE_Al)
|
|
|
{
|
|
|
// C
|
|
|
listCparts.push_back(pParticle);
|
|
|
|
|
|
- //mapAllParticles[pParticle] = GBParticle(pParticle, GB_CLASSIFY_TYPE::C_TYPE, wt);
|
|
|
+
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -355,34 +355,23 @@ namespace OTSGBCalculate
|
|
|
{
|
|
|
|
|
|
// B, or D or DS
|
|
|
- double dFeretDiameter = pParticle->GetFeretDiameter();
|
|
|
- if (dFeretDiameter >= 13)
|
|
|
+
|
|
|
+
|
|
|
+ if (nChemicalType == GB_CHEMICAL_TYPE::CHE_S)//if it contains sulfide then it is a A particle.
|
|
|
{
|
|
|
- // DS
|
|
|
- CGBParticlePtr gbp = CGBParticlePtr(new GBParticle());
|
|
|
- gbp->myType = GB_CLASSIFY_TYPE::DS_TYPE;
|
|
|
- gbp->myOTSParts.push_back(pParticle);
|
|
|
- listDSParticles.push_back(gbp);
|
|
|
-
|
|
|
-
|
|
|
+ listAparts.push_back(pParticle);
|
|
|
+
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- if (nChemicalType == GB_CHEMICAL_TYPE::CHE_S)//if it contains sulfide then it is a A particle.
|
|
|
- {
|
|
|
- listAparts.push_back(pParticle);
|
|
|
-
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- // B or D
|
|
|
+ // B or D
|
|
|
|
|
|
- listBAndDParticles.push_back(pParticle);
|
|
|
+ listBAndDParticles.push_back(pParticle);
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- }
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -463,8 +452,17 @@ namespace OTSGBCalculate
|
|
|
listDSuperParticles.push_back(pGBParticle);
|
|
|
break;
|
|
|
}
|
|
|
- //mapAllParticles[pGBParticle.myPart] = GBParticle(pGBParticle.myPart, GB_CLASSIFY_TYPE::D_TYPE, wt);
|
|
|
- //}
|
|
|
+
|
|
|
+ double dFeretDiameter = pGBParticle->GetFeretDiameter();
|
|
|
+ if (dFeretDiameter >= 13)
|
|
|
+ {
|
|
|
+ // DS
|
|
|
+
|
|
|
+ listDSParticles.push_back(pGBParticle);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
else if (pGBParticle->myOTSParts.size() == 2)//there's only two parts,it's still D part
|
|
@@ -489,6 +487,15 @@ namespace OTSGBCalculate
|
|
|
listDSuperParticles.push_back(gbp);
|
|
|
break;
|
|
|
}
|
|
|
+ double dFeretDiameter = gbp->GetFeretDiameter();
|
|
|
+ if (dFeretDiameter >= 13)
|
|
|
+ {
|
|
|
+ // DS
|
|
|
+
|
|
|
+ listDSParticles.push_back(gbp);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
else if(pGBParticle->myOTSParts.size()>= 3)
|