Пример #1
0
        /// <summary>
        /// 多相机执行
        /// </summary>
        /// <param name="par"></param>
        /// <param name="baseParCalibrate"></param>
        /// <param name="fun"></param>
        public void MainWindow_GetResultValueMult_event(ParGetResultFromCell par, BaseParCalibrate baseParCalibrate, HashAction fun)
        {
            try
            {
                BaseDealComprehensiveResult baseDealComprehensiveResult = null;
                int noCamera = par.NoCameraMult;//多相机序号
                switch (noCamera)
                {
                case 1:
                    baseDealComprehensiveResult = DealComprehensiveResult1;
                    break;

                case 2:
                    baseDealComprehensiveResult = DealComprehensiveResult2;
                    break;

                case 3:
                    baseDealComprehensiveResult = DealComprehensiveResult3;
                    break;

                case 4:
                    baseDealComprehensiveResult = DealComprehensiveResult4;
                    break;

                case 5:
                    baseDealComprehensiveResult = DealComprehensiveResult5;
                    break;

                case 6:
                    baseDealComprehensiveResult = DealComprehensiveResult6;
                    break;

                case 7:
                    baseDealComprehensiveResult = DealComprehensiveResult7;
                    break;

                case 8:
                    baseDealComprehensiveResult = DealComprehensiveResult8;
                    break;
                }
                baseDealComprehensiveResult.GetCellResultValue(par, baseParCalibrate, fun);
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(NameClass, ex);
            }
        }
        /// <summary>
        /// 此相机算法单元结果
        /// </summary>
        /// <param name="par"></param>
        /// <param name="baseParCalibrate"></param>
        /// <param name="fun"></param>
        public void GetCellResultValue(ParGetResultFromCell par, BaseParCalibrate baseParCalibrate, HashAction fun)
        {
            try
            {
                Hashtable           htResult = null;
                ParCellExeReference parCellExecuteReferenceForMult = baseParCalibrate.g_ParCellExecuteReferenceForMult;

                g_BaseDealComprehensive.DealComprehensivePosCell_ForTestRun(g_UCDisplayCamera, baseParCalibrate.g_ParCellExecuteReferenceForMult, parCellExecuteReferenceForMult.g_CellExecute_L, out htResult);//执行算法但不显示

                if (fun != null)
                {
                    fun(htResult);//刷新列表显示
                }

                ////刷新当前图像
                //g_BaseDealComprehensive.RefreshCurrImage();

                //foreach (CellReference cellReference in baseParCalibrate.g_ParCellExecuteReferenceForMult.g_CellExecute_L)
                //{
                //    g_BaseDealComprehensive.RefreshHobject(cellReference.NameCell);
                //    g_BaseDealComprehensive.RefreshShape(cellReference.NameCell);
                //    g_BaseDealComprehensive.RefreshResultInfo(cellReference.NameCell);
                //}
            }
            catch (Exception ex)
            {
                Log.L_I.WriteError(NameClass, ex);
            }
        }