本文整理汇总了C++中VideoMode类的典型用法代码示例。如果您正苦于以下问题:C++ VideoMode类的具体用法?C++ VideoMode怎么用?C++ VideoMode使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了VideoMode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
void XtionDepthDriverImpl::setDepthCameraResolution(const DepthResolution resolution)
{
_stream.stop();
VideoMode mode = _stream.getVideoMode();
if(resolution == DEPTH_RESOLUTION_320_240) {
mode.setResolution(320, 240);
} else if(resolution == DEPTH_RESOLUTION_640_480) {
mode.setResolution(640, 480);
} else {
_stream.start();
throw Exception("Invalid resolution");
}
Status rc = _stream.setVideoMode(mode);
if (rc != STATUS_OK) {
_stream.start();
throw Exception(std::string("Set the resolution failed with\n")
+ OpenNI::getExtendedError());
}
rc = _stream.start();
if(rc != STATUS_OK) {
// how handle this?!
close();
throw Exception("Unable to start the depth stream");
}
}
示例2: initializeVideo
void TouchTracking::initializeVideo()
{
OpenNI::initialize();
if (device.open(ANY_DEVICE) != STATUS_OK)
{
throw std::runtime_error("could not open any device!");
}
if (!device.hasSensor(SENSOR_DEPTH))
{
throw std::runtime_error("sensor cannot receive depth!");
}
auto info = device.getSensorInfo(SENSOR_DEPTH);
auto& modes = info->getSupportedVideoModes();
//std::cout << "depth sensor supported modes:\r\n";
for (int i = 0; i < modes.getSize(); ++i)
{
m_videoModes.push_back(modes[i]);
//std::cout << "pixel format: " << mode.getPixelFormat() << "\t with: " << mode.getResolutionX() << "x" << mode.getResolutionY() << "@" << mode.getFps() << " fps\r\n";
}
VideoMode mode;
mode.setFps(60);
mode.setPixelFormat(PIXEL_FORMAT_DEPTH_1_MM);
mode.setResolution(320, 240);
videoMode(mode);
stream.setMirroringEnabled(false);
}
示例3: printVideoMode
void DeviceController::printVideoMode(VideoMode mode)
{
PixelFormat pixelFormat = mode.getPixelFormat();
string pixelFormatName;
switch (pixelFormat)
{
case PIXEL_FORMAT_DEPTH_1_MM:
{
pixelFormatName = "PIXEL_FORMAT_DEPTH_1_MM";
break;
}
case PIXEL_FORMAT_DEPTH_100_UM:
{
pixelFormatName = "PIXEL_FORMAT_DEPTH_100_UM";
break;
}
case PIXEL_FORMAT_SHIFT_9_2:
{
pixelFormatName = "PIXEL_FORMAT_SHIFT_9_2";
break;
}
case PIXEL_FORMAT_SHIFT_9_3:
{
pixelFormatName = "PIXEL_FORMAT_SHIFT_9_3";
break;
}
case PIXEL_FORMAT_RGB888:
{
pixelFormatName = "PIXEL_FORMAT_RGB888";
break;
}
case PIXEL_FORMAT_YUV422:
{
pixelFormatName = "PIXEL_FORMAT_YUV422";
break;
}
case PIXEL_FORMAT_GRAY8:
{
pixelFormatName = "PIXEL_FORMAT_GRAY8";
break;
}
case PIXEL_FORMAT_GRAY16:
{
pixelFormatName = "PIXEL_FORMAT_GRAY16";
break;
}
case PIXEL_FORMAT_JPEG:
{
pixelFormatName = "PIXEL_FORMAT_JPEG";
break;
}
}
ofLogVerbose() << "PixelFormat: " << pixelFormatName;
ofLogVerbose() << "ResolutionX: " << mode.getResolutionX();
ofLogVerbose() << "ResolutionY: " << mode.getResolutionY();
ofLogVerbose() << "FPS: " << mode.getFps();
}
示例4: Exception
void XtionDepthDriverImpl::open()
{
if(_device.isValid()) return;
Status rc = _device.open(ANY_DEVICE);
if(rc != STATUS_OK) {
throw Exception(std::string("Open the device failed with\n")
+ OpenNI::getExtendedError());
}
_device.open(ANY_DEVICE);
if(!_device.getSensorInfo(SENSOR_DEPTH)) {
_device.close();
throw Exception("Device has no depth sensor!");
}
rc = _stream.create(_device, SENSOR_DEPTH);
if(rc != STATUS_OK) {
_device.close();
throw Exception(std::string("Create the depth stream failed with\n")
+ OpenNI::getExtendedError());
}
VideoMode mode = _stream.getVideoMode();
mode.setPixelFormat(PIXEL_FORMAT_DEPTH_1_MM);
rc = _stream.setVideoMode(mode);
if(rc != STATUS_OK) {
throw Exception(std::string("Set the pixel format to "
"PIXEL_FORMAT_DEPTH_1_MM failed with\n")
+ OpenNI::getExtendedError());
}
rc = _stream.start();
if(rc != STATUS_OK) {
_stream.destroy();
_device.close();
throw Exception(std::string("Starting the depth stream failed with\n")
+ OpenNI::getExtendedError());
}
rc = _stream.addNewFrameListener(this);
if(rc != STATUS_OK) {
_stream.stop();
_stream.destroy();
_device.close();
throw Exception(std::string("Adding the frame listener failed with\n")
+ OpenNI::getExtendedError());
}
}
示例5: depthCameraResolution
DepthResolution XtionDepthDriverImpl::depthCameraResolution() const
{
const VideoMode mode = _stream.getVideoMode();
int res_x = mode.getResolutionX();
int res_y = mode.getResolutionY();
if((res_x == 320) && (res_y = 240)) {
return DEPTH_RESOLUTION_320_240;
} else if((res_x == 640) && (res_y = 480)) {
return DEPTH_RESOLUTION_640_480;
}
return DEPTH_INVALID_RESOLUTION;
}
示例6: open
void AVForm::open(const QString &devName, const VideoMode &mode)
{
QRect rect = mode.toRect();
Settings::getInstance().setCamVideoRes(rect);
Settings::getInstance().setCamVideoFPS(static_cast<quint16>(mode.FPS));
camera.open(devName, mode);
}
示例7: currentThreadId
void Renderer::initialize(bool fs, int mode) {
fullscreen = fs;
if (!renderThreadId)
renderThreadId = currentThreadId();
else
CHECK(currentThreadId() == *renderThreadId);
CHECK(!getResolutions().empty()) << sf::VideoMode::getFullscreenModes().size() << " " << int(sf::VideoMode::getDesktopMode().bitsPerPixel);
CHECK(mode >= 0 && mode < getResolutions().size()) << mode << " " << getResolutions().size();
VideoMode vMode = getResolutions()[mode];
CHECK(vMode.isValid()) << "Video mode invalid: " << int(vMode.width) << " " << int(vMode.height) << " " << int(vMode.bitsPerPixel) << " " << fs;
if (fullscreen)
display.create(vMode, "KeeperRL", sf::Style::Fullscreen);
else
display.create(sf::VideoMode::getDesktopMode(), "KeeperRL");
sfView = new sf::View(display.getDefaultView());
display.setVerticalSyncEnabled(true);
}
示例8: Game
Game() {
getLog().addDevice( new StreamLogDevice(std::cout) );
win_.reset ( new Window( *this ) );
inp_.reset ( new Input( *this ) );
scene_.reset ( new ChcSceneManager(*this) );
asmg_.reset ( new AssetManager( *this ) );
asmg_->addContentFactory< ImageContent >( "img" );
auto vms = VideoMode::getAvailable();
std::sort( vms.begin(), vms.end(),
[]( VideoMode &a, VideoMode &b ) {
return a.getWidth() < b.getWidth();
}
);
VideoMode vm = vms.back();
vm.setFullscreen( true );
//vm.setSize( 1920, 800 );
vm.setVSync(true);
vm.setDecorated( true );
vm.setBpp( 32 );
win_->setVideoMode( vm );
addTask( *win_ );
addTask( *inp_ );
win_->addTask( *scene_ );
inp_->addInputListener(*this);
setupGL();
loadTexture();
createCamera();
createLevel();
ctrl_.reset( new CameraControl( *this ) );
ctrl_->connect();
BlockPlacer *pl = new BlockPlacer( *world_ );
inp_->addInputListener( *pl );
scene_->getRoot().createChild().attachEntity( *pl );
}
示例9: assert
void AVForm::on_videoModescomboBox_currentIndexChanged(int index)
{
assert(0 <= index && index < videoModes.size());
int devIndex = videoDevCombobox->currentIndex();
assert(0 <= devIndex && devIndex < videoDeviceList.size());
QString devName = videoDeviceList[devIndex].first;
VideoMode mode = videoModes[index];
if (CameraDevice::isScreen(devName) && mode == VideoMode())
{
if (Settings::getInstance().getScreenGrabbed())
{
VideoMode mode(Settings::getInstance().getScreenRegion());
open(devName, mode);
return;
}
// note: grabber is self-managed and will destroy itself when done
ScreenshotGrabber* screenshotGrabber = new ScreenshotGrabber;
auto onGrabbed = [screenshotGrabber, devName, this] (QRect region)
{
VideoMode mode(region);
mode.width = mode.width / 2 * 2;
mode.height = mode.height / 2 * 2;
// Needed, if the virtual screen origin is the top left corner of the primary screen
QRect screen = QApplication::primaryScreen()->virtualGeometry();
mode.x += screen.x();
mode.y += screen.y();
Settings::getInstance().setScreenRegion(mode.toRect());
Settings::getInstance().setScreenGrabbed(true);
open(devName, mode);
};
connect(screenshotGrabber, &ScreenshotGrabber::regionChosen, this, onGrabbed, Qt::QueuedConnection);
screenshotGrabber->showGrabber();
return;
}
Settings::getInstance().setScreenGrabbed(false);
open(devName, mode);
}
示例10: close
void Window::create(VideoMode mode, const String& title, Uint32 style, const ContextSettings& settings)
{
// Destroy the previous window implementation
close();
// Fullscreen style requires some tests
if (style & Style::Fullscreen)
{
// Make sure there's not already a fullscreen window (only one is allowed)
if (fullscreenWindow)
{
err() << "Creating two fullscreen windows is not allowed, switching to windowed mode" << std::endl;
style &= ~Style::Fullscreen;
}
else
{
// Make sure that the chosen video mode is compatible
if (!mode.isValid())
{
err() << "The requested video mode is not available, switching to a valid mode" << std::endl;
mode = VideoMode::getFullscreenModes()[0];
}
// Update the fullscreen window
fullscreenWindow = this;
}
}
// Check validity of style according to the underlying platform
#if defined(SFML_SYSTEM_IOS) || defined(SFML_SYSTEM_ANDROID)
if (style & Style::Fullscreen)
style &= ~Style::Titlebar;
else
style |= Style::Titlebar;
#else
if ((style & Style::Close) || (style & Style::Resize))
style |= Style::Titlebar;
#endif
// Recreate the window implementation
m_impl = priv::WindowImpl::create(mode, title, style, settings);
// Recreate the context
m_context = priv::GlContext::create(settings, m_impl, mode.bitsPerPixel);
// Perform common initializations
initialize();
}
示例11: init
void CVideoSourceKinect::initPlayer(std::string& strPathFileName_){
init();
_nMode = PLAYING_BACK;
PRINTSTR("Initialize OpenNI Player...");
//inizialization
Status nRetVal = openni::OpenNI::initialize();
printf("After initialization:\n%s\n", openni::OpenNI::getExtendedError());
nRetVal = _device.open(strPathFileName_.c_str()); CHECK_RC_(nRetVal, "Open oni file");
nRetVal = _depth.create(_device, openni::SENSOR_DEPTH); CHECK_RC_(nRetVal, "Initialize _cContext");
nRetVal = _color.create(_device, openni::SENSOR_COLOR); CHECK_RC_(nRetVal, "Initialize _cContext");
nRetVal = _depth.start(); CHECK_RC_(nRetVal, "Create depth video stream fail");
nRetVal = _color.start(); CHECK_RC_(nRetVal, "Create color video stream fail");
if (_depth.isValid() && _color.isValid())
{
VideoMode depthVideoMode = _depth.getVideoMode();
VideoMode colorVideoMode = _color.getVideoMode();
int depthWidth = depthVideoMode.getResolutionX();
int depthHeight = depthVideoMode.getResolutionY();
int colorWidth = colorVideoMode.getResolutionX();
int colorHeight = colorVideoMode.getResolutionY();
if (depthWidth != colorWidth || depthHeight != colorHeight)
{
printf("Warning - expect color and depth to be in same resolution: D: %dx%d, C: %dx%d\n",
depthWidth, depthHeight,
colorWidth, colorHeight);
//return ;
}
}
_streams = new VideoStream*[2];
_streams[0] = &_depth;
_streams[1] = &_color;
// set as the highest resolution 0 for 480x640
//register the depth generator with the image generator
if ( _nRawDataProcessingMethod == BIFILTER_IN_ORIGINAL || _nRawDataProcessingMethod == BIFILTER_IN_DISPARITY ){
nRetVal = _device.setImageRegistrationMode(IMAGE_REGISTRATION_DEPTH_TO_COLOR);
//nRetVal = _depth.GetAlternativeViewPointCap().getGLModelViewMatrixPoint ( _color ); CHECK_RC_ ( nRetVal, "Getting and setting AlternativeViewPoint failed: " );
// Set Hole Filter
_device.setDepthColorSyncEnabled(TRUE);
}//if (_bUseNIRegistration)
PRINTSTR(" Done.");
return;
}//initPlayer()
示例12: close
void Window::create(VideoMode mode, const String& title, Uint32 style, const ContextSettings& settings)
{
// Destroy the previous window implementation
close();
// Fullscreen style requires some tests
if (style & Style::Fullscreen)
{
// Make sure there's not already a fullscreen window (only one is allowed)
if (fullscreenWindow)
{
err() << "Creating two fullscreen windows is not allowed, switching to windowed mode" << std::endl;
style &= ~Style::Fullscreen;
}
else
{
// Make sure that the chosen video mode is compatible
if (!mode.isValid())
{
err() << "The requested video mode is not available, switching to a valid mode" << std::endl;
mode = VideoMode::getFullscreenModes()[0];
}
// Update the fullscreen window
fullscreenWindow = this;
}
}
// Check validity of style
if ((style & Style::Close) || (style & Style::Resize))
style |= Style::Titlebar;
// Recreate the window implementation
m_impl = priv::WindowImpl::create(mode, title, style);
m_impl->onDragDrop.connect(sigc::mem_fun(this, &Window::RedirectDragDrop));
// Recreate the context
m_context = priv::GlContext::create(settings, m_impl, mode.bitsPerPixel);
// Perform common initializations
initialize();
}
示例13: Close
void Window::Create(VideoMode mode, const std::string& title, unsigned long style, const ContextSettings& settings)
{
// Destroy the previous window implementation
Close();
// Fullscreen style requires some tests
if (style & Style::Fullscreen)
{
// Make sure there's not already a fullscreen window (only one is allowed)
if (fullscreenWindow)
{
Err() << "Creating two fullscreen windows is not allowed, switching to windowed mode" << std::endl;
style &= ~Style::Fullscreen;
}
else
{
// Make sure that the chosen video mode is compatible
if (!mode.IsValid())
{
Err() << "The requested video mode is not available, switching to a valid mode" << std::endl;
mode = VideoMode::GetFullscreenModes()[0];
}
// Update the fullscreen window
fullscreenWindow = this;
}
}
// Check validity of style
if ((style & Style::Close) || (style & Style::Resize))
style |= Style::Titlebar;
// Recreate the window implementation
myWindow = priv::WindowImpl::New(mode, title, style);
// Recreate the context
myContext = priv::GlContext::New(myWindow, mode.BitsPerPixel, settings);
// Perform common initializations
Initialize();
}
示例14: close
void Window::create(VideoMode mode, const std::string& title, Uint32 style, const ContextSettings& settings)
{
// Destroy the previous window implementation
close();
// Fullscreen style requires some tests
if (style & Style::Fullscreen)
{
// Make sure there's not already a fullscreen window (only one is allowed)
if (fullscreenWindow)
{
style &= ~Style::Fullscreen;
}
else
{
// Make sure that the chosen video mode is compatible
if (!mode.isValid())
{
mode = VideoMode::getFullscreenModes()[0];
}
// Update the fullscreen window
fullscreenWindow = this;
}
}
// Check validity of style
if ((style & Style::Close) || (style & Style::Resize))
style |= Style::Titlebar;
// Recreate the window implementation
m_impl = priv::WindowImplWin32::create(mode, title, style, settings);
// Recreate the context
m_context = priv::GlContext::create(settings, m_impl, mode.bitsPerPixel);
// Perform common initializations
initialize();
}
示例15: Close
////////////////////////////////////////////////////////////
/// Create the window
////////////////////////////////////////////////////////////
void Window::Create(VideoMode Mode, const std::string& Title, unsigned long WindowStyle, const WindowSettings& Params)
{
// Destroy the previous window implementation
Close();
// Fullscreen style requires some tests
if (WindowStyle & Style::Fullscreen)
{
// Make sure there's not already a fullscreen window (only one is allowed)
if (FullscreenWindow)
{
std::cerr << "Creating two fullscreen windows is not allowed, switching to windowed mode" << std::endl;
WindowStyle &= ~Style::Fullscreen;
}
else
{
// Make sure the chosen video mode is compatible
if (!Mode.IsValid())
{
std::cerr << "The requested video mode is not available, switching to a valid mode" << std::endl;
Mode = VideoMode::GetMode(0);
}
// Update the fullscreen window
FullscreenWindow = this;
}
}
// Check validity of style
if ((WindowStyle & Style::Close) || (WindowStyle & Style::Resize))
WindowStyle |= Style::Titlebar;
// Activate the global context
Context::GetGlobal().SetActive(true);
mySettings = Params;
Initialize(priv::WindowImpl::New(Mode, Title, WindowStyle, mySettings));
}