void AppStage_ComputeTrackerPoses::request_set_tracker_pose( const PSMovePose *pose, class ClientTrackerView *TrackerView) { // Set the pose on out local tracker view { ClientTrackerInfo &trackerInfo= TrackerView->getTrackerInfoMutable(); trackerInfo.tracker_pose = *pose; } // Update the pose on the service { RequestPtr request(new PSMoveProtocol::Request()); request->set_type(PSMoveProtocol::Request_RequestType_SET_TRACKER_POSE); PSMoveProtocol::Request_RequestSetTrackerPose *set_pose_request = request->mutable_request_set_tracker_pose(); set_pose_request->set_tracker_id(TrackerView->getTrackerId()); copy_pose_to_request(TrackerView->getTrackerPose(), set_pose_request->mutable_pose()); ClientPSMoveAPI::eat_response(ClientPSMoveAPI::send_opaque_request(&request)); } }
void AppStage_ComputeTrackerPoses::request_set_hmd_tracking_space_origin( const struct PSMovePose *pose) { if (m_app->getOpenVRContext()->getIsInitialized()) { m_app->getOpenVRContext()->setHMDTrackingSpaceOrigin(*pose); } // Update the pose on the service { RequestPtr request(new PSMoveProtocol::Request()); request->set_type(PSMoveProtocol::Request_RequestType_SET_HMD_TRACKING_SPACE_ORIGIN); PSMoveProtocol::Request_RequestSetHMDTrackingSpaceOrigin *set_origin_request = request->mutable_request_set_hmd_tracking_space_origin(); copy_pose_to_request(*pose, set_origin_request->mutable_origin_pose()); ClientPSMoveAPI::eat_response(ClientPSMoveAPI::send_opaque_request(&request)); } }