mirror of
https://github.com/eggplantlwj/VisionEdit.git
synced 2026-03-31 22:26:39 +08:00
1、修复因加入输入位姿引发的BUG
2、PMA工具完善 3、其他BUG修复
This commit is contained in:
@@ -62,7 +62,7 @@ namespace ViewWindow.Model
|
||||
/// stack without loss. For each additional object, the first entry
|
||||
/// is removed from the stack again.
|
||||
/// </summary>
|
||||
private const int MAXNUMOBJLIST = 2;//原始值为50 实际上2都可以,因这里只是存储背景图片
|
||||
private const int MAXNUMOBJLIST = 2;//原始值为50 实际上2都可以,因这里只是存储背景图片
|
||||
|
||||
|
||||
private int stateView;
|
||||
@@ -83,10 +83,10 @@ namespace ViewWindow.Model
|
||||
private int dispROI;
|
||||
|
||||
/// <summary>
|
||||
/// 缩放事件开关
|
||||
/// 缩放事件开关
|
||||
/// </summary>
|
||||
public bool drawModel = false;
|
||||
//开启编辑模式
|
||||
//开启编辑模式
|
||||
public bool EditModel = true;
|
||||
|
||||
/* Basic parameters, like dimension of window and displayed image part */
|
||||
@@ -187,7 +187,7 @@ namespace ViewWindow.Model
|
||||
|
||||
private void HMouseWheel(object sender, HMouseEventArgs e)
|
||||
{
|
||||
//关闭缩放事件
|
||||
//关闭缩放事件
|
||||
if (drawModel)
|
||||
{
|
||||
return;
|
||||
@@ -284,7 +284,7 @@ namespace ViewWindow.Model
|
||||
/****************************************************************************/
|
||||
private void zoomImage(double x, double y, double scale)
|
||||
{
|
||||
//关闭缩放事件
|
||||
//关闭缩放事件
|
||||
if (drawModel)
|
||||
{
|
||||
return;
|
||||
@@ -321,13 +321,13 @@ namespace ViewWindow.Model
|
||||
|
||||
if (zoomWndFactor < 0.01 && _zoomWndFactor < zoomWndFactor)
|
||||
{
|
||||
//超过一定缩放比例就不在缩放
|
||||
//超过一定缩放比例就不在缩放
|
||||
resetWindow();
|
||||
return;
|
||||
}
|
||||
if (zoomWndFactor > 100 && _zoomWndFactor > zoomWndFactor)
|
||||
{
|
||||
//超过一定缩放比例就不在缩放
|
||||
//超过一定缩放比例就不在缩放
|
||||
resetWindow();
|
||||
return;
|
||||
}
|
||||
@@ -467,7 +467,7 @@ namespace ViewWindow.Model
|
||||
/*************************************************************************/
|
||||
private void mouseDown(object sender, HalconDotNet.HMouseEventArgs e)
|
||||
{
|
||||
//关闭缩放事件
|
||||
//关闭缩放事件
|
||||
if (drawModel)
|
||||
{
|
||||
return;
|
||||
@@ -545,7 +545,7 @@ namespace ViewWindow.Model
|
||||
/*******************************************************************/
|
||||
private void mouseUp(object sender, HalconDotNet.HMouseEventArgs e)
|
||||
{
|
||||
//关闭缩放事件
|
||||
//关闭缩放事件
|
||||
if (drawModel)
|
||||
{
|
||||
return;
|
||||
@@ -569,7 +569,7 @@ namespace ViewWindow.Model
|
||||
private void mouseMoved(object sender, HalconDotNet.HMouseEventArgs e)
|
||||
{
|
||||
|
||||
//关闭缩放事件
|
||||
//关闭缩放事件
|
||||
if (drawModel)
|
||||
{
|
||||
return;
|
||||
@@ -745,7 +745,7 @@ namespace ViewWindow.Model
|
||||
window.ClearWindow();
|
||||
mGC.stateOfSettings.Clear();
|
||||
|
||||
//显示图片
|
||||
//显示图片
|
||||
for (int i=0; i < count; i++)
|
||||
{
|
||||
entry = ((HObjectEntry)HObjImageList[i]);
|
||||
@@ -754,7 +754,7 @@ namespace ViewWindow.Model
|
||||
|
||||
}
|
||||
|
||||
//显示region
|
||||
//显示region
|
||||
showHObjectList();
|
||||
|
||||
|
||||
@@ -766,7 +766,7 @@ namespace ViewWindow.Model
|
||||
|
||||
HSystem.SetSystem("flush_graphic", "true");
|
||||
|
||||
//注释了下面语句,会导致窗口无法实现缩放和拖动
|
||||
//注释了下面语句,会导致窗口无法实现缩放和拖动
|
||||
window.SetColor("black");
|
||||
window.DispLine(-100.0, -100.0, -101.0, -101.0);
|
||||
|
||||
@@ -790,7 +790,7 @@ namespace ViewWindow.Model
|
||||
/// <param name="obj">Iconic object</param>
|
||||
public void addIconicVar(HObject img)
|
||||
{
|
||||
//先把HObjImageList给全部释放了,源代码 会出现内存泄漏问题
|
||||
//先把HObjImageList给全部释放了,源代码 会出现内存泄漏问题
|
||||
for (int i = 0; i < HObjImageList.Count; i++)
|
||||
{
|
||||
((HObjectEntry)HObjImageList[i]).clear();
|
||||
@@ -838,12 +838,12 @@ namespace ViewWindow.Model
|
||||
|
||||
HObjImageList.Add(entry);
|
||||
|
||||
//每当传入背景图的时候 都清空HObjectList
|
||||
//每当传入背景图的时候 都清空HObjectList
|
||||
clearHObjectList();
|
||||
|
||||
if (HObjImageList.Count > MAXNUMOBJLIST)
|
||||
{
|
||||
//需要自己手动释放
|
||||
//需要自己手动释放
|
||||
((HObjectEntry)HObjImageList[0]).clear();
|
||||
HObjImageList.RemoveAt(1);
|
||||
}
|
||||
@@ -987,7 +987,7 @@ namespace ViewWindow.Model
|
||||
this.setViewState(HWndCtrl.MODE_VIEW_NONE);
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加设定显示的图像
|
||||
/// 添加设定显示的图像
|
||||
/// </summary>
|
||||
/// <param name="image"></param>
|
||||
protected internal void addImageShow(HObject image)
|
||||
@@ -996,32 +996,32 @@ namespace ViewWindow.Model
|
||||
}
|
||||
|
||||
|
||||
#region 再次显示region和 xld
|
||||
#region 再次显示region和 xld
|
||||
|
||||
/// <summary>
|
||||
/// hObjectList用来存储存入的HObject
|
||||
/// hObjectList用来存储存入的HObject
|
||||
/// </summary>
|
||||
private List<HObjectWithColor> hObjectList = new List<HObjectWithColor>();
|
||||
|
||||
/// <summary>
|
||||
/// 默认红颜色显示
|
||||
/// 默认红颜色显示
|
||||
/// </summary>
|
||||
/// <param name="hObj">传入的region.xld,image</param>
|
||||
/// <param name="hObj">传入的region.xld,image</param>
|
||||
public void DispObj(HObject hObj)
|
||||
{
|
||||
DispObj(hObj, null);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 重新开辟内存保存 防止被传入的HObject在其他地方dispose后,不能重现
|
||||
/// 重新开辟内存保存 防止被传入的HObject在其他地方dispose后,不能重现
|
||||
/// </summary>
|
||||
/// <param name="hObj">传入的region.xld,image</param>
|
||||
/// <param name="color">颜色</param>
|
||||
/// <param name="hObj">传入的region.xld,image</param>
|
||||
/// <param name="color">颜色</param>
|
||||
public void DispObj(HObject hObj, string color)
|
||||
{
|
||||
lock (this)
|
||||
{
|
||||
//显示指定的颜色
|
||||
//显示指定的颜色
|
||||
if (color != null)
|
||||
{
|
||||
HOperatorSet.SetColor(viewPort.HalconWindow, color);
|
||||
@@ -1043,13 +1043,13 @@ namespace ViewWindow.Model
|
||||
|
||||
}
|
||||
|
||||
//恢复默认的红色
|
||||
//恢复默认的红色
|
||||
HOperatorSet.SetColor(viewPort.HalconWindow, "red");
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 每次传入新的背景Image时,清空hObjectList,避免内存没有被释放
|
||||
/// 每次传入新的背景Image时,清空hObjectList,避免内存没有被释放
|
||||
/// </summary>
|
||||
public void clearHObjectList()
|
||||
{
|
||||
@@ -1063,7 +1063,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 将hObjectList中的HObject,按照先后顺序显示出来
|
||||
/// 将hObjectList中的HObject,按照先后顺序显示出来
|
||||
/// </summary>
|
||||
private void showHObjectList()
|
||||
{
|
||||
@@ -1083,14 +1083,14 @@ namespace ViewWindow.Model
|
||||
{
|
||||
viewPort.HalconWindow.DispObj(hObjectWithColor.HObject);
|
||||
|
||||
//恢复默认的红色
|
||||
//恢复默认的红色
|
||||
HOperatorSet.SetColor(viewPort.HalconWindow, "red");
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//有时候hobj被dispose了,但是其本身不为null,此时则报错. 已经使用IsInitialized解决了
|
||||
//有时候hobj被dispose了,但是其本身不为null,此时则报错. 已经使用IsInitialized解决了
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
@@ -405,7 +405,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
//没有显示roi的时候 移动鼠标会报错
|
||||
//没有显示roi的时候 移动鼠标会报错
|
||||
}
|
||||
|
||||
}
|
||||
@@ -418,7 +418,7 @@ namespace ViewWindow.Model
|
||||
|
||||
/*****************************/
|
||||
/// <summary>
|
||||
/// 在指定位置显示ROI--Rectangle1
|
||||
/// 在指定位置显示ROI--Rectangle1
|
||||
/// </summary>
|
||||
/// <param name="row1"></param>
|
||||
/// <param name="col1"></param>
|
||||
@@ -460,7 +460,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置显示ROI--Rectangle2
|
||||
/// 在指定位置显示ROI--Rectangle2
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <param name="col"></param>
|
||||
@@ -486,7 +486,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Circle
|
||||
/// 在指定位置生成ROI--Circle
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <param name="col"></param>
|
||||
@@ -529,7 +529,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 在指定位置显示ROI--Line
|
||||
/// 在指定位置显示ROI--Line
|
||||
/// </summary>
|
||||
/// <param name="beginRow"></param>
|
||||
/// <param name="beginCol"></param>
|
||||
@@ -554,7 +554,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Rectangle1
|
||||
/// 在指定位置生成ROI--Rectangle1
|
||||
/// </summary>
|
||||
/// <param name="row1"></param>
|
||||
/// <param name="col1"></param>
|
||||
@@ -584,7 +584,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Rectangle1
|
||||
/// 在指定位置生成ROI--Rectangle1
|
||||
/// </summary>
|
||||
/// <param name="row1"></param>
|
||||
/// <param name="col1"></param>
|
||||
@@ -614,7 +614,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Rectangle1
|
||||
/// 在指定位置生成ROI--Rectangle1
|
||||
/// </summary>
|
||||
/// <param name="row1"></param>
|
||||
/// <param name="col1"></param>
|
||||
@@ -644,7 +644,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Rectangle2
|
||||
/// 在指定位置生成ROI--Rectangle2
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <param name="col"></param>
|
||||
@@ -675,7 +675,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Rectangle2
|
||||
/// 在指定位置生成ROI--Rectangle2
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <param name="col"></param>
|
||||
@@ -706,7 +706,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Circle
|
||||
/// 在指定位置生成ROI--Circle
|
||||
/// </summary>
|
||||
/// <param name="row"></param>
|
||||
/// <param name="col"></param>
|
||||
@@ -758,7 +758,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 在指定位置生成ROI--Line
|
||||
/// 在指定位置生成ROI--Line
|
||||
/// </summary>
|
||||
/// <param name="beginRow"></param>
|
||||
/// <param name="beginCol"></param>
|
||||
@@ -788,7 +788,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 获取当前选中ROI的信息
|
||||
/// 获取当前选中ROI的信息
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
protected internal System.Collections.Generic.List<double> smallestActiveROI(out string name, out int index)
|
||||
@@ -853,7 +853,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 删除当前选中ROI
|
||||
/// 删除当前选中ROI
|
||||
/// </summary>
|
||||
/// <param name="roi"></param>
|
||||
protected internal void removeActiveROI(ref System.Collections.Generic.List<ROI> roi)
|
||||
@@ -866,7 +866,7 @@ namespace ViewWindow.Model
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 选中激活ROI
|
||||
/// 选中激活ROI
|
||||
/// </summary>
|
||||
/// <param name="index"></param>
|
||||
protected internal void selectROI(int index)
|
||||
@@ -876,7 +876,7 @@ namespace ViewWindow.Model
|
||||
this.viewController.repaint();
|
||||
}
|
||||
/// <summary>
|
||||
/// 复位窗口显示
|
||||
/// 复位窗口显示
|
||||
/// </summary>
|
||||
protected internal void resetWindowImage()
|
||||
{
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using System;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
Reference in New Issue
Block a user