2026-03-30 17:09:29 +09:00

45 lines
1.6 KiB
C#

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<int> 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();
}
}
}