mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-30 02:31:44 +00:00
Initial checkin of unified hierarchy of WPILib 2015
This commit is contained in:
81
wpilibc/src/main/include/Skeleton.h
Normal file
81
wpilibc/src/main/include/Skeleton.h
Normal file
@@ -0,0 +1,81 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2011. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in $(WIND_BASE)/WPILib. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef __SKELETON_H__
|
||||
#define __SKELETON_H__
|
||||
|
||||
/**
|
||||
* Represents Skeleton data from a Kinect device connected to the
|
||||
* Driver Station. See Getting Started with Microsoft Kinect for
|
||||
* FRC and the Kinect for Windows SDK API reference for more information
|
||||
*/
|
||||
class Skeleton
|
||||
{
|
||||
friend class Kinect;
|
||||
public:
|
||||
typedef enum
|
||||
{
|
||||
HipCenter = 0,
|
||||
Spine = 1,
|
||||
ShoulderCenter = 2,
|
||||
Head = 3,
|
||||
ShoulderLeft = 4,
|
||||
ElbowLeft = 5,
|
||||
WristLeft = 6,
|
||||
HandLeft = 7,
|
||||
ShoulderRight = 8,
|
||||
ElbowRight = 9,
|
||||
WristRight = 10,
|
||||
HandRight = 11,
|
||||
HipLeft = 12,
|
||||
KneeLeft = 13,
|
||||
AnkleLeft = 14,
|
||||
FootLeft = 15,
|
||||
HipRight = 16,
|
||||
KneeRight = 17,
|
||||
AnkleRight = 18,
|
||||
FootRight = 19,
|
||||
JointCount = 20
|
||||
} JointTypes;
|
||||
|
||||
typedef enum {kNotTracked, kInferred, kTracked} JointTrackingState;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
float x;
|
||||
float y;
|
||||
float z;
|
||||
JointTrackingState trackingState;
|
||||
} Joint;
|
||||
|
||||
Joint GetHandRight() { return m_joints[HandRight]; }
|
||||
Joint GetHandLeft() { return m_joints[HandLeft]; }
|
||||
Joint GetWristRight() { return m_joints[WristRight]; }
|
||||
Joint GetWristLeft() { return m_joints[WristLeft]; }
|
||||
Joint GetElbowLeft() { return m_joints[ElbowLeft]; }
|
||||
Joint GetElbowRight() { return m_joints[ElbowRight]; }
|
||||
Joint GetShoulderLeft() { return m_joints[ShoulderLeft]; }
|
||||
Joint GetShoulderRight() { return m_joints[ShoulderRight]; }
|
||||
Joint GetShoulderCenter() { return m_joints[ShoulderCenter]; }
|
||||
Joint GetHead() { return m_joints[Head]; }
|
||||
Joint GetSpine() { return m_joints[Spine]; }
|
||||
Joint GetHipCenter() { return m_joints[HipCenter]; }
|
||||
Joint GetHipRight() { return m_joints[HipRight]; }
|
||||
Joint GetHipLeft() { return m_joints[HipLeft]; }
|
||||
Joint GetKneeLeft() { return m_joints[KneeLeft]; }
|
||||
Joint GetKneeRight() { return m_joints[KneeRight]; }
|
||||
Joint GetAnkleLeft() { return m_joints[AnkleLeft]; }
|
||||
Joint GetAnkleRight() { return m_joints[AnkleRight]; }
|
||||
Joint GetFootLeft() { return m_joints[FootLeft]; }
|
||||
Joint GetFootRight() { return m_joints[FootRight]; }
|
||||
Joint GetJointValue(JointTypes index) { return m_joints[index]; }
|
||||
|
||||
private:
|
||||
Joint m_joints[20];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user