From 85eb7badfa4097afad5b3f432e30d2a156aa9bb9 Mon Sep 17 00:00:00 2001 From: k Date: Sun, 11 Oct 2015 11:44:21 +0200 Subject: [PATCH] Update OpenNI2 grabber to support devices without color This commit contains a subset of changes proposed by @metacomgd in #1174. --- io/src/openni2/openni2_device.cpp | 5 ++++- io/src/openni2_grabber.cpp | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/io/src/openni2/openni2_device.cpp b/io/src/openni2/openni2_device.cpp index 3f082bddf76..3d72828cc97 100644 --- a/io/src/openni2/openni2_device.cpp +++ b/io/src/openni2/openni2_device.cpp @@ -89,7 +89,10 @@ pcl::io::openni2::OpenNI2Device::OpenNI2Device (const std::string& device_URI) : // Set default resolution if not reading a file if (!openni_device_->isFile ()) { - setColorVideoMode (getDefaultColorMode ()); + if (openni_device_->hasSensor (openni::SENSOR_COLOR)) + { + setColorVideoMode (getDefaultColorMode ()); + } setDepthVideoMode (getDefaultDepthMode ()); setIRVideoMode (getDefaultIRMode ()); } diff --git a/io/src/openni2_grabber.cpp b/io/src/openni2_grabber.cpp index c0bed4c9e10..11a12ff6236 100644 --- a/io/src/openni2_grabber.cpp +++ b/io/src/openni2_grabber.cpp @@ -219,7 +219,7 @@ pcl::io::OpenNI2Grabber::start () try { // check if we need to start/stop any stream - if (image_required_ && !device_->isColorStreamStarted () ) + if (image_required_ && !device_->isColorStreamStarted () && device_->hasColorSensor ()) { block_signals (); device_->startColorStream (); @@ -401,8 +401,8 @@ pcl::io::OpenNI2Grabber::startSynchronization () { try { - if (device_->isSynchronizationSupported () && !device_->isSynchronized () && !device_->isFile () && - device_->getColorVideoMode ().frame_rate_ == device_->getDepthVideoMode ().frame_rate_) + if (device_->hasColorSensor () && (device_->isSynchronizationSupported () && !device_->isSynchronized () && !device_->isFile () && + device_->getColorVideoMode ().frame_rate_ == device_->getDepthVideoMode ().frame_rate_)) device_->setSynchronization (true); } catch (const IOException& exception)