85 lines
2.3 KiB
C#
85 lines
2.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace VisionCommon {
|
|
public class CamPatternIndex : PatternIndex, ICloneable {
|
|
public eCamId CamId { get; set; } = eCamId.CAM1;
|
|
|
|
public CamPatternIndex(eCamId camId, int patternId, int patternSubId = 0) {
|
|
CamId = camId;
|
|
PatternId = patternId;
|
|
PatternSubId = patternSubId;
|
|
}
|
|
|
|
public override string GetFullId() {
|
|
return ToString();
|
|
}
|
|
|
|
public override string ToString() {
|
|
return $"{(int)CamId}_{PatternId}_{PatternSubId}";
|
|
}
|
|
|
|
public string GetPrefix() {
|
|
return GetPrefix(CamId);
|
|
}
|
|
|
|
public static string GetPrefix(eCamId camId) {
|
|
return $"{(int)camId}_";
|
|
}
|
|
|
|
public string GetPatternIdPrefix() {
|
|
return GetPatternIdPrefix(CamId, PatternId);
|
|
}
|
|
|
|
public static string GetPatternIdPrefix(eCamId camId, int patternId) {
|
|
return $"{(int)camId}_{patternId}_";
|
|
}
|
|
|
|
public override string GetSubPatternDirectoryPath() {
|
|
return Path.Combine(
|
|
((int)CamId).ToString(),
|
|
PatternId.ToString(),
|
|
PatternSubId.ToString());
|
|
}
|
|
|
|
public string GetPatternDirectoryPath() {
|
|
return Path.Combine(
|
|
((int)CamId).ToString(),
|
|
PatternId.ToString());
|
|
}
|
|
|
|
public override object Clone() {
|
|
return new CamPatternIndex(CamId, PatternId, PatternSubId);
|
|
}
|
|
|
|
public override bool Equals(object obj) {
|
|
if (this.GetType() != obj.GetType()) {
|
|
return false;
|
|
}
|
|
|
|
return Equals(obj as CamPatternIndex);
|
|
}
|
|
|
|
public bool Equals(CamPatternIndex patternIndex) {
|
|
if (patternIndex is null) {
|
|
return false;
|
|
}
|
|
|
|
if (Object.ReferenceEquals(this, patternIndex)) {
|
|
return true;
|
|
}
|
|
|
|
return this.ToString() == patternIndex.ToString();
|
|
}
|
|
|
|
public override int GetHashCode() {
|
|
return CamId.GetHashCode() ^
|
|
PatternId.GetHashCode() ^ PatternSubId.GetHashCode();
|
|
}
|
|
}
|
|
}
|