private void SetGridViewLeadAlignmentValue(CogLeadFormResult _Result) { if (_Result == null || _Result.AlignResultDataList == null) { return; } InitializeQuickGridView(_Result.AlignResultDataList.Count); for (int iLoopCount = 0; iLoopCount < _Result.AlignResultDataList.Count; ++iLoopCount) { double _RealCenterX = _Result.AlignResultDataList[iLoopCount].CenterX * ResolutionX; double _RealCenterY = _Result.AlignResultDataList[iLoopCount].CenterY * ResolutionY; QuickGridViewLeadFormAlignPitch[1, iLoopCount].Value = _RealCenterX.ToString("F4"); QuickGridViewLeadFormAlignPitch[2, iLoopCount].Value = _RealCenterY.ToString("F4"); if (iLoopCount % 2 == 0) { QuickGridViewLeadFormAlignPitch[1, iLoopCount].Style.BackColor = Color.DarkCyan; QuickGridViewLeadFormAlignPitch[2, iLoopCount].Style.BackColor = Color.DarkCyan; } else { QuickGridViewLeadFormAlignPitch[1, iLoopCount].Style.BackColor = Color.CadetBlue; QuickGridViewLeadFormAlignPitch[2, iLoopCount].Style.BackColor = Color.CadetBlue; } } }
private void btnLeadFormAlignAreaCheck_Click(object sender, EventArgs e) { CogRectangle _InspRegion = new CogRectangle(); _InspRegion.SetCenterWidthHeight(LeadFormAlignArea.CenterX, LeadFormAlignArea.CenterY, LeadFormAlignArea.Width, LeadFormAlignArea.Height); CogLeadFormResult _CogLeadFormResult = new CogLeadFormResult(); CogLeadFormAlgo _CogLeadFormAlgo = new CogLeadFormAlgo(ResolutionX, ResolutionY); _CogLeadFormAlgo.AlignThreshold = Convert.ToInt32(graLabelLeadFormAlignThresholdValue.Text); _CogLeadFormAlgo.AlignSkewSpec = Convert.ToDouble(numUpDownAlignSkewSpec.Value); _CogLeadFormAlgo.AlignPitchSpec = Convert.ToDouble(numUpDownLeadFormAlignPitchSpec.Value); var _ApplyLeadFormValueEvent = ApplyLeadFormValueEvent; _ApplyLeadFormValueEvent?.Invoke(CogLeadFormAlgo.eAlgoMode.LEAD_ALIGN, _InspRegion, _CogLeadFormAlgo, ref _CogLeadFormResult); //LJH 2019.07.30 Lead Count를 잘 못 입력하지 않도록 수동으로 입력하게 수정\ //SaveAlgo에서 확인 하도록 수정 numUpDownLeadCount.Value = Convert.ToDecimal(_CogLeadFormResult.LeadCount); SetLeadAlignmentValue(_CogLeadFormResult); SetGridViewLeadAlignmentValue(LeadPositionArrayXNew, LeadPositionArrayYNew); //SetGridViewLeadAlignmentValue(_CogLeadFormResult); }
private void SetLeadAlignmentValue(CogLeadFormResult _Result) { for (int iLoopCount = 0; iLoopCount < _Result.AlignResultDataList.Count; ++iLoopCount) { LeadPositionArrayXNew[iLoopCount] = _Result.AlignResultDataList[iLoopCount].CenterX * ResolutionX; LeadPositionArrayYNew[iLoopCount] = _Result.AlignResultDataList[iLoopCount].CenterY * ResolutionY; } }
public void ClearLeadFormResult(int _LeadCount) { LeadFormResult = new CogLeadFormResult(); LeadFormResult.EachLeadStatusArray = new EachLeadStatus[_LeadCount]; for (int iLoopCount = 0; iLoopCount < _LeadCount; ++iLoopCount) { LeadFormResult.EachLeadStatusArray[iLoopCount] = new EachLeadStatus(); } }
public bool Run(CogImage8Grey _SrcImage, CogRectangle _InspRegion, CogLeadFormAlgo _CogLeadFormAlgo, ref CogLeadFormResult _CogLeadFormResult, int _NgNumber = 0) { bool _Result = false; ClearLeadFormResult(_CogLeadFormAlgo.LeadCount); CogRectangle _LeadAlignArea = new CogRectangle(); _LeadAlignArea.SetCenterWidthHeight(_CogLeadFormAlgo.AlignArea.CenterX, _CogLeadFormAlgo.AlignArea.CenterY, _CogLeadFormAlgo.AlignArea.Width, _CogLeadFormAlgo.AlignArea.Height); do { if (false == LeadAlignSE(_SrcImage, _LeadAlignArea, _CogLeadFormAlgo)) { break; } _Result = true; } while (false); _CogLeadFormResult = LeadFormResult; return(_Result); }