public void DeleteRoi(DeleteType type) { if (DeleteType.One == type) { HalconDotNet.HDrawingObject removed = null; foreach (HalconDotNet.HDrawingObject obj in mHDrawRegions) { if (obj.ID == mCurrentRoiId) { removed = obj; break; } } if (removed != null) { removed.ClearDrawingObject(); mHDrawRegions.Remove(removed); } } else { int len = mHDrawRegions.Count; for (int i = 0; i < len; i++) { mHDrawRegions[i].ClearDrawingObject(); } mHDrawRegions.Clear(); } }
private HalconDotNet.HDrawingObject TransMyRegion2HDrawingObject(MyRegion myRegion) { HalconDotNet.HDrawingObject hDrawingObject = new HalconDotNet.HDrawingObject(); if (RoiType.Rectangle == myRegion.Type) { int row1, col1, row2, col2; myRegion.Region.SmallestRectangle1(out row1, out col1, out row2, out col2); hDrawingObject.CreateDrawingObjectRectangle1(row1, col1, row2, col2); } if (RoiType.Circle == myRegion.Type) { int row1, col1, row2, col2; myRegion.Region.SmallestRectangle1(out row1, out col1, out row2, out col2); hDrawingObject.CreateDrawingObjectCircle((row1 + row2) / 2, (col1 + col2) / 2, (row2 - row1) / 2); } return(hDrawingObject); }
private RoiType GetRoiType(HalconDotNet.HDrawingObject hDrawingObject) { RoiType type; string objType = hDrawingObject.GetDrawingObjectParams("type"); switch (objType) { case "rectangle1": type = RoiType.Rectangle; return(type); case "circle": type = RoiType.Circle; return(type); default: return(RoiType.Rectangle); } //return type; }