astra_ros
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
astra_ros::Device Class Reference

An agnostic C++ wrapper for the C Astra SDK. This object is wrapped by RosDevice. More...

#include <Device.hpp>

Classes

struct  Configuration
 
struct  Frame
 
struct  ImageStreamMode
 Represents a potential stream configuration. More...
 

Public Types

typedef std::shared_ptr< DevicePtr
 
typedef std::shared_ptr< const DeviceConstPtr
 

Public Member Functions

void update ()
 
const ConfigurationgetConfiguration () const noexcept
 
ConfigurationgetConfiguration () noexcept
 
orbbec_camera_params getCameraParameters () const
 
boost::optional< std::string > getSerialNumber () const
 
boost::optional< std::uint32_t > getChipId () const
 
boost::optional< astra_usb_info_t > getColorUsbInfo () const
 
boost::optional< astra_usb_info_t > getDepthUsbInfo () const
 
boost::optional< astra_usb_info_t > getIrUsbInfo () const
 
boost::optional< std::vector< ImageStreamMode > > getColorImageStreamModes () const
 
boost::optional< std::vector< ImageStreamMode > > getDepthImageStreamModes () const
 
boost::optional< std::vector< ImageStreamMode > > getIrImageStreamModes () const
 

Static Public Member Functions

static Ptr open (const Configuration &configuration)
 

Detailed Description

An agnostic C++ wrapper for the C Astra SDK. This object is wrapped by RosDevice.

Member Function Documentation

◆ getCameraParameters()

orbbec_camera_params astra_ros::Device::getCameraParameters ( ) const
Returns
The color and depth camera intrinsics

◆ getChipId()

boost::optional<std::uint32_t> astra_ros::Device::getChipId ( ) const
Returns
The Orbbec device's Chip ID, or boost::none if the Device has no depth stream.

◆ getColorImageStreamModes()

boost::optional<std::vector<ImageStreamMode> > astra_ros::Device::getColorImageStreamModes ( ) const

Get the image modes supported by the color stream.

Returns
boost::none if the device wasn't configured with a color stream, a list of image modes otherwise.

◆ getColorUsbInfo()

boost::optional<astra_usb_info_t> astra_ros::Device::getColorUsbInfo ( ) const
Returns
The USB information for the depth camera, or boost::none if the Device has no color stream.

◆ getConfiguration() [1/2]

const Configuration& astra_ros::Device::getConfiguration ( ) const
inlinenoexcept
Returns
A constant reference to the configuration.

◆ getConfiguration() [2/2]

Configuration& astra_ros::Device::getConfiguration ( )
inlinenoexcept
Returns
A mutable reference to the configuration. Can be used to update parameters.

◆ getDepthImageStreamModes()

boost::optional<std::vector<ImageStreamMode> > astra_ros::Device::getDepthImageStreamModes ( ) const

Get the image modes supported by the depth stream.

Returns
boost::none if the device wasn't configured with a depth stream, a list of image modes otherwise.

◆ getDepthUsbInfo()

boost::optional<astra_usb_info_t> astra_ros::Device::getDepthUsbInfo ( ) const
Returns
The USB information for the depth camera, or boost::none if the Device has no depth stream.

◆ getIrImageStreamModes()

boost::optional<std::vector<ImageStreamMode> > astra_ros::Device::getIrImageStreamModes ( ) const

Get the image modes supported by the IR stream.

Returns
boost::none if the device isn't configured with a IR stream, a list of image modes otherwise.

◆ getIrUsbInfo()

boost::optional<astra_usb_info_t> astra_ros::Device::getIrUsbInfo ( ) const
Returns
The USB information for the IR camera, or boost::none if the Device has no IR stream.

◆ getSerialNumber()

boost::optional<std::string> astra_ros::Device::getSerialNumber ( ) const
Returns
The Orbbec device's serial number, or boost::none if the Device has no depth stream.

◆ open()

static Ptr astra_ros::Device::open ( const Configuration configuration)
static

Open an Orbbec device

Parameters
configurationThe Configuration to use for this device.

◆ update()

void astra_ros::Device::update ( )

If a new frame is available, process it and call the OnFrame handler as specified in the Configuration.


The documentation for this class was generated from the following file: