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

59 lines
2.0 KiB
C#

using Newtonsoft.Json;
using System;
using System.Drawing;
namespace VisionCommon {
public enum ePatternType {
None,
ImageModelFinder,
ShapeModelFinder,
PatternMatching,
LineFinder,
MultiLineFinder,
EdgeFinder,
Caliper,
Blob,
BarCode,
Brightness,
LineIntersection = 20,
LineWidth,
MachinePattern_A = 30,
MachinePattern_B,
MachinePattern_C
}
public abstract class PatternInfo : ICloneable {
public ePatternType PatternType { get; set; } = ePatternType.None;
public string PatternName { get; set; } = string.Empty;
public bool IsActivated { get; set; } = true;
public string Description { get; set; } = string.Empty;
public bool IsQuickFind { get; set; } = false;
public LightInfo LightInfo { get; set; } = new LightInfo();
[JsonIgnore]
public int MilSystemId { get; set; }
public PreProcessingParam PreProcParam { get; set; } = new PreProcessingParam();
public FixtureSetting FixtureSetting { get; set; } = new FixtureSetting();
[JsonIgnore]
public Bitmap Thumbnail { get; set; } = ThumbnailUtil.GetDefaultImage();
public abstract PatternIndex GetPatternIndex();
public abstract string GetFullId();
public abstract string GetPrefix();
public abstract string GetPatternIdPrefix();
public abstract int GetPatternId();
public abstract void SetPatternId(int patternId);
public abstract int GetPatternSubId();
public abstract void SetPatternSubId(int patternSubId);
public abstract bool IsMainPattern(string idPrefix);
public abstract bool IsSubPattern(string idPrefix);
public abstract string GetPatternDirectoryPath();
public abstract string GetSubPatternDirectoryPath();
public abstract object Clone();
public bool IsRegistered() {
return PatternType != ePatternType.None;
}
}
}