|
@@ -286,6 +286,193 @@ namespace OTSGBCalculate
|
|
|
|
|
|
return m_FeretDiameterMax;
|
|
|
}
|
|
|
+ double CGBLevel::GetThinLength()
|
|
|
+ {
|
|
|
+ // get grade
|
|
|
+ // A
|
|
|
+ double dLengthAll = 0;
|
|
|
+ int nSize;
|
|
|
+ switch (m_nLevel)
|
|
|
+ {
|
|
|
+ case GB_LEVEL_TYPE::A_TYPE:
|
|
|
+
|
|
|
+
|
|
|
+ for (auto pAparticle : m_GBField->listAThinParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+ double dLength = pAparticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::B_TYPE:
|
|
|
+
|
|
|
+ dLengthAll = 0;
|
|
|
+ for (auto pBparticle : m_GBField->listBThinParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pBparticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+ case GB_LEVEL_TYPE::C_TYPE:
|
|
|
+ dLengthAll = 0;
|
|
|
+ for (auto pCparticle : m_GBField->listCThinParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pCparticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::D_TYPE:
|
|
|
+
|
|
|
+ nSize = (int)m_GBField->listDThinParticles.size();
|
|
|
+ return nSize;
|
|
|
+ break;
|
|
|
+
|
|
|
+ case GB_LEVEL_TYPE::DSulfide_TYPE:
|
|
|
+
|
|
|
+ nSize = (int)m_GBField->listDSulfideThinParticles.size();
|
|
|
+ return nSize;
|
|
|
+ break;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ double CGBLevel::GetWideLength()
|
|
|
+ {
|
|
|
+ double dLengthAll = 0;
|
|
|
+ int nSize;
|
|
|
+ switch (m_nLevel)
|
|
|
+ {
|
|
|
+ case GB_LEVEL_TYPE::A_TYPE:
|
|
|
+
|
|
|
+
|
|
|
+ for (auto pAparticle : m_GBField->listAWideParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pAparticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::B_TYPE:
|
|
|
+
|
|
|
+ dLengthAll = 0;
|
|
|
+ for (auto pBparticle : m_GBField->listBWideParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pBparticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+ case GB_LEVEL_TYPE::C_TYPE:
|
|
|
+ dLengthAll = 0;
|
|
|
+ for (auto pCparticle : m_GBField->listCWideParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pCparticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::D_TYPE:
|
|
|
+
|
|
|
+ nSize = (int)m_GBField->listDWideParticles.size();
|
|
|
+ return nSize;
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::DSulfide_TYPE:
|
|
|
+
|
|
|
+ nSize = (int)m_GBField->listDSulfideWideParticles.size();
|
|
|
+ return nSize;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+ double CGBLevel::GetSuperLength()
|
|
|
+ {
|
|
|
+ double dLengthAll = 0;
|
|
|
+ int nSize;
|
|
|
+ switch (m_nLevel)
|
|
|
+ {
|
|
|
+ case GB_LEVEL_TYPE::A_TYPE:
|
|
|
+
|
|
|
+
|
|
|
+ for (auto pAparticle : m_GBField->listASuperParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pAparticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::B_TYPE:
|
|
|
+
|
|
|
+ dLengthAll = 0;
|
|
|
+ for (auto pBparticle : m_GBField->listBSuperParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pBparticle->GetDMax();
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+ case GB_LEVEL_TYPE::C_TYPE:
|
|
|
+ dLengthAll = 0;
|
|
|
+ for (auto pParticle : m_GBField->listCSuperParticles)
|
|
|
+ {
|
|
|
+
|
|
|
+ double dLength = pParticle->GetDMax();
|
|
|
+
|
|
|
+
|
|
|
+ dLengthAll += dLength;
|
|
|
+ }
|
|
|
+ return dLengthAll;
|
|
|
+
|
|
|
+
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::D_TYPE:
|
|
|
+
|
|
|
+ nSize = (int)m_GBField->listDSuperParticles.size();
|
|
|
+ return nSize;
|
|
|
+ break;
|
|
|
+ case GB_LEVEL_TYPE::DSulfide_TYPE:
|
|
|
+
|
|
|
+ nSize = (int)m_GBField->listDSulfideSuperParticles.size();
|
|
|
+ return nSize;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ return 0;
|
|
|
+ }
|
|
|
+
|
|
|
GB_GRADE_TYPE GetAGrade(double dLengthAll)
|
|
|
{
|
|
|
|
|
@@ -534,22 +721,9 @@ namespace OTSGBCalculate
|
|
|
return _T("0.0");
|
|
|
}
|
|
|
|
|
|
- /*void CGBLevel::Serialize(bool isStoring, tinyxml2::XMLDocument * classDoc, tinyxml2::XMLElement * rootNode)
|
|
|
- {
|
|
|
- xmls::xInt xLevel;
|
|
|
- xmls::Slo slo;
|
|
|
- slo.Register("Level", &xLevel);
|
|
|
- if (isStoring)
|
|
|
- {
|
|
|
- xLevel = (int)m_nLevel;
|
|
|
- slo.Serialize(true, classDoc, rootNode);
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- slo.Serialize(false, classDoc, rootNode);
|
|
|
- m_nLevel = (GB_LEVEL_TYPE)xLevel.value();
|
|
|
- }
|
|
|
- }*/
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
|
|
|
// cleanup
|
|
|
void CGBLevel::Cleanup()
|