PalmTouchDetector.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using bbiwarg.Detectors.Fingers;
  7. using bbiwarg.Detectors.Palm;
  8. using bbiwarg.Utility;
  9. namespace bbiwarg.Detectors.Touch
  10. {
  11. class PalmTouchDetector
  12. {
  13. private List<PalmTouchEvent> palmTouchEvents;
  14. public PalmTouchDetector(List<TouchEvent> touchEvents, PalmRect palm) {
  15. palmTouchEvents = new List<PalmTouchEvent>();
  16. foreach (TouchEvent touchEvent in touchEvents) {
  17. if (palm.isWithinMargin(touchEvent.Position)) {
  18. Vector2D relativePalmPosition = palm.getRelativePosition(touchEvent.Position);
  19. PalmTouchEvent pte = new PalmTouchEvent(touchEvent.Position, relativePalmPosition, touchEvent.FloodValue, touchEvent.Finger, palm);
  20. palmTouchEvents.Add(pte);
  21. }
  22. }
  23. }
  24. public List<PalmTouchEvent> getPalmTouchEvents() {
  25. return palmTouchEvents;
  26. }
  27. }
  28. }