Beispiel #1
0
        public void DrawFindCircleCaliper(CogFindCircle _CogFindCircle = null)
        {
            ICogRecord           _Record;
            CogGraphicCollection _Region;

            CircleCaliperTool.InputImage = (CogImage8Grey)kCogDisplay.Image;
            CircleCaliperTool.RunParams  = _CogFindCircle;

            _Record = CircleCaliperTool.CreateCurrentRecord();
            InteractiveCircularArc = (CogCircularArc)_Record.SubRecords["InputImage"].SubRecords["ExpectedShapeSegment"].Content;
            _Region = (CogGraphicCollection)_Record.SubRecords["InputImage"].SubRecords["CaliperRegions"].Content;

            kCogDisplay.InteractiveGraphics.Add(InteractiveCircularArc, "CircleArc", false);
            foreach (ICogGraphic _ICogGra in _Region)
            {
                kCogDisplay.InteractiveGraphics.Add((ICogGraphicInteractive)_ICogGra, "", false);
            }
            GC.Collect();
        }
Beispiel #2
0
        private Boolean make_results()
        {
            string ProcID = System.Reflection.MethodInfo.GetCurrentMethod().Name.ToString();

            try
            {
                if (mFindCircleTool.Results != null)
                {
                    CogCircle      iCircle      = mFindCircleTool.Results.GetCircle();
                    CogCircularArc iCircularArc = mFindCircleTool.Results.GetCircularArc();

                    if (iCircle != null && iCircularArc != null)
                    {
                        mFindCircleTool_Results.Circle_CenterX         = iCircle.CenterX;
                        mFindCircleTool_Results.Circle_CenterY         = iCircle.CenterY;
                        mFindCircleTool_Results.Circle_Radius          = iCircle.Radius;
                        mFindCircleTool_Results.CircularArc_CenterX    = iCircularArc.CenterX;
                        mFindCircleTool_Results.CircularArc_CenterY    = iCircularArc.CenterY;
                        mFindCircleTool_Results.CircularArc_Radius     = iCircularArc.Radius;
                        mFindCircleTool_Results.CircularArc_AngleStart = iCircularArc.AngleStart;
                        mFindCircleTool_Results.CircularArc_AngleSpan  = iCircularArc.AngleSpan;
                        return(true);
                    }
                    else
                    {
                        SaveLog.Msg_("iCircle or iCircularArc is null!");
                        return(false);
                    }
                }
                else
                {
                    SaveLog.Msg_("FindCircleTool Doesn't have any result!");
                    return(false);
                    //MessageBox.Show("Didn't find any line");
                }
            }
            catch (Exception ex)
            {
                SaveLog.Msg_("FindCircleTool make_results Failed : " + ModularID + ":\r\n" + ProcID + ":\r\n" + ex.ToString());
                return(false);
            }
        }