コード例 #1
0
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);
}
コード例 #2
0
// 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();

}