|
@@ -253,11 +253,10 @@ namespace OTSMeasureApp
|
|
|
|
|
|
break;
|
|
|
case "ReadSEMData":
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- //设定SEM数据
|
|
|
- CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
+ m_MeasureAppForm.SetRunType(MSR_RUN_TYPE.RUNMEASURE);
|
|
|
+
|
|
|
ReadSEMDataFromSEM();
|
|
|
- PrepareMeasureField(GetWorkingVisualSample());
|
|
|
+ PrepareMeasureField(GetWorkingVisualSample(), MSR_RUN_TYPE.RUNMEASURE);
|
|
|
|
|
|
break;
|
|
|
case "SetSemData":
|
|
@@ -275,12 +274,12 @@ namespace OTSMeasureApp
|
|
|
break;
|
|
|
case "ShootBSEPicture":
|
|
|
//设置消息类型 拍摄样品孔
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNSampleHoleImage;
|
|
|
- CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNSampleHoleImage;
|
|
|
+ m_MeasureAppForm.SetRunType(MSR_RUN_TYPE.RUNSampleHoleImage);
|
|
|
+
|
|
|
//清除原图片信息
|
|
|
DeleteHoleBSEImageDataNoMessageBox();
|
|
|
|
|
|
- PrepareMeasureField(GetWorkingVisualSample());
|
|
|
+ PrepareMeasureField(GetWorkingVisualSample(), MSR_RUN_TYPE.RUNSampleHoleImage);
|
|
|
|
|
|
GetBSEPictures();
|
|
|
break;
|
|
@@ -609,7 +608,7 @@ namespace OTSMeasureApp
|
|
|
m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(sampleMeasurePara);
|
|
|
|
|
|
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ PrepareMeasureField(sam, m_MeasureAppForm.GetRunType());
|
|
|
|
|
|
|
|
|
this.Invalidate();
|
|
@@ -1086,9 +1085,9 @@ namespace OTSMeasureApp
|
|
|
m_MeasureAppForm.SwitchWSample(m_SampleSelectName);
|
|
|
|
|
|
//-------------------- draw measrue field and save these data to sample
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ m_MeasureAppForm.SetRunType(MSR_RUN_TYPE.RUNMEASURE);
|
|
|
+ //CMeasureThreadWrapper.SetDoRunType(MSR_THREAD_RunSTATUS.RUNMEASURE);
|
|
|
+ PrepareMeasureField(sam, MSR_RUN_TYPE.RUNMEASURE);
|
|
|
//--------------------
|
|
|
|
|
|
Invalidate();
|
|
@@ -1163,8 +1162,8 @@ namespace OTSMeasureApp
|
|
|
var para = m_visualStage.GetSampleMeasurePara(sam1.GetMeasureGDIObject());
|
|
|
m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);
|
|
|
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
+ m_MeasureAppForm.SetRunType(MSR_RUN_TYPE.RUNMEASURE);
|
|
|
+ //CMeasureThreadWrapper.SetDoRunType(MSR_THREAD_RunSTATUS.RUNMEASURE);
|
|
|
|
|
|
m_MeasureAppForm.SwitchWSample(m_SampleSelectName);
|
|
|
Invalidate();
|
|
@@ -1946,9 +1945,9 @@ namespace OTSMeasureApp
|
|
|
m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);
|
|
|
|
|
|
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ m_MeasureAppForm.SetRunType(MSR_RUN_TYPE.RUNMEASURE);
|
|
|
+
|
|
|
+ PrepareMeasureField(sam, MSR_RUN_TYPE.RUNMEASURE);
|
|
|
|
|
|
|
|
|
m_DrawMeasureGDIObject = null;
|
|
@@ -1979,7 +1978,7 @@ namespace OTSMeasureApp
|
|
|
|
|
|
this.Cursor = System.Windows.Forms.Cursors.Default;
|
|
|
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ PrepareMeasureField(sam, m_MeasureAppForm.GetRunType());
|
|
|
|
|
|
|
|
|
}
|
|
@@ -2198,7 +2197,7 @@ namespace OTSMeasureApp
|
|
|
if (ShowDeleteDialog(sampleSelectName))
|
|
|
{
|
|
|
//设置当前状态
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
+ m_MeasureAppForm.SetRunType(MSR_RUN_TYPE.RUNMEASURE);
|
|
|
m_MeasureAppForm.DeleteSample(sampleSelectName);
|
|
|
|
|
|
}
|
|
@@ -2464,7 +2463,7 @@ namespace OTSMeasureApp
|
|
|
|
|
|
|
|
|
sam.SetMeasureGDIObject(polygongdi);
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ PrepareMeasureField(sam,m_MeasureAppForm.GetRunType());
|
|
|
|
|
|
}
|
|
|
else
|
|
@@ -2480,7 +2479,7 @@ namespace OTSMeasureApp
|
|
|
{
|
|
|
|
|
|
sam.SetMeasureGDIObject(measureGdi);
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ PrepareMeasureField(sam, m_MeasureAppForm.GetRunType());
|
|
|
}
|
|
|
}
|
|
|
COTSMsrPrjResultData cProjMgr = m_MeasureAppForm.m_ProjParam.GetResultData();
|
|
@@ -2540,7 +2539,7 @@ namespace OTSMeasureApp
|
|
|
|
|
|
}
|
|
|
#region 获取Filed帧图
|
|
|
- public List<CRectangleGDIObject> GetOTSFieldVisualRects(CVisualSampleArea sam)
|
|
|
+ public List<CRectangleGDIObject> GetOTSFieldVisualRects(CVisualSampleArea sam, MSR_RUN_TYPE runType)
|
|
|
{
|
|
|
List<Point> listCenterPoint ;
|
|
|
Size rectSize ;
|
|
@@ -2549,7 +2548,7 @@ namespace OTSMeasureApp
|
|
|
var sample = m_ResultData.GetSampleByName(sam.GetSampleName());
|
|
|
List<CRectangleGDIObject> visualfieldRects = new List<CRectangleGDIObject>();
|
|
|
|
|
|
- if (GetFieldData(sample,out listCenterPoint, out rectSize))
|
|
|
+ if (GetFieldData(sample,runType,out listCenterPoint, out rectSize))
|
|
|
{
|
|
|
|
|
|
for (int i=0;i< listCenterPoint.Count;i++)
|
|
@@ -2581,7 +2580,7 @@ namespace OTSMeasureApp
|
|
|
|
|
|
|
|
|
}
|
|
|
- public bool GetFieldData(COTSSample sample, out List<Point> pFields, out Size iSzie)
|
|
|
+ public bool GetFieldData(COTSSample sample, MSR_RUN_TYPE runType ,out List<Point> pFields, out Size iSzie)
|
|
|
{
|
|
|
pFields = new List<Point>();
|
|
|
iSzie = new Size();
|
|
@@ -2602,7 +2601,7 @@ namespace OTSMeasureApp
|
|
|
listPoint.Clear();
|
|
|
//设置测量区域
|
|
|
CSEMDataMsr pSEMDataMsr; ;
|
|
|
- if (m_MeasureAppForm.m_RunType == MSR_THREAD_RunSTATUS.RUNSampleHoleImage)
|
|
|
+ if (runType == MSR_RUN_TYPE.RUNSampleHoleImage)
|
|
|
{
|
|
|
pSEMDataMsr = new CSEMDataMsr();
|
|
|
pSEMDataMsr.SetScanFieldSize100(m_visualStage.GetOTSSampleStageData().iScanFieldSize100);
|
|
@@ -2635,19 +2634,17 @@ namespace OTSMeasureApp
|
|
|
return true;
|
|
|
}
|
|
|
#endregion
|
|
|
- public void PrepareMeasureField(CVisualSampleArea sam)
|
|
|
+ public void PrepareMeasureField(CVisualSampleArea sam, MSR_RUN_TYPE runType)
|
|
|
{
|
|
|
|
|
|
try
|
|
|
{
|
|
|
|
|
|
-
|
|
|
-
|
|
|
List<CRectangleGDIObject> visualfieldRects = null;
|
|
|
|
|
|
- visualfieldRects = GetOTSFieldVisualRects(sam);//get all the possible field rects through C++ code.
|
|
|
+ visualfieldRects = GetOTSFieldVisualRects(sam,runType);//get all the possible field rects through C++ code.
|
|
|
|
|
|
- if (m_MeasureAppForm.m_RunType == MSR_THREAD_RunSTATUS.RUNSampleHoleImage)
|
|
|
+ if (runType == MSR_RUN_TYPE.RUNSampleHoleImage)
|
|
|
{
|
|
|
foreach (var r in visualfieldRects)
|
|
|
{
|
|
@@ -2657,7 +2654,7 @@ namespace OTSMeasureApp
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- else if (m_MeasureAppForm.m_RunType == MSR_THREAD_RunSTATUS.RUNMEASURE)
|
|
|
+ else if (runType == MSR_RUN_TYPE.RUNMEASURE)
|
|
|
{
|
|
|
|
|
|
sam.GetMeasureGDIObject().SubItems().Clear();
|
|
@@ -2684,6 +2681,7 @@ namespace OTSMeasureApp
|
|
|
{
|
|
|
log.Error( ex.ToString());
|
|
|
}
|
|
|
+ Invalidate();
|
|
|
}
|
|
|
public void SaveFieldPositionInfoToSample(CVisualSampleArea sam)
|
|
|
{
|
|
@@ -3097,7 +3095,7 @@ namespace OTSMeasureApp
|
|
|
if (sampleHoleInfo != null)
|
|
|
{
|
|
|
|
|
|
- m_MeasureAppForm.StartSampleHoleBSEImage(MSR_THREAD_RunSTATUS.RUNSampleHoleImage, index);
|
|
|
+ m_MeasureAppForm.StartSampleHoleBSEImage(index);
|
|
|
}
|
|
|
|
|
|
}
|