internal unsafe PitchToolSetting(BankSettingVsa *pVsaSetting) : base(pVsaSetting) { this.ToolWindow = WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sEdgePitch.sTemplateVector); this.Initialize(pVsaSetting->sRegisterSetting.sEdgePitch.sScalingSetting, pVsaSetting->sOperationSetting.sEdgePitch); this.ToolType = "Pitch"; }
internal unsafe MonochromeAreaToolSetting(BankSettingVsa *pVsaSetting) : base(pVsaSetting) { this.ToolWindow = WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sAreaMono.sTemplateVector); this.OkMaxValue = (int)pVsaSetting->sOperationSetting.sAreaMono.dwHiThreshold; this.OkMinValue = (int)pVsaSetting->sOperationSetting.sAreaMono.dwLowThreshold; this.MinValue = 0; switch (pVsaSetting->sOperationSetting.sAreaMono.byHiThresholdSettingType) { case 0: this.MaxValue = 100; this.OkMaxValue = this.MaxValue; break; case 1: this.MaxValue = 200; break; case 2: this.MaxValue = 999; break; default: throw new ArgumentException(); } this.ToolType = "MonochromeArea"; }
internal unsafe DiameterToolSetting(BankSettingVsa *pVsaSetting) : base(pVsaSetting) { this.ToolWindow = WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sDiameter.sValidArea.sTemplateVector); this.Initialize(pVsaSetting->sRegisterSetting.sDiameter.sCircleDetecting.sScalingSetting, pVsaSetting->sOperationSetting.sDiameter); this.ToolType = "Diameter"; }
internal unsafe OneAxisAdjustmentToolSetting(BankSettingVsa *pVsaSetting) : base(pVsaSetting) { this.ToolWindow = WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sOneAxisPosAdjust.sTemplateVector); this.OkMaxValue = 100; this.OkMinValue = 0; this.MaxValue = 100; this.MinValue = 0; this.ToolType = "1AxisAdjustment"; }
internal unsafe PositionAdjustToolSetting(BankSettingVsa *pVsaSetting) : base(pVsaSetting) { this.ToolWindow = WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sPositionAdjust.sTemplateVector); this.OkMaxValue = 100; this.OkMinValue = (int)pVsaSetting->sOperationSetting.sPositionAdjust.wScore; this.MaxValue = 100; this.MinValue = 0; this.ToolType = "PositionAdjust"; }
internal unsafe TwoAxisAdjustmentToolSetting(BankSettingVsa *pVsaSetting) : base(pVsaSetting) { this.ToolWindow = WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sTwoAxesPosAdjust.sX.sTemplateVector); this.MultiToolWindow = new MultiWindowShape(this.ToolWindow, WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sTwoAxesPosAdjust.sY.sTemplateVector)); this.OkMaxValue = 100; this.OkMinValue = 0; this.MaxValue = 100; this.MinValue = 0; this.ToolType = "2AxisAdjustment"; }
internal static unsafe WindowShape Create(VectorAreaItem *pVector) { switch (pVector->sHeader.byVectorType) { case 0: return(WindowShapeCreator.CreateRectangleWindow(&pVector->sRectangle)); case 1: return(WindowShapeCreator.CreateCircleWindow(&pVector->sCircle)); default: throw new ArgumentException(); } }
internal unsafe EdgeToolSetting(BankSettingVsa *pVsaSetting) : base(pVsaSetting) { this.ToolWindow = WindowShapeCreator.Create(&pVsaSetting->sRegisterSetting.sEdgePresence.sTemplateVector); this.OkMaxValue = (int)pVsaSetting->sOperationSetting.sEdgePresence.dwHiThreshold; this.OkMinValue = (int)pVsaSetting->sOperationSetting.sEdgePresence.dwLowThreshold; this.MinValue = 0; switch (pVsaSetting->sOperationSetting.sEdgePresence.byMatchPercentLimitSettingType) { case 0: this.MaxValue = 2; break; case 1: this.MaxValue = 5; break; case 2: this.MaxValue = 10; break; case 3: this.MaxValue = 20; break; case 4: this.MaxValue = 50; break; default: throw new ArgumentException(); } if (pVsaSetting->sOperationSetting.sEdgePresence.byEnableHiThreshould == (byte)0) { this.OkMaxValue = this.MaxValue; } this.ToolType = "Edge"; }