EDSController.cs 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. 
  2. using OTSDataType;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using OTSCLRINTERFACE;
  9. namespace OTSModelSharp.ServiceInterface
  10. {
  11. using OTSCLRINTERFACE;
  12. using System.Drawing;
  13. public class EDSController : IEDSController
  14. {
  15. private COTSControlFunExport eds;
  16. private bool m_init=false;
  17. public EDSController()
  18. {
  19. eds = SemController.hw;
  20. }
  21. public bool GetXRayByFeatures(List<COTSParticleClr> a_listParticles, double a_nXRayAQTime, bool a_bElementInfo)
  22. {
  23. if (!eds.IsConnected())
  24. {
  25. return false;
  26. }
  27. if (!m_init)
  28. {
  29. return false;
  30. }
  31. COTSParticleClr[] parts = a_listParticles.ToArray();
  32. return eds.GetXRayByFeatures((uint)a_nXRayAQTime, parts, a_bElementInfo);
  33. }
  34. public bool GetXRayByPoints(List<COTSParticleClr> a_listParticles, uint a_nXRayAQTime, bool a_bElementInfo)
  35. {
  36. if (!eds.IsConnected())
  37. {
  38. return false;
  39. }
  40. if (!m_init)
  41. {
  42. return false;
  43. }
  44. int xrayNum = a_listParticles.Count;
  45. Point[] Ps = new Point[xrayNum];
  46. for (int i = 0; i < xrayNum; i++)
  47. {
  48. Point p = (Point)a_listParticles[i].GetXRayPos();
  49. Ps[i].X = p.X;
  50. Ps[i].Y = p.Y;
  51. }
  52. COTSParticleClr[] parts = a_listParticles.ToArray();
  53. string[] a_strEleResult = new string[xrayNum];
  54. return eds.GetXRayByPoints(a_nXRayAQTime, Ps,parts, a_bElementInfo);
  55. }
  56. public bool Init()
  57. {
  58. m_init= eds.EDSInit();
  59. return m_init;
  60. }
  61. }
  62. }