|
@@ -172,8 +172,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
//移动SEM到指定位置发生线程
|
|
|
private Thread m_mythread;
|
|
|
|
|
|
- //记录线程是否已经运行完成的状态
|
|
|
- //private bool m_mythread_state = false;
|
|
|
+
|
|
|
|
|
|
private Color m_ColorNotContent = Color.SkyBlue;
|
|
|
|
|
@@ -335,7 +334,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
//记录原值,用于缩放计算操作 ,此处要用克隆 ,原particle颗粒的值,在底层调用时已经赋值过了
|
|
|
foreach (DisplayParticle ls_dp in m_list_allDPart)
|
|
|
{
|
|
|
- ls_dp.SetPaintState(PaintState.NORMALPAINT);
|
|
|
+ ls_dp.SetPaintState(PaintState.PAINT);
|
|
|
DisplayParticle old_dp = ls_dp.Clone() as DisplayParticle;
|
|
|
ReportFun. m_original_list_baseobject.Add(old_dp);
|
|
|
}
|
|
@@ -778,7 +777,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
DisplayParticle dp = (DisplayParticle)m_list_allDPart[i];
|
|
|
|
|
|
|
|
|
- //dp.displayState = DisplayState.NORMALDISPLAY;
|
|
|
+
|
|
|
for (int y = 0; y < dp.DSegments.Count(); y++)
|
|
|
{
|
|
|
//这里重新设置每条线的高度,和x,y坐标
|
|
@@ -802,7 +801,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
//设置缩放到多少倍时进行显示
|
|
|
if (m_zoom_record >= dp.Zoom_DisPlayThreshold)
|
|
|
{
|
|
|
- dp.SetPaintState(PaintState.NORMALPAINT);
|
|
|
+ dp.SetPaintState(PaintState.PAINT);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -810,13 +809,15 @@ namespace OTSIncAReportGraph.Controls
|
|
|
}
|
|
|
|
|
|
|
|
|
- if (dp.Rect.Left < -120 || dp.Rect.Right > this.Width+120 || dp.Rect.Top < -120 || dp.Rect.Bottom > this.Height+120)
|
|
|
+
|
|
|
+ PointF ct = dp.GetCenterPoint();
|
|
|
+ if (ct.X < -100 || ct.X > this.Width + 100 || ct.Y < -100 || ct.Y > this.Height + 100)
|
|
|
{
|
|
|
dp.SetPaintState(PaintState.NOPAINT);//the particles which are out of screen don't display.to speed up the display efficient.
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
if (m_list_allDfield != null)
|
|
|
{
|
|
@@ -913,11 +914,15 @@ namespace OTSIncAReportGraph.Controls
|
|
|
foreach (BaseObject item in m_list_allDPart)
|
|
|
{
|
|
|
var dp = (DisplayParticle)item;
|
|
|
- if (dp.Rect.Left > -120 && dp.Rect.Right < this.Width + 120 && dp.Rect.Top > -120 && dp.Rect.Bottom < this.Height + 120)
|
|
|
+
|
|
|
+
|
|
|
+ PointF ct = dp.GetCenterPoint();
|
|
|
+ if (ct.X > -100 && ct.X < this.Width + 100 && ct.Y > -100 && ct.Y < this.Height + 100)
|
|
|
{
|
|
|
item.IsDragging = true;
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
item.DraggingPoint = e.Location;
|
|
|
if (OriginalBackground)
|
|
|
{
|
|
@@ -1013,15 +1018,18 @@ namespace OTSIncAReportGraph.Controls
|
|
|
dp.SmallRect = dp.GetSmallRectangleFromRect();
|
|
|
if (m_zoom_record >= dp.Zoom_DisPlayThreshold)
|
|
|
{
|
|
|
- dp.SetPaintState(PaintState.NORMALPAINT);
|
|
|
+ dp.SetPaintState(PaintState.PAINT);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dp.SetPaintState(PaintState.CONCISEPAINT);
|
|
|
}
|
|
|
- if (dp.Rect.Left < -120 || dp.Rect.Right > this.Width + 120 || dp.Rect.Top < -120 || dp.Rect.Bottom > this.Height + 120)
|
|
|
+
|
|
|
+ PointF ct = dp.GetCenterPoint();
|
|
|
+ if (ct.X < -100 || ct.X > this.Width + 100 || ct.Y < -100 || ct.Y > this.Height + 100)
|
|
|
{
|
|
|
- dp.SetPaintState(PaintState.NOPAINT);
|
|
|
+ dp.SetPaintState(PaintState.NOPAINT);//the particles which are out of screen don't display.to speed up the display efficient.
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -1049,7 +1057,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
foreach (BaseObject item in m_list_allDPart)
|
|
|
{
|
|
|
DisplayParticle dp = (DisplayParticle)item;
|
|
|
- if (dp.GetPaintState() == PaintState.NORMALPAINT)
|
|
|
+ if (dp.GetPaintState() == PaintState.PAINT)
|
|
|
{
|
|
|
if (ReportFun.WhetherInRange(dp, e.Location))
|
|
|
{
|
|
@@ -1282,17 +1290,21 @@ namespace OTSIncAReportGraph.Controls
|
|
|
dp.SmallRect = dp.GetSmallRectangleFromRect();
|
|
|
if (m_zoom_record >= dp.Zoom_DisPlayThreshold)
|
|
|
{
|
|
|
- dp.SetPaintState(PaintState.NORMALPAINT);
|
|
|
+ dp.SetPaintState(PaintState.PAINT);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
dp.SetPaintState(PaintState.CONCISEPAINT);
|
|
|
}
|
|
|
- if (dp.Rect.Left < -120 || dp.Rect.Right > this.Width + 120 || dp.Rect.Top < -120 || dp.Rect.Bottom > this.Height + 120)
|
|
|
+
|
|
|
+
|
|
|
+ PointF ct = dp.GetCenterPoint();
|
|
|
+ if (ct.X < -100 || ct.X > this.Width + 100 || ct.Y < -100 || ct.Y > this.Height + 100)
|
|
|
{
|
|
|
- dp.SetPaintState(PaintState.NOPAINT);
|
|
|
+ dp.SetPaintState(PaintState.NOPAINT);//the particles which are out of screen don't display.to speed up the display efficient.
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -1322,20 +1334,15 @@ namespace OTSIncAReportGraph.Controls
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.CopyImage].Visible = false;
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.OriginalSplicing].Visible = false;
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.DeleteParticle].Visible = true;
|
|
|
- //CMenuStrip.Items[(int)RightButtonMenu.CopyDatabase].Visible = true;
|
|
|
+
|
|
|
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.MoveSEMToParticle].Visible = true;
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.MoveSEMToParticle].Tag = item;
|
|
|
|
|
|
DisplayParticle dp = (DisplayParticle)item;
|
|
|
- //if (dp.TypeId == 9)
|
|
|
- //{
|
|
|
+
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.ImportSTDDb].Visible = true;
|
|
|
- //}
|
|
|
- //else
|
|
|
- //{
|
|
|
- // CMenuStrip.Items[(int)RightButtonMenu.ImportSTDDb].Visible = false;
|
|
|
- //}
|
|
|
+
|
|
|
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.ParticleSegmentation].Visible = true;
|
|
|
m_ParticleSegmentation.ParticleData = dp.objParticleData;
|
|
@@ -1362,7 +1369,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
|
|
|
}
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.DeleteParticle].Visible = false;
|
|
|
- //CMenuStrip.Items[(int)RightButtonMenu.CopyDatabase].Visible = false;
|
|
|
+
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.CopyImage].Visible = true;
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.OriginalSplicing].Visible = true;
|
|
|
CMenuStrip.Items[(int)RightButtonMenu.MoveSEMToParticle].Visible = false;
|
|
@@ -1574,7 +1581,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
foreach (DisplayParticle ls_dp in m_list_allDPart)
|
|
|
{
|
|
|
|
|
|
- if (ls_dp.GetPaintState() == PaintState.NORMALPAINT)
|
|
|
+ if (ls_dp.GetPaintState() == PaintState.PAINT)
|
|
|
{
|
|
|
for (int i = 0; i < particles.Count; i++)
|
|
|
{
|
|
@@ -1683,7 +1690,6 @@ namespace OTSIncAReportGraph.Controls
|
|
|
|
|
|
|
|
|
|
|
|
- //Thread.Sleep(500);
|
|
|
|
|
|
//第二步,移动到指定位置,先读取再设置
|
|
|
if (ReportFun.ConnectToIpcSvr())
|
|
@@ -1693,10 +1699,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
|
|
|
}
|
|
|
|
|
|
- //Thread.Sleep(1500);
|
|
|
-
|
|
|
- //第三步,断开电镜连接
|
|
|
- //ReportFun.DisConnectSEM();
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
@@ -1832,9 +1835,11 @@ namespace OTSIncAReportGraph.Controls
|
|
|
|
|
|
//重新计算小矩形边框
|
|
|
dp.SmallRect = dp.GetSmallRectangleFromRect();
|
|
|
- if (dp.Rect.Left < -120 || dp.Rect.Right > this.Width + 120 || dp.Rect.Top < -120 || dp.Rect.Bottom > this.Height + 120)
|
|
|
+ PointF ct = dp.GetCenterPoint();
|
|
|
+ if (ct.X < -100 || ct.X > this.Width + 100 || ct.Y < -100 || ct.Y > this.Height + 100)
|
|
|
{
|
|
|
- dp.SetPaintState(PaintState.NOPAINT);
|
|
|
+ dp.SetPaintState(PaintState.NOPAINT);//the particles which are out of screen don't display.to speed up the display efficient.
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
//同样重新计算backrectf的坐标
|
|
@@ -2004,7 +2009,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
ls_ds.ShowMode = SegmentShowMode.DRAWPOINT;
|
|
|
}
|
|
|
}
|
|
|
- FullGraphMatch();
|
|
|
+
|
|
|
}
|
|
|
else if (a_type == IMAGE_TYPE.CLASSIFIED)
|
|
|
{
|
|
@@ -2018,7 +2023,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
ls_ds.ShowMode = SegmentShowMode.DRAWLINE;
|
|
|
}
|
|
|
}
|
|
|
- FullGraphMatch();
|
|
|
+
|
|
|
}
|
|
|
else if (a_type== IMAGE_TYPE.ORIGINAl)
|
|
|
{
|
|
@@ -2028,7 +2033,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
{
|
|
|
ls_dp.SetDisplayState(DisplayState.NODISPLAY);
|
|
|
}
|
|
|
- FullGraphMatch();
|
|
|
+
|
|
|
}
|
|
|
else if(a_type== IMAGE_TYPE.ORIGINALCLASSIFIED)
|
|
|
{
|
|
@@ -2042,7 +2047,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
ls_ds.ShowMode = SegmentShowMode.DRAWLINE;
|
|
|
}
|
|
|
}
|
|
|
- FullGraphMatch();
|
|
|
+
|
|
|
}
|
|
|
|
|
|
|
|
@@ -2081,7 +2086,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
{
|
|
|
|
|
|
var curfldrec = f.Current_Rect;
|
|
|
- if (curfldrec.Left > -1000 && curfldrec.Right < this.Width + 1000 && curfldrec.Top > -1000 && curfldrec.Bottom < this.Height + 1000)
|
|
|
+ if (curfldrec.Left > -2000 && curfldrec.Right < this.Width + 2000 && curfldrec.Top > -2000 && curfldrec.Bottom < this.Height + 2000)
|
|
|
{
|
|
|
|
|
|
|
|
@@ -2156,7 +2161,7 @@ namespace OTSIncAReportGraph.Controls
|
|
|
//"单个OTS视域屏幕像素宽:" + m_OneField_OTS_Rect.Width.ToString() + " 高:" + m_OneField_OTS_Rect.Height.ToString() + Environment.NewLine +
|
|
|
"屏幕像素backrectf x:" + m_backRect.X.ToString() + " y:" + m_backRect.Y.ToString() + " width:" + m_backRect.Width.ToString() + " height:" + m_backRect.Height.ToString() + Environment.NewLine +
|
|
|
"包含Field数量:" + ReportFun.m_field_count.ToString() + " Particle数量:" + ReportFun.m_particle_count.ToString() + Environment.NewLine +
|
|
|
- "正常显示Paticle数量:" + GetParticleNumberByState(PaintState.NORMALPAINT).ToString() + " 不显示Particel数量:" + GetParticleNumberByState(PaintState.NOPAINT).ToString() + Environment.NewLine +
|
|
|
+ "正常显示Paticle数量:" + GetParticleNumberByState(PaintState.PAINT).ToString() + " 不显示Particel数量:" + GetParticleNumberByState(PaintState.NOPAINT).ToString() + Environment.NewLine +
|
|
|
//"删除Particle数量:" + GetParticleNumberByState("删除").ToString() + " 选中Particle数量:" + GetParticleNumberByState("选择").ToString() + Environment.NewLine +
|
|
|
"加载底层数据用时:" + ReportFun.m_time_str + Environment.NewLine +
|
|
|
"组建并计算图像用时:" + ReportFun.m_time_str2 + Environment.NewLine +
|