|
@@ -1037,6 +1037,7 @@ namespace OTSMeasureApp
|
|
|
this.m_MouseDownPoint = new Point(e.X, e.Y);
|
|
|
|
|
|
COTSSample workSample = m_MeasureAppForm.m_ProjParam.GetWorkSample();
|
|
|
+ if (workSample == null) return;
|
|
|
string sampleHoleName = workSample.GetSampleHoleName();
|
|
|
string sampleName = workSample.GetName();
|
|
|
|
|
@@ -1071,7 +1072,7 @@ namespace OTSMeasureApp
|
|
|
|
|
|
|
|
|
var sam = GetVisualSampleByName(sampleName);
|
|
|
-
|
|
|
+ if (sam == null) return;
|
|
|
sam.SetMeasureGDIObject(polygonGdi);
|
|
|
|
|
|
|
|
@@ -1154,6 +1155,7 @@ namespace OTSMeasureApp
|
|
|
|
|
|
|
|
|
var sam1 = GetVisualSampleByName(sampleName);
|
|
|
+ if (sam1 == null) return;
|
|
|
sam1.SetMeasureGDIObject(m_DrawMeasureGDIObject);
|
|
|
sam1.GetMeasureGDIObject().SetZoomedRegionF(rectangleThree);
|
|
|
m_DrawMeasureGDIObject = null;
|
|
@@ -1205,9 +1207,6 @@ namespace OTSMeasureApp
|
|
|
m_DrawMeasureGDIObject = newGDI;
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
@@ -1728,17 +1727,17 @@ namespace OTSMeasureApp
|
|
|
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- if (Control.ModifierKeys == Keys.Control)//is dragging on the edge or on the vertex so we can alter the size of the item.
|
|
|
- {
|
|
|
|
|
|
- var sam = GetWorkingVisualSample();
|
|
|
-
|
|
|
- var curMeasureGdi = sam.GetMeasureGDIObject();
|
|
|
+
|
|
|
|
|
|
-
|
|
|
- if (curMeasureGdi.IsAltering)//click on the edge or on the polygon point( vertex point of rectangle).
|
|
|
- {
|
|
|
+
|
|
|
+ if( (Control.ModifierKeys == Keys.Control))//is dragging on the edge or on the vertex so we can alter the size of the item.
|
|
|
+ {
|
|
|
+ var sam = GetWorkingVisualSample();
|
|
|
+ if (sam == null) return;
|
|
|
+ var curMeasureGdi = sam.GetMeasureGDIObject();
|
|
|
+ if (curMeasureGdi.IsAltering)//click on the edge or on the polygon point( vertex point of rectangle).
|
|
|
+ {
|
|
|
|
|
|
if (curMeasureGdi.CreateType == CreateRectangleType.Polygon)
|
|
|
{
|
|
@@ -1907,7 +1906,7 @@ namespace OTSMeasureApp
|
|
|
Invalidate();
|
|
|
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
protected override void OnMouseUp(MouseEventArgs e)
|
|
|
{
|
|
|
//如果正在进行测量线程,则退出鼠标点击操作
|
|
@@ -1915,76 +1914,76 @@ namespace OTSMeasureApp
|
|
|
{
|
|
|
return;
|
|
|
}
|
|
|
- //判断当前是否手绘
|
|
|
- if (m_IsDrawMeasure)
|
|
|
+ var selWSampleMeasureStatus = m_MeasureAppForm.m_ProjParam.GetWorkSampleMeasureStatus();
|
|
|
+ if (selWSampleMeasureStatus)
|
|
|
{
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ var sam = GetWorkingVisualSample();
|
|
|
|
|
|
- //绘制多边形
|
|
|
- if (m_DrawMeasureType != CreateRectangleType.Polygon && m_DrawMeasureType != CreateRectangleType.CircleByThreePoints)
|
|
|
+ //判断当前是否手绘
|
|
|
+
|
|
|
+ if (m_IsDrawMeasure)
|
|
|
{
|
|
|
+
|
|
|
+ //绘制多边形
|
|
|
+ if (m_DrawMeasureType != CreateRectangleType.Polygon && m_DrawMeasureType != CreateRectangleType.CircleByThreePoints)
|
|
|
+ {
|
|
|
|
|
|
- var item = m_DrawMeasureGDIObject;
|
|
|
- //获取样品孔名称与其他属性
|
|
|
- var sam = GetVisualSampleByName(item.SampleName);
|
|
|
- item.NameOrHoleName = sam.GetMeasureGDIObject().NameOrHoleName;
|
|
|
-
|
|
|
- item.IsWorkSample = sam.GetMeasureGDIObject().IsWorkSample;
|
|
|
-
|
|
|
- sam.GetMeasureFieldGDIObjects().Clear();
|
|
|
- sam.SetMeasureGDIObject(item);
|
|
|
+ var item = m_DrawMeasureGDIObject;
|
|
|
|
|
|
- var para = m_visualStage.GetSampleMeasurePara(item);
|
|
|
|
|
|
- m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);
|
|
|
+ item.NameOrHoleName = sam.GetMeasureGDIObject().NameOrHoleName;
|
|
|
|
|
|
-
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ item.IsWorkSample = sam.GetMeasureGDIObject().IsWorkSample;
|
|
|
|
|
|
+ sam.GetMeasureFieldGDIObjects().Clear();
|
|
|
+ sam.SetMeasureGDIObject(item);
|
|
|
|
|
|
- m_DrawMeasureGDIObject = null;
|
|
|
-
|
|
|
- this.Cursor = Cursors.Default;
|
|
|
- //设置手绘标识
|
|
|
-
|
|
|
- m_IsDrawMeasure = false;
|
|
|
- }
|
|
|
- }
|
|
|
+ var para = m_visualStage.GetSampleMeasurePara(item);
|
|
|
|
|
|
+ m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);
|
|
|
|
|
|
-
|
|
|
- if (Control.ModifierKeys == Keys.Control)//while pressing ctrl key then it must be altering something(position or size)
|
|
|
+
|
|
|
+ m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
+ CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
+ PrepareMeasureField(sam);
|
|
|
+
|
|
|
+
|
|
|
+ m_DrawMeasureGDIObject = null;
|
|
|
+
|
|
|
+ this.Cursor = Cursors.Default;
|
|
|
+ //设置手绘标识
|
|
|
+
|
|
|
+ m_IsDrawMeasure = false;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (sam != null)
|
|
|
{
|
|
|
-
|
|
|
- var selWSampleMeasureStatus = m_MeasureAppForm.m_ProjParam.GetWorkSampleMeasureStatus();
|
|
|
- if (selWSampleMeasureStatus)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
- var sam = GetWorkingVisualSample();
|
|
|
- if (sam == null)
|
|
|
- {
|
|
|
- return;
|
|
|
- }
|
|
|
+
|
|
|
var measureItem = sam.GetMeasureGDIObject();
|
|
|
+ if (measureItem.IsDragging || measureItem.IsAltering)//while pressing ctrl key then it must be altering something(position or size)
|
|
|
+ {
|
|
|
|
|
|
-
|
|
|
+ var para = m_visualStage.GetSampleMeasurePara(measureItem);
|
|
|
+ m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);//set the altering result to the public parameter object
|
|
|
|
|
|
- var para = m_visualStage.GetSampleMeasurePara(measureItem);
|
|
|
- m_MeasureAppForm.m_ProjParam.SetWorkSampleHoleAndMeasureArea(para);//set the altering result to the public parameter object
|
|
|
|
|
|
-
|
|
|
- this.Cursor = System.Windows.Forms.Cursors.Default;
|
|
|
-
|
|
|
- m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
- CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
+ this.Cursor = System.Windows.Forms.Cursors.Default;
|
|
|
|
|
|
- PrepareMeasureField(sam);
|
|
|
+ m_MeasureAppForm.m_RunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
+ CMeasureThreadWrapper.DoRunType = MSR_THREAD_RunSTATUS.RUNMEASURE;
|
|
|
|
|
|
- measureItem.IsAltering = false;
|
|
|
- measureItem.IsDragging = false;
|
|
|
- Invalidate();
|
|
|
+ PrepareMeasureField(sam);
|
|
|
+
|
|
|
+ measureItem.IsAltering = false;
|
|
|
+ measureItem.IsDragging = false;
|
|
|
+ Invalidate();
|
|
|
+ }
|
|
|
}
|
|
|
//only moving the whole stage
|
|
|
MouseUpFucntion(m_visualStage.GetAllGDIObject(), e);
|
|
@@ -2041,7 +2040,7 @@ namespace OTSMeasureApp
|
|
|
}
|
|
|
protected override void OnMouseWheel(MouseEventArgs e)
|
|
|
{
|
|
|
- var m_GlobalZoomNum = m_visualStage.GetZoomNum();
|
|
|
+ var currentZoomNum = m_visualStage.GetZoomNum();
|
|
|
//如果正在进行测量线程,则退出鼠标点击操作
|
|
|
if (m_MeasureAppForm.MeasureThreadRunFlag)
|
|
|
{
|
|
@@ -2051,7 +2050,7 @@ namespace OTSMeasureApp
|
|
|
{
|
|
|
#region 计算标尺尺寸部份-----放大------
|
|
|
//计算标尺实际占用像素的宽度
|
|
|
- f_ruler_size = f_old_ruler_size * m_GlobalZoomNum;
|
|
|
+ f_ruler_size = f_old_ruler_size * currentZoomNum;
|
|
|
control_Ruler2.RulerWidth = Convert.ToInt32(f_ruler_size);
|
|
|
control_Ruler2.Value = 1;
|
|
|
|
|
@@ -2070,10 +2069,10 @@ namespace OTSMeasureApp
|
|
|
else
|
|
|
{
|
|
|
|
|
|
- if (m_GlobalZoomNum >= f_zoom_mix)
|
|
|
+ if (currentZoomNum >= f_zoom_mix)
|
|
|
{
|
|
|
#region 计算标尺尺寸部份-----缩小
|
|
|
- f_ruler_size = f_old_ruler_size * m_GlobalZoomNum;
|
|
|
+ f_ruler_size = f_old_ruler_size * currentZoomNum;
|
|
|
control_Ruler2.RulerWidth = Convert.ToInt32(f_ruler_size);
|
|
|
control_Ruler2.Value = 1;
|
|
|
|
|
@@ -2091,20 +2090,20 @@ namespace OTSMeasureApp
|
|
|
//设置记录每次比例缩放后的总体比例系数
|
|
|
if (e.Delta > 0)
|
|
|
{
|
|
|
- m_GlobalZoomNum += 0.1f;
|
|
|
+ currentZoomNum += 0.1f;
|
|
|
|
|
|
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- m_GlobalZoomNum -= 0.1f;
|
|
|
- if (m_GlobalZoomNum < 1)
|
|
|
+ currentZoomNum -= 0.1f;
|
|
|
+ if (currentZoomNum < 1)
|
|
|
{
|
|
|
- m_GlobalZoomNum = 1;
|
|
|
+ currentZoomNum = 1;
|
|
|
}
|
|
|
|
|
|
|
|
|
- if (m_GlobalZoomNum == 1)
|
|
|
+ if (currentZoomNum == 1)
|
|
|
{
|
|
|
|
|
|
//标尺恢复初始
|
|
@@ -2116,11 +2115,11 @@ namespace OTSMeasureApp
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- MouseWheelFunction(m_ImageGDIObjects, e.Location, m_GlobalZoomNum);
|
|
|
+ MouseWheelFunction(m_ImageGDIObjects, e.Location, currentZoomNum);
|
|
|
|
|
|
- MouseWheelFunction(GetAllVisualSampleGDIObject(), e.Location, m_GlobalZoomNum);
|
|
|
+ MouseWheelFunction(GetAllVisualSampleGDIObject(), e.Location, currentZoomNum);
|
|
|
//样品孔
|
|
|
- MouseWheelFunction(m_visualStage.GetAllGDIObject(), e.Location, m_GlobalZoomNum);
|
|
|
+ MouseWheelFunction(m_visualStage.GetAllGDIObject(), e.Location, currentZoomNum);
|
|
|
|
|
|
|
|
|
|