146 lines
3.3 KiB
C++
146 lines
3.3 KiB
C++
#ifndef NUICORE_WRAPPER_H
|
|
#define NUICORE_WRAPPER_H
|
|
|
|
#include <DirectXMath.h>
|
|
|
|
namespace Microsoft
|
|
{
|
|
namespace Xbox
|
|
{
|
|
namespace Input
|
|
{
|
|
namespace Nui
|
|
{
|
|
const UINT32 NUI_BODY_COUNT = 6;
|
|
const UINT32 NUI_BODY_INVALID_TRACKING_ID = 0;
|
|
|
|
enum NUI_SKELETON_JOINT_INDEX
|
|
{
|
|
NUI_SKELETON_JOINT_SPINE_BASE = 0,
|
|
NUI_SKELETON_JOINT_SPINE_MID,
|
|
NUI_SKELETON_JOINT_NECK,
|
|
NUI_SKELETON_JOINT_HEAD,
|
|
NUI_SKELETON_JOINT_SHOULDER_LEFT,
|
|
NUI_SKELETON_JOINT_ELBOW_LEFT,
|
|
NUI_SKELETON_JOINT_WRIST_LEFT,
|
|
NUI_SKELETON_JOINT_HAND_LEFT,
|
|
NUI_SKELETON_JOINT_SHOULDER_RIGHT,
|
|
NUI_SKELETON_JOINT_ELBOW_RIGHT,
|
|
NUI_SKELETON_JOINT_WRIST_RIGHT,
|
|
NUI_SKELETON_JOINT_HAND_RIGHT,
|
|
NUI_SKELETON_JOINT_HIP_LEFT,
|
|
NUI_SKELETON_JOINT_KNEE_LEFT,
|
|
NUI_SKELETON_JOINT_ANKLE_LEFT,
|
|
NUI_SKELETON_JOINT_FOOT_LEFT,
|
|
NUI_SKELETON_JOINT_HIP_RIGHT,
|
|
NUI_SKELETON_JOINT_KNEE_RIGHT,
|
|
NUI_SKELETON_JOINT_ANKLE_RIGHT,
|
|
NUI_SKELETON_JOINT_FOOT_RIGHT,
|
|
NUI_SKELETON_JOINT_SPINE_SHOULDER,
|
|
NUI_SKELETON_JOINT_HAND_TIP_LEFT,
|
|
NUI_SKELETON_JOINT_THUMB_LEFT,
|
|
NUI_SKELETON_JOINT_HAND_TIP_RIGHT,
|
|
NUI_SKELETON_JOINT_THUMB_RIGHT,
|
|
NUI_SKELETON_JOINT_COUNT
|
|
};
|
|
|
|
enum NUI_SKELETON_JOINT_TRACKING_STATE
|
|
{
|
|
NUI_SKELETON_JOINT_NOT_TRACKED = 0,
|
|
NUI_SKELETON_JOINT_INFERRED,
|
|
NUI_SKELETON_JOINT_TRACKED
|
|
};
|
|
|
|
enum NUI_BODY_TRACKING_STATE
|
|
{
|
|
NUI_BODY_NOT_TRACKED = 0,
|
|
NUI_BODY_TRACKED
|
|
};
|
|
|
|
enum NUI_HAND_HANDEDNESS
|
|
{
|
|
NUI_HAND_LEFT = 0,
|
|
NUI_HAND_RIGHT,
|
|
|
|
NUI_HAND_HANDEDNESS_COUNT
|
|
};
|
|
|
|
enum NUI_HAND_CONFIDENCE
|
|
{
|
|
NUI_HAND_CONFIDENCE_NONE = 0,
|
|
NUI_HAND_CONFIDENCE_LOW,
|
|
NUI_HAND_CONFIDENCE_HIGH,
|
|
|
|
NUI_HAND_CONFIDENCE_COUNT
|
|
};
|
|
|
|
enum NUI_HAND_TRACKING_STATE
|
|
{
|
|
NUI_HAND_TRACKING_STATE_NOT_TRACKED = 0,
|
|
NUI_HAND_TRACKING_STATE_INFERRED,
|
|
NUI_HAND_TRACKING_STATE_TRACKED,
|
|
|
|
NUI_HAND_TRACKING_STATE_COUNT
|
|
};
|
|
|
|
enum NUI_HAND_STATE
|
|
{
|
|
NUI_HAND_OPEN = 0,
|
|
NUI_HAND_CLOSED,
|
|
NUI_HAND_LASSO,
|
|
|
|
NUI_HAND_UNKNOWN,
|
|
NUI_HAND_STATE_COUNT
|
|
};
|
|
|
|
struct NUI_HAND_DATA
|
|
{
|
|
NUI_HAND_STATE HandState;
|
|
NUI_HAND_TRACKING_STATE HandTrackingState;
|
|
NUI_HAND_CONFIDENCE HandConfidence;
|
|
};
|
|
|
|
enum NUI_FITNESS_TRACKING_STATE
|
|
{
|
|
NUI_FITNESS_NOT_TRACKED = 0,
|
|
NUI_FITNESS_TRACKED,
|
|
NUI_FITNESS_INFERRED
|
|
};
|
|
|
|
struct NUI_FITNESS_DATA
|
|
{
|
|
float Met;
|
|
NUI_FITNESS_TRACKING_STATE TrackingState;
|
|
};
|
|
|
|
struct NUI_BODY_DATA
|
|
{
|
|
DirectX::XMVECTOR SkeletonJointPositions[NUI_SKELETON_JOINT_COUNT];
|
|
DirectX::XMVECTOR SkeletonJointOrientations[NUI_SKELETON_JOINT_COUNT];
|
|
NUI_SKELETON_JOINT_TRACKING_STATE SkeletonJointPositionTrackingStates[NUI_SKELETON_JOINT_COUNT];
|
|
NUI_HAND_DATA HandData[NUI_HAND_HANDEDNESS_COUNT];
|
|
UINT64 TrackingID;
|
|
NUI_BODY_TRACKING_STATE TrackingState;
|
|
NUI_FITNESS_DATA FitnessData;
|
|
UINT32 QualityFlags;
|
|
};
|
|
|
|
struct NUI_BODY_FRAME
|
|
{
|
|
DirectX::XMVECTOR FloorClipPlane;
|
|
DirectX::XMVECTOR Up;
|
|
NUI_BODY_DATA BodyData[NUI_BODY_COUNT];
|
|
UINT32 QualityFlags;
|
|
};
|
|
|
|
struct NUI_FRAME
|
|
{
|
|
UINT64 TimeCounter;
|
|
UINT32 FrameNumber;
|
|
};
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#endif // NUICORE_WRAPPER_H
|