using System.Windows; using VisionCommon; namespace MilUI { public class PatternViewUtil { public static Window CreatePatternSettingWindow( PatternAgentBase patternAgent, PatternInfo patternInfo, CameraDisplay cameraDisplay, FovInfo fovInfo) { Window window = null; switch (patternInfo.PatternType) { case ePatternType.ImageModelFinder: window = new ImageModelSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.ShapeModelFinder: window = new ShapeModelSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.PatternMatching: window = new PatternMatchingSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.LineFinder: window = new LineSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.MultiLineFinder: window = new MultiLineSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.EdgeFinder: window = new EdgeSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.Blob: window = new BlobSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.BarCode: window = new BarCodeSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.Brightness: window = new BrightnessSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.LineIntersection: window = new LineIntersectionSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.LineWidth: window = new LineWidthSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.Caliper: window = new CaliperSettingWindow( patternAgent, patternInfo, cameraDisplay, fovInfo); break; case ePatternType.MachinePattern_A: case ePatternType.MachinePattern_B: case ePatternType.MachinePattern_C: window = EquipAdapter.Instance.MachinePatternManager.GetWindow(patternAgent, patternInfo, cameraDisplay, fovInfo); break; } return window; } } }