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

90 lines
2.8 KiB
C#

using Newtonsoft.Json;
using System;
using System.IO;
namespace VisionCommon {
public class FovPatternInfo : PatternInfo, ICloneable {
[JsonIgnore]
public FovPatternIndex PatternIndex { get; set; }
public override string GetPatternDirectoryPath() {
return PatternIndex.GetPatternDirectoryPath();
}
public override string GetSubPatternDirectoryPath() {
return PatternIndex.GetSubPatternDirectoryPath();
}
public override object Clone() {
return new FovPatternInfo() {
PatternType = PatternType,
PatternName = PatternName,
IsActivated = IsActivated,
Description = Description,
IsQuickFind = IsQuickFind,
LightInfo = LightInfo.Clone(),
PatternIndex = PatternIndex.Clone() as FovPatternIndex,
MilSystemId = MilSystemId,
PreProcParam = PreProcParam.Clone(),
FixtureSetting = FixtureSetting.Clone() as FixtureSetting,
};
}
public override PatternIndex GetPatternIndex() {
return PatternIndex;
}
public override string GetFullId() {
return ToString();
}
public override string ToString() {
return PatternIndex.ToString();
}
public override string GetPrefix() {
return PatternIndex.GetPrefix();
}
public override string GetPatternIdPrefix() {
return PatternIndex.GetPatternIdPrefix();
}
public override int GetPatternId() {
return PatternIndex.PatternId;
}
public override void SetPatternId(int patternId) {
PatternIndex.PatternId = patternId;
}
public override int GetPatternSubId() {
return PatternIndex.PatternSubId;
}
public override void SetPatternSubId(int patternSubId) {
PatternIndex.PatternSubId = patternSubId;
}
public override bool IsMainPattern(string idPrefix) {
return GetFullId().StartsWith(idPrefix) &&
PatternIndex.PatternSubId == PatternConstants.MAIN_PATTERN_INDEX;
}
public override bool IsSubPattern(string idPrefix) {
return GetFullId().StartsWith(idPrefix) &&
PatternIndex.PatternSubId != PatternConstants.MAIN_PATTERN_INDEX;
}
public override bool Equals(object obj) {
if (this.GetType() != obj.GetType()) {
return false;
}
return PatternIndex.Equals(((FovPatternInfo)obj).PatternIndex);
}
public override int GetHashCode() {
return PatternIndex.GetHashCode();
}
}
}