using OTSDataType; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using OTSCLRINTERFACE; namespace OTSModelSharp.ServiceInterface { using OTSCLRINTERFACE; using System.Drawing; public class EDSController : IEDSController { private COTSControlFunExport eds; private bool m_init=false; public EDSController() { eds = SemController.hw; } public bool GetXRayByFeatures(List a_listParticles, double a_nXRayAQTime, bool a_bElementInfo) { if (!eds.IsConnected()) { return false; } if (!m_init) { return false; } COTSParticleClr[] parts = a_listParticles.ToArray(); return eds.GetXRayByFeatures((uint)a_nXRayAQTime, parts, a_bElementInfo); } public bool GetXRayByPoints(List a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo) { if (!eds.IsConnected()) { return false; } if (!m_init) { return false; } int xrayNum = a_listParticles.Count; Point[] Ps = new Point[xrayNum]; for (int i = 0; i < xrayNum; i++) { Point p = (Point)a_listParticles[i].GetXRayPos(); Ps[i].X = p.X; Ps[i].Y = p.Y; } COTSParticleClr[] parts = a_listParticles.ToArray(); string[] a_strEleResult = new string[xrayNum]; return eds.GetXRayByPoints(a_nXRayAQTime, Ps,parts, a_bElementInfo); } public bool Init() { m_init= eds.EDSInit(); return m_init; } } }