public override void Close() { try { base.Close(); MCreateShapeModel.Close(); MCreateShapeModel = null; MFindShapeMode.Close(); MFindShapeMode = null; MGrabPointSetting.Close(); MGrabPointSetting = null; MPZT_Detection.Close(); MPZT_Detection = null; MGrab_Intervene.Close(); MGrab_Intervene = null; MLM_DP.Close(); MLM_DP = null; MFangDai.Close(); MFangDai = null; MLanQuan.Close(); MLanQuan = null; NotifyExcInfo = null; } catch (Exception ex) { Util.WriteLog(this.GetType(), ex); Util.Notify("工具删除异常"); } }
//序列化 public override void SerializeCheck() { NotifyExcInfo = null; MCreateShapeModel.SerializeCheck(); MFindShapeMode.SerializeCheck(); MGrabPointSetting.SerializeCheck(); using (Stream objectStream = new MemoryStream()) { System.Runtime.Serialization.IFormatter formatter = new System.Runtime.Serialization.Formatters.Binary.BinaryFormatter(); formatter.Serialize(objectStream, this); } }
public void SetGrabPoint(double x, double y) { //转换camera 、 projection MGrabPointSetting.X = x; MGrabPointSetting.Y = y; HTuple Cx, Cy, Cz, homMat3d; HOperatorSet.PoseToHomMat3d(worldPose, out homMat3d); HOperatorSet.AffineTransPoint3d(homMat3d, x, y, 0, out Cx, out Cy, out Cz); HTuple row, column; HOperatorSet.Project3dPoint(Cx, Cy, Cz, cameraParam, out row, out column); MGrabPointSetting.SetGrabPoint(row.D, column.D); }
public override void ShowResult(HWndCtrl viewCtrl) { if (!bFindShapeMode) { return; } if (MFindShapeMode.row == null || MFindShapeMode.row.Length < 1) { return; } if (RuningFinish == false) { return; } MFindShapeMode.ShowResult(viewCtrl); if (bGrabPointSetting) { MGrabPointSetting.ShowGrabPoint(viewCtrl); } if (bFangDai_Enable && bFangDai_Result) { MFangDai.Show(viewCtrl); } if (NotifyExcInfo != null) { string temp = GetSendResult(); NotifyExcInfo("发送结果:" + temp); } if (row_Send != null && row_Send.Length > 0) { for (int i = 0; i < row_Send.Length; i++) { if (id_Send[i].I == 1) { viewCtrl.AddText("OK", (int)(row_Send[i].D), (int)(col_Send[i].D), 80, "green"); } else { viewCtrl.AddText("NG", (int)(row_Send[i].D), (int)(col_Send[i].D), 80, "green"); } } } }
public override void ShowResult(HWndCtrl viewCtrl) { if (!bFindShapeMode) { return; } if (MFindShapeMode.row == null || MFindShapeMode.row.Length < 1) { return; } if (RuningFinish == false) { return; } MFindShapeMode.ShowResult(viewCtrl); if (bGrabPointSetting) { MGrabPointSetting.ShowGrabPoint(viewCtrl); } if (bPZT_Detection_Result && bPZT_Detection_Enble) { MPZT_Detection.Show(viewCtrl); } if (bLM_DP_Enble && bLM_DP_Result) { MLM_DP.Show(viewCtrl); } if (bGrab_Intervene_Result && bGrab_Intervene_Enble) { MGrab_Intervene.Show(viewCtrl); } if (bFangDai_Enable && bFangDai_Result) { MFangDai.Show(viewCtrl); } if (bLanQuan_Enable && bLanQuan_Result) { MLanQuan.Show(viewCtrl); } string temp = GetSendResult(); if (NotifyExcInfo != null) { NotifyExcInfo("发送结果:" + temp); } if (row_Send != null && row_Send.Length > 0) { for (int i = 0; i < row_Send.Length; i++) { if (id_Send[i].I == 1) { viewCtrl.AddText("OK", (int)(row_Send[i].D), (int)(col_Send[i].D), 80, "green"); } } } if (row_NG == null || row_NG.Length < 1) { return; } for (int i = 0; i < row_NG.Length; i++) { viewCtrl.AddText("NG:" + NG_Reason[i].S, (int)(row_NG[i].D), (int)(col_NG[i].D), 40, "red"); } }