IVideoHandle.cs 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Drawing;
  4. using MathNet.Numerics.LinearAlgebra.Single;
  5. namespace bbiwarg.DataSource
  6. {
  7. public enum DetectionStatus
  8. {
  9. Inactive,
  10. Detected,
  11. Tracked
  12. }
  13. public enum HandSide
  14. {
  15. Unknown,
  16. Left,
  17. Right
  18. }
  19. interface IVideoHandle
  20. {
  21. void nextFrame();
  22. short getDepth(int x, int y);
  23. short getConfidence(int x, int y);
  24. Color getColor(int x, int y);
  25. // TODO: implement properly
  26. void createVertexArray(IntPtr vertexBuffer);
  27. Vector pixel2VertexPosition(Vector pixelPosition);
  28. DetectionStatus[] getFingerStatus(uint handIndex);
  29. Vector[] getFingerTipPositions3D(uint handIndex);
  30. Vector getPalmPosition3D(uint handIndex);
  31. Vector getPalmNormal3D(uint handIndex);
  32. Vector getForearmPosition3D(uint handIndex);
  33. Vector getForeFingerPosition3D(uint handIndex);
  34. List<Vector> getHandPoints();
  35. Palm getPalm(uint handIndex);
  36. int getWidth();
  37. int getHeight();
  38. }
  39. }