using System.Collections.Generic; using System.Windows; using VisionCommon; #if USE_COGNEX using CogUI; #else using MilUI; #endif namespace WeldingCommon.Vision.Device { /// /// 장비 패턴 매니저 /// public class PatternManager : IMachinePattern { public List GetMachinePatternTypes() { //장비에서 구현 완료한 패턴만 활성화시킨다. return new List() { //ePatternType.MachinePattern_A, //ePatternType.MachinePattern_B, //ePatternType.MachinePattern_C }; } private bool IsActivatedPattern(ePatternType patternType) { foreach(var pattern in GetMachinePatternTypes()) { if(pattern == patternType) { return true; } } return false; } public IPatternFinder GetPattern(PatternInfo patternInfo) { if (IsActivatedPattern(patternInfo.PatternType)) { // 미사용 //if (patternInfo.PatternType == ePatternType.MachinePattern_A) { // return new MachinePattern_A(patternInfo); //} //else if (patternInfo.PatternType == ePatternType.MachinePattern_B) { // return new MachinePattern_B(patternInfo); //} //else if (patternInfo.PatternType == ePatternType.MachinePattern_C) { // return new MachinePattern_C(patternInfo); //} } return null; } public Window GetWindow(PatternAgentBase patternAgent, PatternInfo patternInfo, object cameraDisplay, FovInfo fovInfo) { if (IsActivatedPattern(patternInfo.PatternType)) { // 미사용 //if (patternInfo.PatternType == ePatternType.MachinePattern_A) { // return new MachinePattern_A_SettingWindow(patternAgent, patternInfo, cameraDisplay as CameraDisplay, fovInfo); //} //else if (patternInfo.PatternType == ePatternType.MachinePattern_B) { // return new MachinePattern_B_SettingWindow(patternAgent, patternInfo, cameraDisplay as CameraDisplay, fovInfo); //} //else if (patternInfo.PatternType == ePatternType.MachinePattern_C) { // return new MachinePattern_C_SettingWindow(patternAgent, patternInfo, cameraDisplay as CameraDisplay, fovInfo); //} } return null; } } }