示例#1
0
 /// <summary>
 /// 수정이 불 가능한 고정 도형 그리기
 /// </summary>
 /// <param name="_cogPolygon">Polygon 객체</param>
 /// <param name="_groupName">그려지는 그룹명</param>
 /// <param name="_color">색상</param>
 public void DrawStaticShape(CogPolygon _cogPolygon, string _groupName, CogColorConstants _color, int _LineSize = 2)
 {
     StaticPolygonGraphic       = new CogPolygon();
     StaticPolygonGraphic       = _cogPolygon;
     StaticPolygonGraphic.Color = _color;
     StaticPolygonGraphic.LineWidthInScreenPixels = _LineSize;
     StaticPolygonGraphic.Selected = false;
     kCogDisplay.ClearDisplay(_groupName);
     kCogDisplay.StaticGraphics.Add(StaticPolygonGraphic.CopyBase(CogCopyShapeConstants.All), _groupName);
 }
示例#2
0
        private void ApplyBarCodeIDInspValueFunction(CogBarCodeIDAlgo _CogBarCodeIDAlgo, ref CogBarCodeIDResult _CogBarCodeIDResult)
        {
            if (eTeachStep.ALGO_SET != CurrentTeachStep)
            {
                MessageBox.Show("Not select \"Algorithm Set\" button"); return;
            }
            AlgorithmAreaDisplayRefresh();

            bool _Result = InspIDProcess.Run(InspectionImage, AlgoRegionRectangle, _CogBarCodeIDAlgo, ref _CogBarCodeIDResult);

            CogPolygon _Polygon = new CogPolygon();

            if (_CogBarCodeIDResult != null)
            {
                for (int iLoopCount = 0; iLoopCount < _CogBarCodeIDResult.IDCount; iLoopCount++)
                {
                    _Polygon.SetVertices(_CogBarCodeIDResult.IDPolygon[iLoopCount].GetVertices());
                    kpTeachDisplay.DrawStaticShape(_Polygon, "BarCodeID" + iLoopCount + "_Polygon", CogColorConstants.Green);

                    string _ResultIDName = string.Format("ID = {0}", _CogBarCodeIDResult.IDResult);
                    kpTeachDisplay.DrawText(_ResultIDName, _CogBarCodeIDResult.IDCenterX[iLoopCount], _CogBarCodeIDResult.IDCenterY[iLoopCount] + 30, CogColorConstants.Green, 8, CogGraphicLabelAlignmentConstants.BaselineCenter);
                }
            }
        }
示例#3
0
        private bool getBlobBoundary(out double[] pos_x, out double[] pos_y, out int pos_number, int toolNum, int index)
        {
            CogBlobTool blobTool = null;

            pos_x      = null;
            pos_y      = null;
            pos_number = 0;

            switch (toolNum)
            {
            case 1:
                blobTool = blobTool_1;
                break;

            case 2:
                blobTool = blobTool_2;
                break;

            case 3:
                blobTool = blobTool_3;
                break;

            default:
                return(false);
            }

            if (blobTool.Results == null)
            {
                return(false);
            }

            CogBlobResultCollection blobResult = blobTool.Results.GetBlobs();

            if (blobResult == null)
            {
                return(false);
            }
            int number = blobResult.Count;

            if (index >= number || index < 0)
            {
                return(false);
            }

            CogPolygon blobBoundary = blobResult[index].GetBoundary();


            int verticesNum = blobBoundary.NumVertices;

            pos_x = new double[verticesNum];
            pos_y = new double[verticesNum];

            for (int i = 0; i < verticesNum; i++)
            {
                pos_x[i] = blobBoundary.GetVertexX(i);
                pos_y[i] = blobBoundary.GetVertexY(i);
            }

            pos_number = verticesNum;

            return(true);
        }