/* void openni::VideoMode::setResolution() Setter function for the resolution of this VideoMode. Application use of this function is not recommended. Instead, use SensorInfo::getSupportedVideoModes() to obtain a list of valid video modes -- cited from OpenNI2 help. setResolution() is not recommended. */ bool setONI2StreamMode(openni::VideoStream& stream, int w, int h, int fps, openni::PixelFormat format){ //std::cout << "Ask mode: " << w << "x" << h << " " << fps << " fps. format " << format << std::endl; bool found = false; const openni::Array<openni::VideoMode>& modes = stream.getSensorInfo().getSupportedVideoModes(); for(int i = 0, i_end = modes.getSize();i < i_end;++i){ // std::cout << "Mode: " << modes[i].getResolutionX() << "x" << modes[i].getResolutionY() << " " << modes[i].getFps() << " fps. format " << modes[i].getPixelFormat() << std::endl; if(modes[i].getResolutionX() != w){ continue; } if(modes[i].getResolutionY() != h){ continue; } if(modes[i].getFps() != fps){ continue; } if(modes[i].getPixelFormat() != format){ continue; } openni::Status rc = stream.setVideoMode(modes[i]); if(rc != openni::STATUS_OK){ return false; } return true; } return false; }
bool setONI2StreamMode(openni::VideoStream& stream, int w, int h, int fps, openni::PixelFormat format){ /* void openni::VideoMode::setResolution() Setter function for the resolution of this VideoMode. Application use of this function is not recommended. Instead, use SensorInfo::getSupportedVideoModes() to obtain a list of valid video modes -- cited from OpenNI2 help. setResolution() is not recommended. */ bool found = false; const openni::Array<openni::VideoMode>& modes = stream.getSensorInfo().getSupportedVideoModes(); for(int i = 0, i_end = modes.getSize();i < i_end;++i){ if(modes[i].getResolutionX() != w){ continue; } if(modes[i].getResolutionY() != h){ continue; } if(modes[i].getPixelFormat() != format){ continue; } openni::Status rc = stream.setVideoMode(modes[i]); if(rc != openni::STATUS_OK){ printf("%s:Couldn't find RGB stream:\n%s\n", __FUNCTION__, openni::OpenNI::getExtendedError()); return false; } return true; } return false; }
void OpenNI2Interface::printModes(const openni::VideoStream& stream,const openni::VideoMode& requestedMode) { const auto& modes = stream.getSensorInfo().getSupportedVideoModes(); std::cout << "Requested mode:\n"; printMode(requestedMode); std::cout << "Supported modes:\n"; for(int i = 0; i < modes.getSize(); i++) { printMode(modes[i]); } }
bool OpenNI2Interface::isModeSupported(const openni::VideoStream& stream,const openni::VideoMode& mode) { const auto& modes = stream.getSensorInfo().getSupportedVideoModes(); for(int i = 0; i < modes.getSize(); i++) { if(modes[i].getResolutionX() == mode.getResolutionX() && modes[i].getResolutionY() == mode.getResolutionY() && modes[i].getFps() == mode.getFps() && modes[i].getPixelFormat() == mode.getPixelFormat()) { return true; } } return false; }