void XN_CALLBACK_TYPE UserTracker::calibrationEndCB( xn::SkeletonCapability &capability, XnUserID nId, XnBool bSuccess, void *pCookie ) { app::console() << "calibration end " << nId << " status " << bSuccess << endl; UserTracker::Obj *obj = static_cast<UserTracker::Obj *>(pCookie); if (bSuccess) { // Calibration succeeded app::console() << "calibration complete for user " << nId << endl; obj->mUserGenerator.GetSkeletonCap().StartTracking(nId); } else { // Calibration failed app::console() << "calibration failed for user " << nId << endl; if (Obj::sNeedPose) { obj->mUserGenerator.GetPoseDetectionCap().StartPoseDetection(Obj::sCalibrationPose, nId); } else { obj->mUserGenerator.GetSkeletonCap().RequestCalibration(nId, TRUE); } } for ( list< Listener *>::const_iterator i = obj->mListeners.begin(); i != obj->mListeners.end(); ++i ) { (*i)->calibrationEnd( UserEvent( nId ) ); } }
void XN_CALLBACK_TYPE UserTracker::lostUserCB( xn::UserGenerator &generator, XnUserID nId, void *pCookie ) { app::console() << "lost user " << nId << endl; UserTracker::Obj *obj = static_cast<UserTracker::Obj *>(pCookie); for ( list< Listener *>::const_iterator i = obj->mListeners.begin(); i != obj->mListeners.end(); ++i ) { (*i)->lostUser( UserEvent( nId ) ); } }
void XN_CALLBACK_TYPE UserTracker::calibrationStartCB( xn::SkeletonCapability &capability, XnUserID nId, void *pCookie ) { app::console() << "calibration start " << nId << endl; UserTracker::Obj *obj = static_cast<UserTracker::Obj *>(pCookie); for ( list< Listener *>::const_iterator i = obj->mListeners.begin(); i != obj->mListeners.end(); ++i ) { (*i)->calibrationStart( UserEvent( nId ) ); } }
void XN_CALLBACK_TYPE UserTracker::newUserCB( xn::UserGenerator &generator, XnUserID nId, void *pCookie ) { app::console() << "new user " << nId << endl; UserTracker::Obj *obj = static_cast<UserTracker::Obj *>(pCookie); if (Obj::sNeedPose) { obj->mUserGenerator.GetPoseDetectionCap().StartPoseDetection(Obj::sCalibrationPose, nId); } else { obj->mUserGenerator.GetSkeletonCap().RequestCalibration(nId, TRUE); } for ( list< Listener *>::const_iterator i = obj->mListeners.begin(); i != obj->mListeners.end(); ++i ) { (*i)->newUser( UserEvent( nId ) ); } }
void GraphicsWindow::OnUserEvent( Ill::Core::UserEventArgs& e ) { UserEvent( e ); }