2026-01-26 18:56:53 +09:00

67 lines
2.6 KiB
C#

using System.Collections.Generic;
using System.Windows;
using VisionCommon;
#if USE_COGNEX
using CogUI;
#else
using MilUI;
#endif
namespace WeldingCommon.Vision.Device {
/// <summary>
/// 장비 패턴 매니저
/// </summary>
public class PatternManager : IMachinePattern {
public List<ePatternType> GetMachinePatternTypes() {
//장비에서 구현 완료한 패턴만 활성화시킨다.
return new List<ePatternType>() {
//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;
}
}
}