// Update the tracked users, should be called each frame //---------------------------------------- void ofxUserGenerator::update() { found_users = MAX_NUMBER_USERS; XnUserID* users = new XnUserID[MAX_NUMBER_USERS]; user_generator.GetUsers(users, found_users); for(int i = 0; i < found_users; ++i) { if(user_generator.GetSkeletonCap().IsTracking(users[i])) { tracked_users[i]->id = users[i]; tracked_users[i]->updateBonePositions(); } } delete [] users; if (useMaskPixels) updateUserPixels(); if (useCloudPoints) updateCloudPoints(); }
// Update the tracked users, should be called each frame //---------------------------------------- void ofxUserGenerator::update() { found_users = max_num_users; XnUserID* users = new XnUserID[max_num_users]; user_generator.GetUsers(users, found_users); for(int i = 0; i < found_users; ++i) { if(user_generator.GetSkeletonCap().IsTracking(users[i])) { tracked_users[i]->id = users[i]; user_generator.GetCoM(users[i], tracked_users[i]->center); tracked_users[i]->skeletonTracking = user_generator.GetSkeletonCap().IsTracking(users[i]); tracked_users[i]->skeletonCalibrating = user_generator.GetSkeletonCap().IsCalibrating(users[i]); tracked_users[i]->skeletonCalibrated = user_generator.GetSkeletonCap().IsCalibrated(users[i]); if(tracked_users[i]->skeletonTracking) tracked_users[i]->updateBonePositions(); } } delete [] users; if (useMaskPixels) updateUserPixels(); if (useCloudPoints) updateCloudPoints(); }