public void GetAxesParam(ADisplay aDisplay, bool isShowDistorted) { double dOriginX, dOriginY; ICogTransform2D transform2D; CogTransform2DLinear transform2DLinear = null; ICogGraphicInteractive axes = aDisplay.GetInteractiveGraphics("Calibrated Origin"); if (axes != null) { CogCoordinateAxes coordinateAxes = axes as CogCoordinateAxes; dOriginX = coordinateAxes.OriginX; dOriginY = coordinateAxes.OriginY; TransUncalibrated2CalibratedCoord(dOriginX, dOriginY, out m_dOriginX, out m_dOriginY); if (isShowDistorted == true) { transform2D = m_cogCalibCheckerboardTool.Calibration.OwnedWarpParams.GetOutputImageRootFromCalibratedTransform(); transform2DLinear = transform2D.LinearTransform(dOriginX, dOriginY).Invert(); m_dRotation = transform2DLinear.MapAngle(m_cogCoordinateAxes.Rotation) + m_dCaibratedRotation; } else { transform2D = m_cogCalibCheckerboardTool.Calibration.GetComputedUncalibratedFromCalibratedTransform(); transform2DLinear = transform2D.LinearTransform(m_dOriginX, m_dOriginY).Invert(); m_dRotation = transform2DLinear.MapAngle(coordinateAxes.Rotation) + m_dCaibratedRotation; } } }
public void ShowRegion(ADisplay aDisplay) { // 2015.06.15 if (m_cogCaliperTool == null) { return; } // 2017.05.08 if (m_cogCaliperTool.Region == null) { return; } // 2014.07.02 ICogRegion icogRegion = m_cogCaliperTool.Region.Copy(CogCopyShapeConstants.GeometryOnly); ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive; if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None; icogGraphInteractive.Interactive = false; icogGraphInteractive.Color = CogColorConstants.DarkGreen; aDisplay.AddOverlay(icogGraphInteractive, ""); } }
public bool GrabRegion(ADisplay aDisplay) { try { aDisplay.ClearOverlay(); ICogGraphicInteractive icogGraphInteractive = null; CogRectangleAffine cogRectangleAffine = m_cogCaliperTool.Region; if (cogRectangleAffine == null) { cogRectangleAffine = new CogRectangleAffine(); cogRectangleAffine.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5); } icogGraphInteractive = cogRectangleAffine as ICogGraphicInteractive; if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.All; icogGraphInteractive.Interactive = true; icogGraphInteractive.TipText = "Region of Interest"; aDisplay.AddOverlay(icogGraphInteractive, ""); } return(true); } catch { return(false); } }
public void AddOverlay(ICogGraphicInteractive icogGraphicInteractive, string strGroupName) { try { m_cogDisplay.InteractiveGraphics.Add(icogGraphicInteractive, strGroupName, false); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public void ShowRegion(ADisplay aDisplay) { ICogRegion icogRegion = m_cogBlobTool.Region; ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive; if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None; icogGraphInteractive.Interactive = false; icogGraphInteractive.Color = CogColorConstants.DarkGreen; aDisplay.AddOverlay(icogGraphInteractive, ""); } }
public void SetRegion(ADisplay aDisplay) { ICogGraphicInteractive icogGraphInteractive = aDisplay.GetInteractiveGraphics("Region of Interest"); if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None; icogGraphInteractive.Color = CogColorConstants.Cyan; icogGraphInteractive.Interactive = false; } m_icogRegion = icogGraphInteractive as ICogRegion; }
public void ViewLastRegion(ADisplay aDisplay) { ICogRegion icogRegion = m_cogBlobTool.Region; ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive; if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.All; icogGraphInteractive.Interactive = true; // 2016.09.19 by kdi icogGraphInteractive.TipText = "Region of Interest"; aDisplay.AddOverlay(icogGraphInteractive, ""); } }
// 2015.05.05 public void ShowRegion(ADisplay aDisplay, string strSpaceName) { ICogRegion icogRegion = m_cogCaliperTool.Region.Copy(CogCopyShapeConstants.GeometryOnly); icogRegion.SelectedSpaceName = strSpaceName; ICogGraphicInteractive icogGraphInteractive = icogRegion as ICogGraphicInteractive; if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.None; icogGraphInteractive.Interactive = false; icogGraphInteractive.Color = CogColorConstants.DarkGreen; aDisplay.AddOverlay(icogGraphInteractive, ""); } }
// 2013.02.18 public void SetRegionInteractive(bool bVal) { try { ICogGraphicInteractive icogGraphInteractive = null; icogGraphInteractive = m_cogCaliperTool.Region as ICogGraphicInteractive; if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.All; icogGraphInteractive.Interactive = bVal; } } catch { } }
/* * public void GetPointParam(ADisplay aDisplay) * { * double dOriginX, dOriginY; * ICogTransform2D transform2D; * CogTransform2DLinear transform2DLinear = null; * ICogGraphicInteractive axes = aDisplay.GetInteractiveGraphics("Calibrated Origin"); * * if (axes != null) * { * CogCoordinateAxes coordinateAxes = axes as CogCoordinateAxes; * * dOriginX = coordinateAxes.OriginX; * dOriginY = coordinateAxes.OriginY; * TransUncalibrated2CalibratedCoord(dOriginX, dOriginY, out m_dOriginX, out m_dOriginY); * * if (isShowDistorted == true) * { * transform2D = m_cogCalibNPointToNPointTool.Calibration.OwnedWarpParams.GetOutputImageRootFromCalibratedTransform(); * transform2DLinear = transform2D.LinearTransform(dOriginX, dOriginY).Invert(); * m_dRotation = transform2DLinear.MapAngle(m_cogCoordinateAxes.Rotation) + m_dCaibratedRotation; * } * else * { * transform2D = m_cogCalibNPointToNPointTool.Calibration.GetComputedUncalibratedFromCalibratedTransform(); * transform2DLinear = transform2D.LinearTransform(m_dOriginX, m_dOriginY).Invert(); * m_dRotation = transform2DLinear.MapAngle(coordinateAxes.Rotation) + m_dCaibratedRotation; * } * } * } */ public void GetAxesParam(ADisplay aDisplay) { double dOriginX, dOriginY; ICogTransform2D transform2D; CogTransform2DLinear transform2DLinear = null; ICogGraphicInteractive axes = aDisplay.GetInteractiveGraphics("Calibrated Origin"); if (axes != null) { CogCoordinateAxes coordinateAxes = axes as CogCoordinateAxes; dOriginX = coordinateAxes.OriginX; dOriginY = coordinateAxes.OriginY; TransUncalibrated2CalibratedCoord(dOriginX, dOriginY, out m_dOriginX, out m_dOriginY); transform2D = m_cogCalibNPointToNPointTool.Calibration.GetComputedUncalibratedFromCalibratedTransform(); transform2DLinear = transform2D.LinearTransform(m_dOriginX, m_dOriginY).Invert(); m_dRotation = transform2DLinear.MapAngle(coordinateAxes.Rotation) + m_dCaibratedRotation; } }
public bool GrabRegion(ADisplay aDisplay, AVisionProBuild._emRegionShape emRegionShape) { aDisplay.ClearOverlay(); ICogGraphicInteractive icogGraphInteractive = null; ICogRegion icogRegion = m_cogBlobTool.Region; CogCircle circle = icogRegion as CogCircle; CogEllipse ellipse = icogRegion as CogEllipse; CogRectangle rectangle = icogRegion as CogRectangle; CogRectangleAffine rectangleAffine = icogRegion as CogRectangleAffine; CogCircularAnnulusSection circularAnnuluns = icogRegion as CogCircularAnnulusSection; CogEllipticalAnnulusSection ellipticalAnnuluns = icogRegion as CogEllipticalAnnulusSection; switch (emRegionShape) { case AVisionProBuild._emRegionShape.Circle: { if (circle == null) { circle = new CogCircle(); circle.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5); } icogGraphInteractive = circle as ICogGraphicInteractive; } break; case AVisionProBuild._emRegionShape.Ellipse: { if (ellipse == null) { ellipse = new CogEllipse(); ellipse.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5); } icogGraphInteractive = ellipse as ICogGraphicInteractive; } break; case AVisionProBuild._emRegionShape.Rectangle: { if (rectangle == null) { rectangle = new CogRectangle(); rectangle.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5); } icogGraphInteractive = rectangle as ICogGraphicInteractive; } break; case AVisionProBuild._emRegionShape.RectangleAffine: { if (rectangleAffine == null) { rectangleAffine = new CogRectangleAffine(); rectangleAffine.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5); } icogGraphInteractive = rectangleAffine as ICogGraphicInteractive; } break; case AVisionProBuild._emRegionShape.CircularAnnulusSection: { if (circularAnnuluns == null) { circularAnnuluns = new CogCircularAnnulusSection(); circularAnnuluns.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5); } icogGraphInteractive = circularAnnuluns as ICogGraphicInteractive; } break; case AVisionProBuild._emRegionShape.EllipticalAnnulusSection: { if (ellipticalAnnuluns == null) { ellipticalAnnuluns = new CogEllipticalAnnulusSection(); ellipticalAnnuluns.FitToImage(aDisplay.GetImage8Grey(), 0.5, 0.5); } icogGraphInteractive = ellipticalAnnuluns as ICogGraphicInteractive; } break; case AVisionProBuild._emRegionShape.Entire: { m_icogRegion = null; aDisplay.ClearOverlay(); } break; default: m_icogRegion = null; return(false); } if (icogGraphInteractive != null) { icogGraphInteractive.GraphicDOFEnableBase = CogGraphicDOFConstants.All; icogGraphInteractive.Interactive = true; icogGraphInteractive.TipText = "Region of Interest"; aDisplay.AddOverlay(icogGraphInteractive, ""); } return(true); }
private void AssignCogRecordToDisplay(Control cogDisplay, ICogRecord cogRecord) { if (cogDisplay.Visible != true) { return; } if (cogDisplay.InvokeRequired) { cogDisplay.BeginInvoke(new _delParamCogDisplayIcogRecord(AssignCogRecordToDisplay), new object[] { cogDisplay, cogRecord }); return; } if (cogDisplay is CogRecordsDisplay) { (cogDisplay as CogRecordsDisplay).Subject = cogRecord; } else if (cogDisplay is CogDisplay) { CogDisplay cDisplay = cogDisplay as CogDisplay; try { //cogDisplay.Visible = false; if (cogRecord.SubRecords == null || cogRecord.SubRecords.Count == 0) { return; } if (cogRecord.Content != null && cogRecord.Content is List <ICogRecord> ) { List <ICogRecord> recordList = cogRecord.Content as List <ICogRecord>; CogGraphicInteractiveCollection cogGraphicInteractCollection = new CogGraphicInteractiveCollection(); foreach (ICogRecord record in recordList) { // Assign image if it is not there if ((cDisplay.Image == null || !(cDisplay.Image is CogImage8Grey)) && CogCamera != null) { // Assign image lock (CogCamera.LockCogDisplay) { cDisplay.Image = record.SubRecords[0].Content as ICogImage; cDisplay.Fit(true); } } cDisplay.InteractiveGraphics.Clear(); if (IsDisplayGraphic) { //Assign graphic if any foreach (ICogRecord subRecord in record.SubRecords[0].SubRecords) { if (subRecord.Content is CogGraphicCollection) { CogGraphicCollection contentCollect = subRecord.Content as CogGraphicCollection; if (contentCollect != null) { foreach (CogCompositeShape graphic in contentCollect) { //cDisplay.InteractiveGraphics.Add(graphic, this.Name, false); cogGraphicInteractCollection.Add(graphic); } } } if (subRecord.Content is ICogGraphicInteractive) { //cDisplay.InteractiveGraphics.Add(subRecord.Content as ICogGraphicInteractive, this.Name, false); cogGraphicInteractCollection.Add(subRecord.Content as ICogGraphicInteractive); } } if (EnableDisplayTimeLabel) { CogGraphicLabel cogLabel = new CogGraphicLabel(); cogLabel.SelectedSpaceName = "@"; cogLabel.Color = CogColorConstants.Green; cogLabel.SetXYText(TimeLabelLocX, TimeLabelLocY, DateTime.Now.ToString("HH:mm:ss:fff")); cogGraphicInteractCollection.Add(cogLabel); } cDisplay.InteractiveGraphics.AddList(cogGraphicInteractCollection, this.Name, false); //(cogDisplay as CogDisplay).Invalidate(); } } } else { // Assign image if it is not there if ((cDisplay.Image == null || !(cDisplay.Image is CogImage8Grey)) && CogCamera != null) { // Assign image lock (CogCamera.LockCogDisplay) { //(cogDisplay as CogDisplay).Image = cogRecord.SubRecords[0].Content as ICogImage; cDisplay.Image = cogRecord.SubRecords[cogRecord.SubRecords.Count - 1].Content as ICogImage; cDisplay.Fit(true); } } cDisplay.InteractiveGraphics.Clear(); if (IsDisplayGraphic) { // Assign graphic if any CogGraphicInteractiveCollection cogGraphicInteractCollection = new CogGraphicInteractiveCollection(); foreach (ICogRecord record in cogRecord.SubRecords[cogRecord.SubRecords.Count - 1].SubRecords) { if (record.Content is CogGraphicCollection) { CogGraphicCollection contentCollect = record.Content as CogGraphicCollection; foreach (CogObjectBase objBase in contentCollect) { ICogGraphicInteractive graphic = objBase as ICogGraphicInteractive; if (graphic != null) { //cDisplay.InteractiveGraphics.Add(graphic, this.Name, false); cogGraphicInteractCollection.Add(graphic); } } } else if (record.Content is ICogGraphicInteractive) { //cDisplay.InteractiveGraphics.Add(record.Content as ICogGraphicInteractive, this.Name, false); cogGraphicInteractCollection.Add(record.Content as ICogGraphicInteractive); } } if (EnableDisplayTimeLabel) { CogGraphicLabel cogLabel = new CogGraphicLabel(); cogLabel.SelectedSpaceName = "@"; cogLabel.Color = CogColorConstants.Green; cogLabel.SetXYText(TimeLabelLocX, TimeLabelLocY, DateTime.Now.ToString("HH:mm:ss:fff")); cogGraphicInteractCollection.Add(cogLabel); } cDisplay.InteractiveGraphics.AddList(cogGraphicInteractCollection, this.Name, false); //(cogDisplay as CogDisplay).Invalidate(); } } } finally { //cogDisplay.Visible = true; //cogDisplay.Update(); } //CogDisplayResult =new Bitmap((cogDisplay as CogDisplay).CreateContentBitmap(CogDisplayContentBitmapConstants.Image, null, 0)); } else { // There is no Cognex Display, do nothing } }