LoggingZEDManager.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Assets.Logging;
  7. using Palmmedia.ReportGenerator.Core.Logging;
  8. using sl;
  9. using static ZEDManager;
  10. namespace Assets.ZED.SDK.Helpers.Scripts
  11. {
  12. internal class LoggingZEDManager : IZEDManager
  13. {
  14. readonly ZEDManager zedManager;
  15. readonly ILogger<DetectionFrame> detectionFrameLogger;
  16. public LoggingZEDManager(ZEDManager zedManager, ILogger<DetectionFrame> detectionFrameLogger)
  17. {
  18. this.zedManager = zedManager;
  19. this.detectionFrameLogger = detectionFrameLogger;
  20. zedManager.OnObjectDetection += ZedManager_OnObjectDetection;
  21. }
  22. void ZedManager_OnObjectDetection(DetectionFrame objFrame)
  23. {
  24. detectionFrameLogger.Log(objFrame);
  25. }
  26. public bool IsObjectDetectionRunning => zedManager.IsObjectDetectionRunning;
  27. public bool EstimateInitialPosition => zedManager.EstimateInitialPosition;
  28. public DETECTION_MODEL ObjectDetectionModel => zedManager.ObjectDetectionModel;
  29. public event ZEDManager.onNewDetectionTriggerDelegate OnObjectDetection
  30. {
  31. add => zedManager.OnObjectDetection += value;
  32. remove => zedManager.OnObjectDetection -= value;
  33. }
  34. public event ZEDManager.OnZEDManagerReady OnZEDReady
  35. {
  36. add => zedManager.OnZEDReady += value;
  37. remove => zedManager.OnZEDReady -= value;
  38. }
  39. public void StartObjectDetection()
  40. {
  41. zedManager.StartObjectDetection();
  42. }
  43. }
  44. }