URMMeasure.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System.Runtime.InteropServices;
  2. using System.Text;
  3. using Vinno.DataTypes;
  4. using Vinno.Infrastructure;
  5. using Vinno.Services.ServiceManagerImpl;
  6. namespace WingAIDiagnosisService.URMManage
  7. {
  8. public class URMMeasure
  9. {
  10. private URMMeasureAlg _urmMeasureAlg;
  11. public URMMeasure(URMProcess processor)
  12. {
  13. _urmMeasureAlg = new URMMeasureAlg(processor);
  14. }
  15. public void SetScreenSize(int width, int height)
  16. {
  17. _urmMeasureAlg._URMDenMeasureImg.Resize(width * height);
  18. _urmMeasureAlg._URMVelMeasureImg.Resize(width * height);
  19. }
  20. public URMMeasureDataOutput CalURMData(URMMeasureDataInput arg, int screenWidth, int screenHeight, double urmMaxVel, double urmMinVel)
  21. {
  22. SetScreenSize(screenWidth, screenHeight);
  23. var inparam = (URMMeasureDataInput)arg;
  24. var outresult = new URMMeasureDataOutput();
  25. if (screenWidth > 1 && screenHeight > 1)
  26. {
  27. outresult = _urmMeasureAlg.CalURMMeasureData(inparam, screenWidth, screenHeight, urmMaxVel, urmMinVel);
  28. outresult.ResultFlag = true;
  29. }
  30. return outresult;
  31. }
  32. public void Dispose()
  33. {
  34. _urmMeasureAlg.Relase();
  35. }
  36. }
  37. }