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 1.7.5.1