using Bro.Common.Base;
|
using Bro.Common.Helper;
|
using System;
|
using System.Collections.Generic;
|
using System.ComponentModel;
|
using System.Linq;
|
using System.Text;
|
using System.Threading.Tasks;
|
using System.Globalization;
|
using System.Collections;
|
using MvCamCtrl.NET;
|
using System.Runtime.InteropServices;
|
using System.Drawing.Design;
|
|
namespace Bro.Device.HikCamera
|
{
|
[Device("HikCamera", "海康相机", EnumHelper.DeviceAttributeType.OperationConfig)]
|
public class HikCameraOperationConfig : HalconRelatedCameraOprerationConfigBase
|
{
|
}
|
|
public class HikCameraDeviceConfig : CameraDeviceConfigBase
|
{
|
}
|
|
[Device("HikCamera", "海康相机", EnumHelper.DeviceAttributeType.InitialConfig)]
|
public class HikCameraInitialConfig : HalconRelatedCameraInitialConfigBase, INotifyPropertyChanged
|
{
|
[Category("采图模式")]
|
[Description("是否连续模式。true:连续模式采图;false:触发模式采图")]
|
public bool IsContinueMode { get; set; } = false;
|
|
private bool isHardwareTrigger = false;
|
[Category("采图模式")]
|
[Description("是否硬触发模式。true:硬触发;false:软触发")]
|
public bool IsHardwareTrigger
|
{
|
get => isHardwareTrigger;
|
set
|
{
|
if (isHardwareTrigger != value)
|
{
|
isHardwareTrigger = value;
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("IsHardwareTrigger"));
|
}
|
}
|
}
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
}
|
|
public class HikCameraInputConfig : CameraInputConfigBase
|
{
|
}
|
|
//public class HikCameraTypeConvert : ComboBoxItemTypeConvert
|
//{
|
// public override void GetConvertHash()
|
// {
|
// _hash.Add("1", "GIGE");
|
// _hash.Add("4", "USB");
|
// }
|
//}
|
|
//public class HikSerialNumConvert : StringConverter
|
//{
|
// public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
|
// {
|
// return true;
|
// }
|
|
// public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
|
// {
|
// List<string> serialNumList = new List<string>();
|
// MyCamera.MV_CC_DEVICE_INFO_LIST m_pDeviceList = default(MyCamera.MV_CC_DEVICE_INFO_LIST);
|
|
// int nRet = CameraOperator.EnumDevices(MyCamera.MV_GIGE_DEVICE | MyCamera.MV_USB_DEVICE, ref m_pDeviceList);
|
// if (0 != nRet)
|
// {
|
// return null;
|
// }
|
|
// for (int i = 0; i < m_pDeviceList.nDeviceNum; i++)
|
// {
|
// MyCamera.MV_CC_DEVICE_INFO device = (MyCamera.MV_CC_DEVICE_INFO)Marshal.PtrToStructure(m_pDeviceList.pDeviceInfo[i], typeof(MyCamera.MV_CC_DEVICE_INFO));
|
// if (device.nTLayerType == MyCamera.MV_GIGE_DEVICE)
|
// {
|
// IntPtr buffer = Marshal.UnsafeAddrOfPinnedArrayElement(device.SpecialInfo.stGigEInfo, 0);
|
// MyCamera.MV_GIGE_DEVICE_INFO gigeInfo = (MyCamera.MV_GIGE_DEVICE_INFO)Marshal.PtrToStructure(buffer, typeof(MyCamera.MV_GIGE_DEVICE_INFO));
|
// serialNumList.Add(gigeInfo.chSerialNumber);
|
|
// }
|
// else if (device.nTLayerType == MyCamera.MV_USB_DEVICE)
|
// {
|
// IntPtr buffer = Marshal.UnsafeAddrOfPinnedArrayElement(device.SpecialInfo.stUsb3VInfo, 0);
|
// MyCamera.MV_USB3_DEVICE_INFO usbInfo = (MyCamera.MV_USB3_DEVICE_INFO)Marshal.PtrToStructure(buffer, typeof(MyCamera.MV_USB3_DEVICE_INFO));
|
// serialNumList.Add(usbInfo.chSerialNumber);
|
// }
|
// }
|
|
// return new StandardValuesCollection(serialNumList);
|
// }
|
//}
|
}
|