bool KinectUtil::checkMainJointsConfidence(Skeleton& skeleton) { //if (skeleton.at(NUI_SKELETON_POSITION_HEAD).getTrackingState() == SkeletonBone::NotTracked) { // noTrack ++; //} auto & jrs = skeleton.at(NUI_SKELETON_POSITION_SHOULDER_RIGHT); auto & jls = skeleton.at(NUI_SKELETON_POSITION_SHOULDER_LEFT); auto & jt = skeleton.at(NUI_SKELETON_POSITION_SPINE); bool oneShoulderOK = (jrs.getTrackingState() == SkeletonBone::Tracked || jls.getTrackingState() == SkeletonBone::Tracked); return (jt.getTrackingState() == SkeletonBone::Tracked && oneShoulderOK); }
// Draw segment void KinectApp::drawSegment( const Skeleton & skeleton, const vector<JointName> & joints ) { // Draw lines between each joint glBegin( GL_LINES ); for ( uint32_t i = 0; i < joints.size() - 1; i++ ) { gl::vertex( skeleton.at( joints[ i ] ) * Vec3f( -1.0f, 1.0f, 1.0f ) ); gl::vertex( skeleton.at( joints[ i + 1 ] ) * Vec3f( -1.0f, 1.0f, 1.0f ) ); } glEnd(); }