using Aurora.View; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; using VisionCommon; namespace VisionCommonUI { public class PatternBlockSettingViewModel : NotifyPropertyChangedBase { private int _blockId; public int BlockId { get => _blockId; set => SetProperty(ref _blockId, value); } public List Patterns { get; set; } private PatternInfo _patternInfo; private PatternAgentBase _patternAgent; public PatternBlockSettingViewModel( PatternInfo patternInfo, int blockId) { _patternInfo = patternInfo; BlockId = blockId; #warning FOV & CAM Pattern 분리 var patternIndex = _patternInfo.GetPatternIndex(); if (patternIndex is FovPatternIndex) { var fovPatternIndex = patternIndex as FovPatternIndex; _patternAgent = FovPatternAgentManager.GetAgent( VisionRecipeManager.GetSubSysInfo( fovPatternIndex.UnitId, fovPatternIndex.SubSysId)); } else if (patternIndex is CamPatternIndex) { var camPatternIndex = patternIndex as CamPatternIndex; _patternAgent = CamPatternAgentManager.GetAgent(camPatternIndex.CamId); } var patternInfoList = _patternAgent.GetMainPatterns( _patternInfo, ePatternType.LineFinder); Patterns = patternInfoList.Select(pi => pi.GetPatternId()).ToList(); } } }