123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- using System;
- using MathNet.Numerics.LinearAlgebra.Single;
- namespace bbiwarg.DataSource
- {
- public enum FingerStatus
- {
- Inactive,
- Detected,
- Tracked
- }
- public enum HandSide
- {
- Unknown,
- Left,
- Right
- }
- /*
- * Interface get data from a camera or a video file.
- * Completely independent of iisu.
- */
- interface IVideoDataSource
- {
- /*
- * Initializes the data source.
- */
- void init();
- /*
- * Starts the recording of data.
- */
- void start();
- /*
- * Stops the recording of data.
- */
- void stop();
- /*
- * Updates the data for the current frame.
- * Needs to be called before any method to read data.
- */
- void updateFrame();
- /*
- * Lets the data source process the next frame.
- */
- void releaseFrame();
- /*
- * Returns true iff new data is generated.
- * (e.g camera is running or video hasn't ended)
- */
- bool isActive();
- int getFrameRate();
- /**
- * The depth is given by the distance to the camera in millimeters.
- */
- DepthImage getDepthImage();
- ColorImage getColorImage();
- ConfidenceImage getConfidenceImage();
- UVImage getUVImage();
- ImageData getImageData();
- /*
- * all handIndices have to be 1 or 2
- */
- bool isHandOpen(uint handIndex);
- Vector getPalmPosition3D(uint handIndex);
- Vector getPalmPosition2D(uint handIndex);
- Vector getTipPosition3D(uint handIndex);
- Vector getForearmPosition3D(uint handIndex);
- Vector getPalmNormal3D(uint handIndex);
- FingerStatus[] getFingerStatus(uint handIndex);
- Vector[] getFingerTipPositions3D(uint handIndex);
- HandSide getHandSide(uint handIndex);
- }
- }
|