12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- using System;
- using MathNet.Numerics.LinearAlgebra.Single;
- namespace bbiwarg.DataSource
- {
- public enum DetectionStatus
- {
- 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();
- float getHFOV();
- float getVFOV();
- /**
- * 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);
- DetectionStatus[] getFingerStatus(uint handIndex);
- DetectionStatus getHandStatus(uint handIndex);
- Vector[] getFingerTipPositions3D(uint handIndex);
- Vector[] getFingerTipPositions2D(uint handIndex);
- HandSide getHandSide(uint handIndex);
- }
- }
|