using LampInspectionMachine.Cameralibs;
using Prism.Mvvm;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LampInspectionMachine.Model
{
public class CameraInfo : BindableBase
{
private Guid _Id;
public Guid Id
{
get { return _Id; }
set { SetProperty(ref _Id, value); }
}
private string _SerialNumber;
///
/// 相机序列号
///
public string SerialNumber
{
get { return _SerialNumber; }
set { SetProperty(ref _SerialNumber, value); }
}
private bool triggerMode;
private TriggerSource triggeSource;
private TriggerPolarity triggerPolarity;
private ulong expouseTime;
private ushort triggerFilter;
private ushort triggerDelay;
private float gain;
private string _VppFileName;
public bool TriggerMode { get => triggerMode; set { SetProperty(ref triggerMode, value); } }
public TriggerSource TriggeSource { get => triggeSource; set { SetProperty(ref triggeSource, value); } }
public TriggerPolarity TriggerPolarity { get => triggerPolarity; set { SetProperty(ref triggerPolarity, value); } }
public ulong ExpouseTime { get => expouseTime; set { SetProperty(ref expouseTime, value); } }
public ushort TriggerFilter { get => triggerFilter; set { SetProperty(ref triggerFilter, value); } }
public ushort TriggerDelay { get => triggerDelay; set { SetProperty(ref triggerDelay, value); } }
public float Gain { get => gain; set { SetProperty(ref gain, value); } }
public string VppFileName { get => _VppFileName; set { SetProperty(ref _VppFileName, value); } }
private string _CameraName;
///
/// 相机名称
///
public string CameraName
{
get { return _CameraName; }
set { SetProperty(ref _CameraName, value); }
}
private string _Model;
///
/// 相机型号
///
public string Model
{
get { return _Model; }
set { SetProperty(ref _Model, value); }
}
private string _ManufacturerName;
///
/// 厂商名
///
public string ManufacturerName
{
get { return _ManufacturerName; }
set { SetProperty(ref _ManufacturerName, value); }
}
private CameraType _CameraType;
///
/// 相机类型
///
public CameraType CameraType
{
get { return _CameraType; }
set { SetProperty(ref _CameraType, value); }
}
private CameraBrand _CameraBrand;
///
/// 相机品牌
///
public CameraBrand CameraBrand
{
get { return _CameraBrand; }
set { SetProperty(ref _CameraBrand, value); }
}
private string _CameraIp;
public string CameraIp
{
get { return _CameraIp; }
set { SetProperty(ref _CameraIp, value); }
}
public CameraInfo Copy()
{
return new CameraInfo()
{
ExpouseTime = ExpouseTime,
Gain = Gain,
TriggerDelay = TriggerDelay,
TriggerFilter = TriggerFilter,
TriggerPolarity = TriggerPolarity,
TriggeSource = TriggeSource,
VppFileName = VppFileName,
TriggerMode = TriggerMode,
CameraName = this.CameraName,
Model = this.Model,
SerialNumber = this.SerialNumber,
ManufacturerName = this.ManufacturerName,
CameraType = this.CameraType,
CameraBrand = this.CameraBrand,
CameraIp = this.CameraIp
};
}
}
}