فهرست منبع

print all gb particles sum length on the GB field.

gsp 1 سال پیش
والد
کامیت
3800bb45da
3فایلهای تغییر یافته به همراه217 افزوده شده و 28 حذف شده
  1. 190 16
      OTSCPP/OTSRptCalculate/GBCal/CGBLevel.cpp
  2. 9 0
      OTSCPP/OTSRptCalculate/GBCal/CGBLevel.h
  3. 18 12
      OTSCPP/OTSRptCalculate/GBCal/GBFieldData.cpp

+ 190 - 16
OTSCPP/OTSRptCalculate/GBCal/CGBLevel.cpp

@@ -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()

+ 9 - 0
OTSCPP/OTSRptCalculate/GBCal/CGBLevel.h

@@ -30,6 +30,14 @@ namespace OTSGBCalculate
 		
 		double GetMaxFeretDiameter();
 
+		
+		double GetThinLength();
+		
+		double GetWideLength();
+		
+		double GetSuperLength();
+	
+
 	protected:
 
 		// cleanup 
@@ -54,6 +62,7 @@ namespace OTSGBCalculate
 	GB_GRADE_TYPE  __declspec(dllexport) GetCGrade(double dLengthAll);
 	GB_GRADE_TYPE  __declspec(dllexport) GetDGrade(int nSize);
 	CString  __declspec(dllexport) GetDSGrade(double dFeretDiameterMax);
+	
 
 
 }

+ 18 - 12
OTSCPP/OTSRptCalculate/GBCal/GBFieldData.cpp

@@ -53,6 +53,12 @@ namespace OTSGBCalculate
 			}
 			return gr;
 		}
+		CString DoubleToCString(double d)
+		{
+			CString s;
+			s.Format(_T("%.0lf"), d);
+			return s;
+		}
 
 
 	}
@@ -1375,18 +1381,18 @@ namespace OTSGBCalculate
 	std::string CGBFieldData::GetGBGradeString()
 	{
 		std::string grdStr;
-		CString Astring = _T("A:") + GetGradeString(GetALevel()->GetThinGrade()) + _T(" ") +			
-			GetGradeString(GetALevel()->GetWideGrade()) + _T(" ") +
-			GetGradeString(GetALevel()->GetSuperGrade()) + _T(" ");
-		CString Bstring = _T("B:") + GetGradeString(GetBLevel()->GetThinGrade()) + _T(" ") +			
-			GetGradeString(GetBLevel()->GetWideGrade()) + _T(" ") +
-			GetGradeString(GetBLevel()->GetSuperGrade()) + _T(" ");
-		CString Cstring = _T("C:") + GetGradeString(GetCLevel()->GetThinGrade()) + _T(" ") +
-			GetGradeString(GetCLevel()->GetWideGrade()) + _T(" ") +
-			GetGradeString(GetCLevel()->GetSuperGrade()) + _T(" ");
-		CString Dstring = _T("D:") + GetGradeString(GetDLevel()->GetThinGrade()) + _T(" ") +
-			GetGradeString(GetDLevel()->GetWideGrade()) + _T(" ") +
-			GetGradeString(GetDLevel()->GetSuperGrade()) + _T(" ");
+		CString Astring = _T("A:") + GetGradeString(m_pALevel->GetThinGrade())+_T("(")+DoubleToCString(m_pALevel->GetThinLength())+_T(")") + _T(" ") +
+			GetGradeString(m_pALevel->GetWideGrade()) + _T("(") + DoubleToCString(m_pALevel->GetWideLength()) + _T(")") + _T(" ") +
+			GetGradeString(m_pALevel->GetSuperGrade()) + _T("(") + DoubleToCString(m_pALevel->GetSuperLength()) + _T(")") + _T(" ");
+		CString Bstring = _T("B:") + GetGradeString(m_pBLevel->GetThinGrade()) + _T("(") + DoubleToCString(m_pBLevel->GetThinLength()) + _T(")") + _T(" ") +
+			GetGradeString(m_pBLevel->GetWideGrade()) + _T("(") + DoubleToCString(m_pBLevel->GetWideLength()) + _T(")") + _T(" ") +
+			GetGradeString(m_pBLevel->GetSuperGrade()) + _T("(")  + DoubleToCString(m_pBLevel->GetSuperLength()) + _T(")") + _T(" ");
+		CString Cstring = _T("C:") + GetGradeString(m_pCLevel->GetThinGrade()) + _T("(")+ DoubleToCString(m_pCLevel->GetThinLength()) + _T(")") + _T(" ") +
+			GetGradeString(m_pCLevel->GetWideGrade()) + _T("(") + DoubleToCString(m_pCLevel->GetWideLength()) + _T(")") + _T(" ") +
+			GetGradeString(m_pCLevel->GetSuperGrade()) + _T("(") + DoubleToCString(m_pCLevel->GetSuperLength()) + _T(")") + _T(" ");
+		CString Dstring = _T("D:") + GetGradeString(m_pDLevel->GetThinGrade())+_T("(") + DoubleToCString(m_pDLevel->GetThinLength()) + _T(")") + _T(" ") +
+			GetGradeString(m_pDLevel->GetWideGrade()) + _T("(") + DoubleToCString(m_pDLevel->GetWideLength()) + _T(")") + _T(" ") +
+			GetGradeString(m_pDLevel->GetSuperGrade()) + _T("(") + DoubleToCString(m_pDLevel->GetSuperLength()) + _T(")") + _T(" ");
 		if (calcuType == GB_METHODE_TYPE::METHODE_2)
 		{
 			CString DSulstring = _T("DSulfide:") + GetGradeString(GetDSulfideLevel()->GetThinGrade()) + _T(" ") +