|
Point Cloud Library (PCL)
1.15.1-dev
|
Concrete implementation of the interface OpenNIDevice for a virtual device playing back an ONI file. More...
#include <pcl/io/openni_camera/openni_device_oni.h>
Inheritance diagram for openni_wrapper::DeviceONI:
Collaboration diagram for openni_wrapper::DeviceONI:Public Types | |
| using | Ptr = pcl::shared_ptr< DeviceONI > |
| using | ConstPtr = pcl::shared_ptr< const DeviceONI > |
Public Types inherited from openni_wrapper::OpenNIDevice | |
| enum | DepthMode { OpenNI_shift_values = 0 , OpenNI_12_bit_depth = 1 } |
| using | Ptr = pcl::shared_ptr< OpenNIDevice > |
| using | ConstPtr = pcl::shared_ptr< const OpenNIDevice > |
| using | ImageCallbackFunction = std::function< void(Image::Ptr, void *cookie) > |
| using | DepthImageCallbackFunction = std::function< void(DepthImage::Ptr, void *cookie) > |
| using | IRImageCallbackFunction = std::function< void(IRImage::Ptr, void *cookie) > |
| using | CallbackHandle = unsigned |
Public Member Functions | |
| DeviceONI (xn::Context &context, const std::string &file_name, bool repeat=false, bool streaming=true) | |
| ~DeviceONI () noexcept override | |
| void | startImageStream () override |
| starts the image stream. More... | |
| void | stopImageStream () override |
| stops the image stream. More... | |
| void | startDepthStream () override |
| starts the depth stream. More... | |
| void | stopDepthStream () override |
| stops the depth stream. More... | |
| void | startIRStream () override |
| starts the IR stream. More... | |
| void | stopIRStream () override |
| stops the IR stream. More... | |
| bool | isImageStreamRunning () const noexcept override |
| bool | isDepthStreamRunning () const noexcept override |
| bool | isIRStreamRunning () const noexcept override |
| bool | isImageResizeSupported (unsigned input_width, unsigned input_height, unsigned output_width, unsigned output_height) const noexcept override |
| bool | trigger (int relative_offset=0) |
| Trigger a new frame in the ONI stream. More... | |
| bool | isStreaming () const noexcept |
| bool | hasDataLeft () |
| Check if there is any data left in the ONI file to process. More... | |
Public Member Functions inherited from openni_wrapper::OpenNIDevice | |
| virtual | ~OpenNIDevice () noexcept |
| virtual destructor. More... | |
| bool | findCompatibleImageMode (const XnMapOutputMode &output_mode, XnMapOutputMode &mode) const noexcept |
| finds an image output mode that can be used to retrieve images in desired output mode. More... | |
| bool | findCompatibleDepthMode (const XnMapOutputMode &output_mode, XnMapOutputMode &mode) const noexcept |
| finds a depth output mode that can be used to retrieve depth images in desired output mode. More... | |
| bool | isImageModeSupported (const XnMapOutputMode &output_mode) const noexcept |
| returns whether a given mode is natively supported by the device or not More... | |
| bool | isDepthModeSupported (const XnMapOutputMode &output_mode) const noexcept |
| returns whether a given mode is natively supported by the device or not More... | |
| const XnMapOutputMode & | getDefaultImageMode () const noexcept |
| returns the default image mode, which is simply the first entry in the list of modes More... | |
| const XnMapOutputMode & | getDefaultDepthMode () const noexcept |
| returns the default depth mode, which is simply the first entry in the list of modes More... | |
| const XnMapOutputMode & | getDefaultIRMode () const noexcept |
| returns the default IR mode, which is simply the first entry in the list of modes More... | |
| void | setImageOutputMode (const XnMapOutputMode &output_mode) |
| sets the output mode of the image stream More... | |
| void | setDepthOutputMode (const XnMapOutputMode &output_mode) |
| sets the output mode of the depth stream More... | |
| void | setIROutputMode (const XnMapOutputMode &output_mode) |
| sets the output mode of the IR stream More... | |
| XnMapOutputMode | getImageOutputMode () const |
| XnMapOutputMode | getDepthOutputMode () const |
| XnMapOutputMode | getIROutputMode () const |
| void | setDepthRegistration (bool on_off) |
| set the depth stream registration on or off More... | |
| bool | isDepthRegistered () const noexcept |
| bool | isDepthRegistrationSupported () const noexcept |
| void | setSynchronization (bool on_off) |
| set the hardware synchronization between Depth and RGB stream on or off. More... | |
| bool | isSynchronized () const noexcept |
| virtual bool | isSynchronizationSupported () const noexcept |
| bool | isDepthCropped () const |
| void | setDepthCropping (unsigned x, unsigned y, unsigned width, unsigned height) |
| turn on cropping for the depth stream. More... | |
| bool | isDepthCroppingSupported () const noexcept |
| float | getImageFocalLength (int output_x_resolution=0) const noexcept |
| returns the focal length for the color camera in pixels. More... | |
| float | getDepthFocalLength (int output_x_resolution=0) const noexcept |
| returns the focal length for the IR camera in pixels. More... | |
| float | getBaseline () const noexcept |
| bool | hasImageStream () const noexcept |
| bool | hasDepthStream () const noexcept |
| bool | hasIRStream () const noexcept |
| CallbackHandle | registerImageCallback (const ImageCallbackFunction &callback, void *cookie=nullptr) noexcept |
| registers a callback function of std::function type for the image stream with an optional user defined parameter. More... | |
| template<typename T > | |
| CallbackHandle | registerImageCallback (void(T::*callback)(Image::Ptr, void *cookie), T &instance, void *cookie=nullptr) noexcept |
| registers a callback function for the image stream with an optional user defined parameter. More... | |
| bool | unregisterImageCallback (const CallbackHandle &callbackHandle) noexcept |
| unregisters a callback function. More... | |
| CallbackHandle | registerDepthCallback (const DepthImageCallbackFunction &callback, void *cookie=nullptr) noexcept |
| registers a callback function of std::function type for the depth stream with an optional user defined parameter. More... | |
| template<typename T > | |
| CallbackHandle | registerDepthCallback (void(T::*callback)(DepthImage::Ptr, void *cookie), T &instance, void *cookie=nullptr) noexcept |
| registers a callback function for the depth stream with an optional user defined parameter. More... | |
| bool | unregisterDepthCallback (const CallbackHandle &callbackHandle) noexcept |
| unregisters a callback function. More... | |
| CallbackHandle | registerIRCallback (const IRImageCallbackFunction &callback, void *cookie=nullptr) noexcept |
| registers a callback function of std::function type for the IR stream with an optional user defined parameter. More... | |
| template<typename T > | |
| CallbackHandle | registerIRCallback (void(T::*callback)(IRImage::Ptr, void *cookie), T &instance, void *cookie=nullptr) noexcept |
| registers a callback function for the IR stream with an optional user defined parameter. More... | |
| bool | unregisterIRCallback (const CallbackHandle &callbackHandle) noexcept |
| unregisters a callback function. More... | |
| const char * | getSerialNumber () const noexcept |
| returns the serial number for device. More... | |
| const char * | getConnectionString () const noexcept |
| returns the connection string for current device, which has following format vendorID/productID@BusID/DeviceID. More... | |
| const char * | getVendorName () const noexcept |
| const char * | getProductName () const noexcept |
| unsigned short | getVendorID () const noexcept |
| unsigned short | getProductID () const noexcept |
| unsigned char | getBus () const noexcept |
| unsigned char | getAddress () const noexcept |
| void | setRGBFocalLength (float focal_length) |
| Set the RGB image focal length. More... | |
| void | setDepthFocalLength (float focal_length) |
| Set the depth image focal length. More... | |
| void | setDepthOutputFormat (const DepthMode &depth_mode=OpenNI_12_bit_depth) |
| Set the depth output format. More... | |
| XnUInt64 | getDepthOutputFormat () const |
| Get the depth output format as set by the user. More... | |
| std::uint16_t | shiftToDepth (std::uint16_t shift_value) const |
| Convert shift to depth value. More... | |
Protected Member Functions | |
| Image::Ptr | getCurrentImage (pcl::shared_ptr< xn::ImageMetaData > image_meta_data) const noexcept override |
| void | PlayerThreadFunction () |
Protected Member Functions inherited from openni_wrapper::OpenNIDevice | |
| OpenNIDevice (xn::Context &context, const xn::NodeInfo &device_node, const xn::NodeInfo &image_node, const xn::NodeInfo &depth_node, const xn::NodeInfo &ir_node) | |
| OpenNIDevice (xn::Context &context, const xn::NodeInfo &device_node, const xn::NodeInfo &depth_node, const xn::NodeInfo &ir_node) | |
| OpenNIDevice (xn::Context &context) | |
| void | ImageDataThreadFunction () |
| void | DepthDataThreadFunction () |
| void | IRDataThreadFunction () |
| void | setRegistration (bool on_off) |
| void | Init () |
| void | InitShiftToDepthConversion () |
| void | ReadDeviceParametersFromSensorNode () |
Static Protected Member Functions | |
| static void __stdcall | NewONIDepthDataAvailable (xn::ProductionNode &node, void *cookie) noexcept |
| static void __stdcall | NewONIImageDataAvailable (xn::ProductionNode &node, void *cookie) noexcept |
| static void __stdcall | NewONIIRDataAvailable (xn::ProductionNode &node, void *cookie) noexcept |
Static Protected Member Functions inherited from openni_wrapper::OpenNIDevice | |
| static void __stdcall | NewDepthDataAvailable (xn::ProductionNode &node, void *cookie) noexcept |
| static void __stdcall | NewImageDataAvailable (xn::ProductionNode &node, void *cookie) noexcept |
| static void __stdcall | NewIRDataAvailable (xn::ProductionNode &node, void *cookie) noexcept |
Protected Attributes | |
| xn::Player | player_ |
| std::thread | player_thread_ |
| std::mutex | player_mutex_ |
| std::condition_variable | player_condition_ |
| bool | streaming_ |
| bool | depth_stream_running_ {false} |
| bool | image_stream_running_ {false} |
| bool | ir_stream_running_ {false} |
Protected Attributes inherited from openni_wrapper::OpenNIDevice | |
| struct openni_wrapper::OpenNIDevice::ShiftConversion | shift_conversion_parameters_ |
| std::vector< std::uint16_t > | shift_to_depth_table_ |
| std::map< CallbackHandle, ActualImageCallbackFunction > | image_callback_ |
| std::map< CallbackHandle, ActualDepthImageCallbackFunction > | depth_callback_ |
| std::map< CallbackHandle, ActualIRImageCallbackFunction > | ir_callback_ |
| std::vector< XnMapOutputMode > | available_image_modes_ |
| std::vector< XnMapOutputMode > | available_depth_modes_ |
| xn::Context & | context_ |
| context to OpenNI driver More... | |
| xn::NodeInfo | device_node_info_ |
| node object for current device More... | |
| xn::DepthGenerator | depth_generator_ |
| Depth generator object. More... | |
| xn::ImageGenerator | image_generator_ |
| Image generator object. More... | |
| xn::IRGenerator | ir_generator_ |
| IR generator object. More... | |
| XnCallbackHandle | depth_callback_handle_ |
| XnCallbackHandle | image_callback_handle_ |
| XnCallbackHandle | ir_callback_handle_ |
| float | depth_focal_length_SXGA_ |
| focal length for IR camera producing depth information in native SXGA mode More... | |
| float | baseline_ |
| distance between the projector and the IR camera More... | |
| float | rgb_focal_length_SXGA_ |
| focal length for regular camera producing color images in native SXGA mode More... | |
| XnUInt64 | shadow_value_ |
| the value for shadow (occluded pixels) More... | |
| XnUInt64 | no_sample_value_ |
| the value for pixels without a valid disparity measurement More... | |
| OpenNIDevice::CallbackHandle | image_callback_handle_counter_ |
| OpenNIDevice::CallbackHandle | depth_callback_handle_counter_ |
| OpenNIDevice::CallbackHandle | ir_callback_handle_counter_ |
| bool | quit_ |
| std::mutex | image_mutex_ |
| std::mutex | depth_mutex_ |
| std::mutex | ir_mutex_ |
| std::condition_variable | image_condition_ |
| std::condition_variable | depth_condition_ |
| std::condition_variable | ir_condition_ |
| std::thread | image_thread_ |
| std::thread | depth_thread_ |
| std::thread | ir_thread_ |
Friends | |
| class | OpenNIDriver |
Additional Inherited Members | |
Protected Types inherited from openni_wrapper::OpenNIDevice | |
| using | ActualImageCallbackFunction = std::function< void(Image::Ptr) > |
| using | ActualDepthImageCallbackFunction = std::function< void(DepthImage::Ptr) > |
| using | ActualIRImageCallbackFunction = std::function< void(IRImage::Ptr) > |
Concrete implementation of the interface OpenNIDevice for a virtual device playing back an ONI file.
Definition at line 60 of file openni_device_oni.h.
| using openni_wrapper::DeviceONI::ConstPtr = pcl::shared_ptr<const DeviceONI> |
Definition at line 66 of file openni_device_oni.h.
| using openni_wrapper::DeviceONI::Ptr = pcl::shared_ptr<DeviceONI> |
Definition at line 65 of file openni_device_oni.h.
| openni_wrapper::DeviceONI::DeviceONI | ( | xn::Context & | context, |
| const std::string & | file_name, | ||
| bool | repeat = false, |
||
| bool | streaming = true |
||
| ) |
|
overridenoexcept |
|
overrideprotectedvirtualnoexcept |
Implements openni_wrapper::OpenNIDevice.
|
inline |
Check if there is any data left in the ONI file to process.
Definition at line 96 of file openni_device_oni.h.
References player_.
|
overridevirtualnoexcept |
Reimplemented from openni_wrapper::OpenNIDevice.
|
overridevirtualnoexcept |
Implements openni_wrapper::OpenNIDevice.
|
overridevirtualnoexcept |
Reimplemented from openni_wrapper::OpenNIDevice.
|
overridevirtualnoexcept |
Reimplemented from openni_wrapper::OpenNIDevice.
|
noexcept |
|
staticprotectednoexcept |
|
staticprotectednoexcept |
|
staticprotectednoexcept |
|
protected |
|
overridevirtual |
starts the depth stream.
Reimplemented from openni_wrapper::OpenNIDevice.
|
overridevirtual |
starts the image stream.
Reimplemented from openni_wrapper::OpenNIDevice.
|
overridevirtual |
starts the IR stream.
Reimplemented from openni_wrapper::OpenNIDevice.
|
overridevirtual |
stops the depth stream.
Reimplemented from openni_wrapper::OpenNIDevice.
|
overridevirtual |
stops the image stream.
Reimplemented from openni_wrapper::OpenNIDevice.
|
overridevirtual |
stops the IR stream.
Reimplemented from openni_wrapper::OpenNIDevice.
| bool openni_wrapper::DeviceONI::trigger | ( | int | relative_offset = 0 | ) |
Trigger a new frame in the ONI stream.
| [in] | relative_offset | the relative offset in case we want to seek in the file |
|
friend |
Definition at line 62 of file openni_device_oni.h.
|
protected |
Definition at line 114 of file openni_device_oni.h.
|
protected |
Definition at line 115 of file openni_device_oni.h.
|
protected |
Definition at line 116 of file openni_device_oni.h.
|
protected |
Definition at line 109 of file openni_device_oni.h.
Referenced by hasDataLeft().
|
protected |
Definition at line 112 of file openni_device_oni.h.
|
mutableprotected |
Definition at line 111 of file openni_device_oni.h.
|
protected |
Definition at line 110 of file openni_device_oni.h.
|
protected |
Definition at line 113 of file openni_device_oni.h.