59 lines
2.0 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|