using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Misc;
using FObjBase;
using FLY.Thick.Base.IService;
using FLY.Thick.Base.OBJ_INTERFACE;
using FLY.Thick.Base.Common;
namespace FLY.Thick.Base.Client
{
///
/// 边界查找服务 客户代理
///
public class BorderSearchServiceClient: FObjBase.Reflect.Reflect_SeviceClient, IBorderSearchService
{
protected override Type InterfaceType => typeof(IBorderSearchService);
///
/// 边界查找服务 构造
///
///
public BorderSearchServiceClient(UInt32 id) : base(id) { }
///
/// 边界查找服务 构造
///
/// 服务id
/// 连接器
public BorderSearchServiceClient(UInt32 serviceId, string connName) : base(serviceId, connName) { }
#region IBorderSearchService 成员
public bool Enable { get; set; }
///
/// 边界拐点检测,找到的边界更加精确
///
public bool IsBreakDetect { get; set; } = true;
[PropertyChanged.DoNotCheckEquality]
public Range Valid { get; set; } = new Range();
[PropertyChanged.DoNotCheckEquality]
public Range Border_Backw { get; set; } = new Range();
[PropertyChanged.DoNotCheckEquality]
public Range Border_Forw { get; set; } = new Range();
[PropertyChanged.DoNotCheckEquality]
public Range Border { get; set; } = new Range();
///
/// 当前膜宽,测量出来的,单位是 脉冲
///
public int Width { get; set; }
///
/// 膜中间位置 单位 脉冲
///
public int Mid { get; set; }
///
/// 调试数据更新时间
///
public DateTime UpdateTime { get; set; }
///
/// 手动设置温修AD值
///
public bool TempADBySet { get; set; }
public int TempAD { get; set; }
public int TempRange { get; set; }
///
/// 温修范围是温修的百分比
///
public bool IsTempRangeByPercent { get; set; } = true;
///
/// 温修范围百分比
///
public double TempRangePercent { get; set; } = 0.02;
public int N { get; set; }
///
/// 探头直径,单位脉冲, 膜宽 = 边界范围 - 探头直径
///
public int SensorWidth { get; set; }
public int N2 { get; set; }
public int N3 { get; set; }
///
/// 产品宽度,设置值 单位:脉冲
/// 当膜超过范围(没有经过阀值),就使用它,猜边界在哪
///
public int ProductWidth { get; set; }
#endregion
public void GetView(AsyncCBHandler asyncDelegate, object asyncContext)
{
Call("GetView", null, asyncDelegate, asyncContext);
}
public void Apply()
{
Call("Apply");
}
}
}