|
@@ -230,18 +230,17 @@ namespace OTSCLRINTERFACE
|
|
|
{
|
|
|
auto feature = features[i]->GetOTSFeaturePtr();
|
|
|
auto otsSegs = feature->GetSegmentsList();
|
|
|
- //auto otsSegs = feature->GetSegmentsList();
|
|
|
- //std::vector<BrukerSegment*> listSegment;
|
|
|
+
|
|
|
BrukerSegment* segArray = new BrukerSegment[otsSegs.size()];
|
|
|
for (int j = 0; j < otsSegs.size(); j++)
|
|
|
{
|
|
|
auto seg = otsSegs[j];
|
|
|
- //BrukerSegment* oSegment=new BrukerSegment();
|
|
|
+
|
|
|
BrukerSegment* oSegment = &segArray[j];
|
|
|
oSegment->XCount = seg->GetLength();
|
|
|
oSegment->XStart = seg->GetStart();
|
|
|
oSegment->Y = seg->GetHeight();
|
|
|
- //listSegment.push_back(oSegment);
|
|
|
+
|
|
|
}
|
|
|
BrukerFeature oFeature;
|
|
|
oFeature.SegmentCount = otsSegs.size();
|
|
@@ -268,7 +267,7 @@ namespace OTSCLRINTERFACE
|
|
|
{
|
|
|
a_XrayData[i][j] = xrd[j];
|
|
|
}
|
|
|
-
|
|
|
+ delete listFeatures[i].pSegment;// using the pure pointer increase the understandability but bring another problem: you mast not forget to free the pointer or you involve into memory leak!
|
|
|
}
|
|
|
|
|
|
if (bQuant)
|
|
@@ -300,29 +299,29 @@ namespace OTSCLRINTERFACE
|
|
|
long xraynum = parts->Length;
|
|
|
for (int i = 0; i < xraynum; i++)
|
|
|
{
|
|
|
- //CPosXrayPtr pXRayPoint = CPosXrayPtr(new CPosXray());
|
|
|
+
|
|
|
|
|
|
CPosXrayPtr pXRayPoint = parts[i]->GetXray()->GetPosXrayPtr();
|
|
|
listXRayPoints.push_back(pXRayPoint);
|
|
|
}
|
|
|
|
|
|
- //std::vector<std::vector<BrukerSegment>>listFeatures;
|
|
|
+
|
|
|
std::vector<BrukerFeature>listFeatures;
|
|
|
for (int i = 0; i < xraynum; i++)
|
|
|
{
|
|
|
auto feature = parts[i]->GetOTSParticlePtr()->GetFeature();
|
|
|
auto otsSegs = feature->GetSegmentsList();
|
|
|
- //std::vector<BrukerSegment*> listSegment;
|
|
|
+
|
|
|
BrukerSegment* segArray = new BrukerSegment[otsSegs.size()];
|
|
|
for (int j = 0; j < otsSegs.size(); j++)
|
|
|
{
|
|
|
auto seg = otsSegs[j];
|
|
|
- //BrukerSegment* oSegment=new BrukerSegment();
|
|
|
+
|
|
|
BrukerSegment* oSegment = &segArray[j];
|
|
|
oSegment->XCount = seg->GetLength();
|
|
|
oSegment->XStart = seg->GetStart();
|
|
|
oSegment->Y = seg->GetHeight();
|
|
|
- //listSegment.push_back(oSegment);
|
|
|
+
|
|
|
}
|
|
|
BrukerFeature oFeature;
|
|
|
oFeature.SegmentCount = otsSegs.size();
|
|
@@ -348,6 +347,8 @@ namespace OTSCLRINTERFACE
|
|
|
|
|
|
auto part = parts[i]->GetOTSParticlePtr();
|
|
|
part->SetXrayInfo(listXRayPoints[i]);
|
|
|
+
|
|
|
+ delete listFeatures[i].pSegment;// using the pure pointer increase the understandability but bring another problem: you mast not forget to free the pointer or you involve into memory leak!
|
|
|
}
|
|
|
|
|
|
|