NiTE 2.0: NiteCTypes.h Source File

NiTE 2.0

NiTE 2.0
NiteCTypes.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 *                                                                              *
00003 *   PrimeSense NiTE 2.0                                                        *
00004 *   Copyright (C) 2012 PrimeSense Ltd.                                         *
00005 *                                                                              *
00006 *******************************************************************************/
00007 
00008 #ifndef _NITE_C_TYPES_H_
00009 #define _NITE_C_TYPES_H_
00010 
00011 #include <OniCTypes.h>
00012 #include "NiteCEnums.h"
00013 
00014 typedef short int NiteUserId;
00015 
00016 typedef struct NiteUserTracker* NiteUserTrackerHandle;
00017 
00018 #define NITE_JOINT_COUNT 15
00019 #define NITE_POSE_COUNT 2
00020 
00022 typedef struct
00023 {
00024     float x, y, z;
00025 } NitePoint3f;
00026 
00028 typedef struct 
00029 {
00030     float x, y, z, w;
00031 } NiteQuaternion;
00032 
00034 typedef struct  
00035 {
00037     NiteJointType jointType;
00038 
00040     NitePoint3f position;
00041     float positionConfidence;
00042 
00044     NiteQuaternion orientation;
00045     float orientationConfidence;
00046 } NiteSkeletonJoint;
00047 
00049 typedef struct  
00050 {
00051     NitePoint3f min;
00052     NitePoint3f max;
00053 } NiteBoundingBox;
00054 
00055 typedef struct
00056 {
00057     NitePoseType type;
00058     int state;
00059 } NitePoseData;
00060 
00062 typedef struct  
00063 {
00064     NiteSkeletonJoint joints[NITE_JOINT_COUNT];
00065     NiteSkeletonState state;
00066 } NiteSkeleton;
00067 
00069 typedef struct  
00070 {
00071     NiteUserId id;
00072     NiteBoundingBox boundingBox;
00073     NitePoint3f centerOfMass;
00074 
00075     int state;
00076 
00077     NiteSkeleton skeleton;
00078 
00079     NitePoseData poses[NITE_POSE_COUNT];
00080 } NiteUserData;
00081 
00083 typedef struct
00084 {
00085     NiteUserId* pixels;
00086 
00087     int width;
00088     int height;
00089 
00090     int stride;
00091 } NiteUserMap;
00092 
00094 typedef struct  
00095 {
00096     NitePoint3f point;
00097     NitePoint3f normal;
00098 } NitePlane;
00099 
00101 typedef struct  
00102 {
00104     int userCount;
00106     NiteUserData* pUser;
00107 
00109     NiteUserMap userMap;
00111     OniFrame* pDepthFrame;
00112 
00113     unsigned long long timestamp;
00114     int frameIndex;
00115 
00117     float floorConfidence;
00119     NitePlane floor;
00120 } NiteUserTrackerFrame;
00121 
00122 typedef struct  
00123 {
00124     OniGeneralCallback readyForNextFrame;
00125 } NiteUserTrackerCallbacks;
00126 
00127 
00128 typedef short int NiteHandId;
00129 
00131 typedef struct
00132 {
00133     NiteHandId id;
00134     NitePoint3f position;
00135     int state;
00136 } NiteHandData;
00137 
00139 typedef struct  
00140 {
00141     NiteGestureType type;
00142     NitePoint3f currentPosition;
00143     int state;
00144 } NiteGestureData;
00145 
00147 typedef struct
00148 {
00150     int handCount;
00152     NiteHandData* pHands;
00153 
00155     int gestureCount;
00157     NiteGestureData* pGestures;
00158 
00160     OniFrame* pDepthFrame;
00161 
00162     unsigned long long timestamp;
00163     int frameIndex;
00164 
00165 } NiteHandTrackerFrame;
00166 
00167 typedef struct  
00168 {
00169     OniGeneralCallback readyForNextFrame;
00170 } NiteHandTrackerCallbacks;
00171 
00172 #define _NITE_DECLARE_VERSION(name)                                                             \
00173   \
00174                                                                                                 \
00175 typedef struct                                                                                  \
00176 {                                                                                               \
00177                         \
00178     int major;                                                                                  \
00179                 \
00180     int minor;                                                                                  \
00181                                                                 \
00183     int maintenance;                                                                            \
00184                                                         \
00186     int build;                                                                                  \
00187 } name;
00188 
00189 _NITE_DECLARE_VERSION(NiteVersion);
00190 
00191 
00192 typedef struct NiteHandTracker* NiteHandTrackerHandle;
00193 
00194 #endif // _NITE_C_TYPES_H_
Generated on Thu Jun 6 2013 17:48:15 for NiTE 2.0 by   doxygen 1.7.5.1