|
@@ -806,76 +806,32 @@ namespace OTSGBCalculate
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
+ COTSParticleList allDSParts;
|
|
|
for (CGBFieldDataPtr frame : listCGBField)
|
|
|
- {
|
|
|
+ {
|
|
|
auto dsparticles = frame->listDSParticles;
|
|
|
+
|
|
|
+
|
|
|
for (auto part : dsparticles)
|
|
|
{
|
|
|
- for (int i = 0; i < columnNum; i++)
|
|
|
- {
|
|
|
- CString strName;
|
|
|
- CGridRowsList listRows;
|
|
|
- CGridRowPtr pRow;
|
|
|
- CString strWidthName1, strWidthName2, strWidthName3;
|
|
|
- CString idstr;
|
|
|
- int fldid;
|
|
|
- int partId;
|
|
|
- switch (i)
|
|
|
- {
|
|
|
- case 0:
|
|
|
- pColumn = listCol.at(0);
|
|
|
- pRow = CGridRowPtr(new CGridRow());
|
|
|
- pRow->SetDataType(REPORT_GRID_DATA_TYPE::STRING);
|
|
|
- fldid = part->GetFieldId();
|
|
|
- partId = part->GetTagId();
|
|
|
-
|
|
|
- idstr.Format("%d_%d", fldid,partId);
|
|
|
-
|
|
|
- pRow->SetStringValue(idstr);
|
|
|
- pColumn->AddGridRow(pRow);
|
|
|
+
|
|
|
+ allDSParts.push_back(part);
|
|
|
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- pColumn = listCol.at(1);
|
|
|
- pRow = CGridRowPtr(new CGridRow());
|
|
|
- pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
- pRow->SetIntValue(part->GetActualArea());
|
|
|
- pColumn->AddGridRow(pRow);
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- pColumn = listCol.at(2);
|
|
|
- pRow = CGridRowPtr(new CGridRow());
|
|
|
- pRow->SetDataType(REPORT_GRID_DATA_TYPE::FLOAT);
|
|
|
- pRow->SetDoubleValue(part->GetFeretDiameter());
|
|
|
- pColumn->AddGridRow(pRow);
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- pColumn = listCol.at(3);
|
|
|
- pRow = CGridRowPtr(new CGridRow());
|
|
|
- pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
- pRow->SetIntValue(part->GetAbsolutPos().x);
|
|
|
- pColumn->AddGridRow(pRow);
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- pColumn = listCol.at(4);
|
|
|
- pRow = CGridRowPtr(new CGridRow());
|
|
|
- pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
- pRow->SetIntValue(part->GetAbsolutPos().y);
|
|
|
- pColumn->AddGridRow(pRow);
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- pColumn = listCol.at(5);
|
|
|
- pRow = CGridRowPtr(new CGridRow());
|
|
|
- pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
- pRow->SetIntValue((int)OTSGBCalculate::GetDSGrade(part->GetFeretDiameter()));
|
|
|
- pColumn->AddGridRow(pRow);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ for (auto part : allDSParts)
|
|
|
+ {
|
|
|
+ DisplayDSPartRow(part, listCol);
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|
|
|
- }
|
|
|
+
|
|
|
pGridData->SetGridColumnList(listCol);
|
|
|
|
|
|
return pGridData;
|
|
@@ -1375,6 +1331,73 @@ namespace OTSGBCalculate
|
|
|
PixSize = p;
|
|
|
}
|
|
|
|
|
|
+ void CGBCalculate::DisplayDSPartRow(COTSParticlePtr part, CGridColumnsList listCol)
|
|
|
+ {
|
|
|
+ int columnNum = 6;
|
|
|
+ CGridColumnPtr pColumn;
|
|
|
+ for (int i = 0; i < columnNum; i++)
|
|
|
+ {
|
|
|
+ CString strName;
|
|
|
+ CGridRowsList listRows;
|
|
|
+ CGridRowPtr pRow;
|
|
|
+ CString strWidthName1, strWidthName2, strWidthName3;
|
|
|
+ CString idstr;
|
|
|
+ int fldid;
|
|
|
+ int partId;
|
|
|
+ switch (i)
|
|
|
+ {
|
|
|
+ case 0:
|
|
|
+ pColumn = listCol.at(0);
|
|
|
+ pRow = CGridRowPtr(new CGridRow());
|
|
|
+ pRow->SetDataType(REPORT_GRID_DATA_TYPE::STRING);
|
|
|
+ fldid = part->GetFieldId();
|
|
|
+ partId = part->GetTagId();
|
|
|
+
|
|
|
+ idstr.Format("%d_%d", fldid, partId);
|
|
|
+
|
|
|
+ pRow->SetStringValue(idstr);
|
|
|
+ pColumn->AddGridRow(pRow);
|
|
|
+
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ pColumn = listCol.at(1);
|
|
|
+ pRow = CGridRowPtr(new CGridRow());
|
|
|
+ pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
+ pRow->SetIntValue(part->GetActualArea());
|
|
|
+ pColumn->AddGridRow(pRow);
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ pColumn = listCol.at(2);
|
|
|
+ pRow = CGridRowPtr(new CGridRow());
|
|
|
+ pRow->SetDataType(REPORT_GRID_DATA_TYPE::FLOAT);
|
|
|
+ pRow->SetDoubleValue(part->GetFeretDiameter());
|
|
|
+ pColumn->AddGridRow(pRow);
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ pColumn = listCol.at(3);
|
|
|
+ pRow = CGridRowPtr(new CGridRow());
|
|
|
+ pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
+ pRow->SetIntValue(part->GetAbsolutPos().x);
|
|
|
+ pColumn->AddGridRow(pRow);
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ pColumn = listCol.at(4);
|
|
|
+ pRow = CGridRowPtr(new CGridRow());
|
|
|
+ pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
+ pRow->SetIntValue(part->GetAbsolutPos().y);
|
|
|
+ pColumn->AddGridRow(pRow);
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ pColumn = listCol.at(5);
|
|
|
+ pRow = CGridRowPtr(new CGridRow());
|
|
|
+ pRow->SetDataType(REPORT_GRID_DATA_TYPE::INT);
|
|
|
+ pRow->SetIntValue((int)OTSGBCalculate::GetDSGrade(part->GetFeretDiameter()));
|
|
|
+ pColumn->AddGridRow(pRow);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
}
|
|
|
|