Device.hpp
Go to the documentation of this file.
1 #ifndef _ASTRA_ROS_DEVICE_HPP_
2 #define _ASTRA_ROS_DEVICE_HPP_
3 
4 #include <string>
5 #include <memory>
6 #include <iostream>
7 #include <vector>
8 #include <boost/optional.hpp>
9 
10 #include "Parameter.hpp"
11 
12 #include <astra/capi/astra.h>
13 
14 namespace astra_ros
15 {
21  class Device
22  {
23  public:
24  typedef std::shared_ptr<Device> Ptr;
25  typedef std::shared_ptr<const Device> ConstPtr;
26 
32  {
36  boost::optional<std::uint32_t> width;
37 
41  boost::optional<std::uint32_t> height;
42 
46  boost::optional<astra_pixel_format_t> pixel_format;
47 
51  boost::optional<std::uint8_t> fps;
52  };
53 
54  struct Frame
55  {
56  struct Color
57  {
58  std::uint32_t data_length;
59 
60  // The image data for the color stream (use metadata to understand the content).
61  // This pointer is only valid until the next update().
62  std::uint8_t *data;
63 
64  astra_image_metadata_t metadata;
65  };
66 
67  struct Ir
68  {
70  float vertical_fov;
71 
72  std::uint32_t data_length;
73 
74  // The image data for the IR stream (use metadata to understand the content).
75  // This pointer is only valid until the next update().
76  std::uint8_t *data;
77 
78  astra_image_metadata_t metadata;
79  };
80 
81  struct Depth
82  {
84  float vertical_fov;
85 
86  bool registered;
87 
88  std::uint32_t data_length;
89 
90  // The image data for the depth stream (use metadata to understand the content).
91  // This pointer is only valid until the next update().
92  std::int16_t *data;
93 
94  astra_image_metadata_t metadata;
95  };
96 
97  struct Body
98  {
99  astra_floor_info_t *floor_info;
100  astra_bodymask_t body_mask;
101  astra_body_list_t body_list;
102  };
103 
105  {
106  std::uint32_t data_length;
107 
108  // The pixel data for the colorized body stream.
109  // This pointer is only valid until the next update().
110  astra_rgba_pixel_t *data;
111 
112  astra_image_metadata_t metadata;
113  };
114 
115  struct Hand
116  {
117 
118  };
119 
120  struct MaskedColor
121  {
122  std::uint32_t data_length;
123 
124  // The pixel data for the masked color stream.
125  // This pointer is only valid until the next update().
126  astra_rgba_pixel_t *data;
127 
128  astra_image_metadata_t metadata;
129  };
130 
131  struct Point
132  {
133  std::uint32_t data_length;
134  astra_vector3f_t *data;
135  };
136 
140  boost::optional<Color> color;
141 
145  boost::optional<Ir> ir;
146 
150  boost::optional<Depth> depth;
151 
155  boost::optional<Body> body;
156 
160  boost::optional<ColorizedBody> colorized_body;
161 
165  boost::optional<Hand> hand;
166 
170  boost::optional<MaskedColor> masked_color;
171 
175  boost::optional<Point> point;
176  };
177 
179  {
180  typedef std::function<void (const Frame &frame)> OnFrame;
181 
187  struct ColorStream
188  {
191 
193 
195 
199  boost::optional<Mirrored> mirrored;
200 
204  boost::optional<Mode> mode;
205  };
206 
212  struct IrStream
213  {
216 
218 
221 
223 
227  boost::optional<Mirrored> mirrored;
228 
232  boost::optional<Mode> mode;
233 
234  boost::optional<Gain> gain;
235  boost::optional<Exposure> exposure;
236 
237  };
238 
239  struct DepthStream
240  {
243 
245 
248 
250 
254  boost::optional<Mirrored> mirrored;
255 
259  boost::optional<Mode> mode;
260 
264  boost::optional<Registration> registration;
265 
266 
267  boost::optional<D2CMode> d2c_mode;
268 
269  };
270 
271  struct BodyStream
272  {
278 
284  boost::optional<std::string> license;
285 
287 
288  boost::optional<BodyOrientation> body_orientation;
289  boost::optional<SkeletonOptimization> skeleton_optimization;
290  boost::optional<SkeletonProfile> skeleton_profile;
291  boost::optional<BodyFeatures> default_body_features;
292  };
293 
295  {
298 
300  };
301 
302  struct HandStream
303  {
306  };
307 
309  {
312 
314  };
315 
316  struct PointStream
317  {
320  };
321 
322  boost::optional<std::string> uri;
324 
325 
330  boost::optional<ColorStream> color_stream;
331 
336  boost::optional<IrStream> ir_stream;
337 
342  boost::optional<DepthStream> depth_stream;
343 
348  boost::optional<BodyStream> body_stream;
349 
356  boost::optional<ColorizedBodyStream> colorized_body_stream;
357 
364  boost::optional<HandStream> hand_stream;
365 
372  boost::optional<MaskedColorStream> masked_color_stream;
373 
380  boost::optional<PointStream> point_stream;
381  };
382 
389  static Ptr open(const Configuration &configuration);
390 
395  void update();
396 
401  inline const Configuration &getConfiguration() const noexcept
402  {
403  return configuration_;
404  }
405 
410  inline Configuration &getConfiguration() noexcept
411  {
412  return configuration_;
413  }
414 
419  orbbec_camera_params getCameraParameters() const;
420 
425  boost::optional<std::string> getSerialNumber() const;
426 
431  boost::optional<std::uint32_t> getChipId() const;
432 
437  boost::optional<astra_usb_info_t> getColorUsbInfo() const;
438 
443  boost::optional<astra_usb_info_t> getDepthUsbInfo() const;
444 
449  boost::optional<astra_usb_info_t> getIrUsbInfo() const;
450 
457  boost::optional<std::vector<ImageStreamMode>> getColorImageStreamModes() const;
458 
464  boost::optional<std::vector<ImageStreamMode>> getDepthImageStreamModes() const;
465 
471  boost::optional<std::vector<ImageStreamMode>> getIrImageStreamModes() const;
472 
473  private:
474  Device(const Configuration &configuration);
475 
476  bool onStreamStartedChange(astra_streamconnection_t stream, const bool &started, const bool &started_prev);
477  bool onDepthRegistrationChange(astra_depthstream_t stream, const bool &registration, const bool &prev_registration);
478  bool onDepthD2CModeChange(astra_depthstream_t stream, const int &d2c_mode, const bool &prev_d2c_mode);
479  bool onBodyOrientationChange(astra_bodystream_t body_stream, const astra_body_orientation_t &orientation, const astra_skeleton_optimization_t &prev_orientation);
480  bool onBodySkeletonOptimizationChange(astra_bodystream_t body_stream, const astra_skeleton_optimization_t &optimization, const astra_skeleton_optimization_t &prev_optimization);
481  bool onBodySkeletonProfileChange(astra_bodystream_t body_stream, const astra_skeleton_profile_t &profile, const astra_skeleton_profile_t &prev_profile);
482  bool onModeChange(astra_streamconnection_t stream, const ImageStreamMode &mode, const ImageStreamMode &prev_mode);
483  bool onMirroredChange(astra_streamconnection_t stream, const bool &mirrored, const bool &prev_mirrored);
484 
485  std::vector<ImageStreamMode> getImageStreamModes(astra_streamconnection_t stream) const;
486 
488 
489  astra_streamsetconnection_t stream_set_;
490  astra_reader_t reader_;
491 
492  boost::optional<astra_colorstream_t> color_stream_;
493  boost::optional<astra_infraredstream_t> ir_stream_;
494  boost::optional<astra_depthstream_t> depth_stream_;
495  boost::optional<astra_bodystream_t> body_stream_;
496  boost::optional<astra_colorizedbodystream_t> colorized_body_stream_;
497  boost::optional<astra_handstream_t> hand_stream_;
498  boost::optional<astra_maskedcolorstream_t> masked_color_stream_;
499  boost::optional<astra_pointstream_t> point_stream_;
500  };
501 }
502 
503 std::ostream &operator <<(std::ostream &o, const astra_ros::Device::Configuration::ColorStream &value);
504 std::ostream &operator <<(std::ostream &o, const astra_ros::Device::Configuration::IrStream &value);
505 std::ostream &operator <<(std::ostream &o, const astra_ros::Device::Configuration::DepthStream &value);
506 std::ostream &operator <<(std::ostream &o, const astra_ros::Device::Configuration::BodyStream &value);
507 std::ostream &operator <<(std::ostream &o, const astra_ros::Device::Configuration::ColorizedBodyStream &value);
508 std::ostream &operator <<(std::ostream &o, const astra_ros::Device::Configuration::MaskedColorStream &value);
509 std::ostream &operator <<(std::ostream &o, const astra_ros::Device::Configuration &value);
510 
511 #endif
astra_ros::Device::Ptr
std::shared_ptr< Device > Ptr
Definition: Device.hpp:24
astra_ros::Device::Frame::MaskedColor::metadata
astra_image_metadata_t metadata
Definition: Device.hpp:128
astra_ros::Device::Configuration::MaskedColorStream
Definition: Device.hpp:308
astra_ros::Device::Configuration::BodyStream::skeleton_profile
boost::optional< SkeletonProfile > skeleton_profile
Definition: Device.hpp:290
astra_ros::Device::reader_
astra_reader_t reader_
Definition: Device.hpp:490
astra_ros::Device::Frame::Depth
Definition: Device.hpp:81
astra_ros::Device::getColorImageStreamModes
boost::optional< std::vector< ImageStreamMode > > getColorImageStreamModes() const
Definition: Device.cpp:674
astra_ros::Device::Configuration::BodyStream::running
Running running
Definition: Device.hpp:286
astra_ros::Device::Configuration::IrStream::Gain
Parameter< std::int32_t > Gain
Definition: Device.hpp:219
astra_ros::Device::Configuration::BodyStream::body_orientation
boost::optional< BodyOrientation > body_orientation
Definition: Device.hpp:288
operator<<
std::ostream & operator<<(std::ostream &o, const astra_ros::Device::Configuration::ColorStream &value)
Definition: Device.cpp:764
astra_ros::Device::Configuration::depth_stream
boost::optional< DepthStream > depth_stream
Definition: Device.hpp:342
astra_ros::Device::Configuration::DepthStream::Registration
Parameter< bool > Registration
Definition: Device.hpp:246
astra_ros::Device::Configuration::ColorStream::mirrored
boost::optional< Mirrored > mirrored
Definition: Device.hpp:199
astra_ros::Device::Frame::MaskedColor
Definition: Device.hpp:120
astra_ros::Device::getColorUsbInfo
boost::optional< astra_usb_info_t > getColorUsbInfo() const
Definition: Device.cpp:644
astra_ros::Device::Frame::ColorizedBody::data
astra_rgba_pixel_t * data
Definition: Device.hpp:110
astra_ros::Device::getImageStreamModes
std::vector< ImageStreamMode > getImageStreamModes(astra_streamconnection_t stream) const
Definition: Device.cpp:692
astra_ros::Device::Configuration::PointStream
Definition: Device.hpp:316
astra_ros::Device::getCameraParameters
orbbec_camera_params getCameraParameters() const
Definition: Device.cpp:612
astra_ros::Device::Frame::MaskedColor::data_length
std::uint32_t data_length
Definition: Device.hpp:122
astra_ros::Device::Frame::MaskedColor::data
astra_rgba_pixel_t * data
Definition: Device.hpp:126
astra_ros::Device::Frame::Color::metadata
astra_image_metadata_t metadata
Definition: Device.hpp:64
astra_ros::Device::update
void update()
Definition: Device.cpp:40
astra_ros::Device::getIrUsbInfo
boost::optional< astra_usb_info_t > getIrUsbInfo() const
Definition: Device.cpp:664
astra_ros::Device::Configuration::PointStream::running
Running running
Definition: Device.hpp:319
astra_ros::Device::Frame::Point::data_length
std::uint32_t data_length
Definition: Device.hpp:133
astra_ros::Device::Configuration::IrStream
Definition: Device.hpp:212
astra_ros::Device::Frame::Ir::data_length
std::uint32_t data_length
Definition: Device.hpp:72
astra_ros::Device::Configuration::BodyStream::default_body_features
boost::optional< BodyFeatures > default_body_features
Definition: Device.hpp:291
astra_ros::Device::onModeChange
bool onModeChange(astra_streamconnection_t stream, const ImageStreamMode &mode, const ImageStreamMode &prev_mode)
Definition: Device.cpp:563
astra_ros::Device::getConfiguration
const Configuration & getConfiguration() const noexcept
Definition: Device.hpp:401
astra_ros::Device::Frame::Depth::horizontal_fov
float horizontal_fov
Definition: Device.hpp:83
astra_ros::Device::Frame::Color
Definition: Device.hpp:56
astra_ros::Device::Frame::masked_color
boost::optional< MaskedColor > masked_color
Definition: Device.hpp:170
astra_ros::Device::Frame::Depth::metadata
astra_image_metadata_t metadata
Definition: Device.hpp:94
astra_ros::Device::colorized_body_stream_
boost::optional< astra_colorizedbodystream_t > colorized_body_stream_
Definition: Device.hpp:496
astra_ros::Device::Configuration::BodyStream::BodyOrientation
Parameter< astra_body_orientation_t > BodyOrientation
Definition: Device.hpp:274
astra_ros::Device::onBodySkeletonOptimizationChange
bool onBodySkeletonOptimizationChange(astra_bodystream_t body_stream, const astra_skeleton_optimization_t &optimization, const astra_skeleton_optimization_t &prev_optimization)
Definition: Device.cpp:518
astra_ros::Device::Configuration::MaskedColorStream::Running
Parameter< bool > Running
Definition: Device.hpp:310
astra_ros::Device::ImageStreamMode::fps
boost::optional< std::uint8_t > fps
Definition: Device.hpp:51
astra_ros::Device::Frame::Body::floor_info
astra_floor_info_t * floor_info
Definition: Device.hpp:99
astra_ros::Device::Frame::point
boost::optional< Point > point
Definition: Device.hpp:175
astra_ros::Device::hand_stream_
boost::optional< astra_handstream_t > hand_stream_
Definition: Device.hpp:497
astra_ros::Device::Frame::Hand
Definition: Device.hpp:115
astra_ros::Device::Configuration::DepthStream::Mode
Parameter< ImageStreamMode > Mode
Definition: Device.hpp:244
astra_ros::Device::Configuration::DepthStream::mirrored
boost::optional< Mirrored > mirrored
Definition: Device.hpp:254
astra_ros::Device::Configuration::BodyStream::license
boost::optional< std::string > license
Definition: Device.hpp:284
astra_ros::Device::Configuration::masked_color_stream
boost::optional< MaskedColorStream > masked_color_stream
Definition: Device.hpp:372
astra_ros::Device::ConstPtr
std::shared_ptr< const Device > ConstPtr
Definition: Device.hpp:25
astra_ros::Device::Configuration::HandStream::running
Running running
Definition: Device.hpp:305
astra_ros::Device::Frame::ColorizedBody
Definition: Device.hpp:104
astra_ros::Device::open
static Ptr open(const Configuration &configuration)
Definition: Device.cpp:35
astra_ros::Device::onStreamStartedChange
bool onStreamStartedChange(astra_streamconnection_t stream, const bool &started, const bool &started_prev)
Definition: Device.cpp:465
astra_ros::Device::Frame::Depth::vertical_fov
float vertical_fov
Definition: Device.hpp:84
astra_ros::Device::Frame::ColorizedBody::data_length
std::uint32_t data_length
Definition: Device.hpp:106
astra_ros::Device::getIrImageStreamModes
boost::optional< std::vector< ImageStreamMode > > getIrImageStreamModes() const
Definition: Device.cpp:686
astra_ros::Device::Configuration::DepthStream::mode
boost::optional< Mode > mode
Definition: Device.hpp:259
astra_ros::Device::Frame::Depth::data_length
std::uint32_t data_length
Definition: Device.hpp:88
astra_ros::Device::Configuration::DepthStream::Mirrored
Parameter< bool > Mirrored
Definition: Device.hpp:242
astra_ros::Device::Configuration::ColorStream::Mirrored
Parameter< bool > Mirrored
Definition: Device.hpp:190
astra_ros::Device::Frame::Point::data
astra_vector3f_t * data
Definition: Device.hpp:134
astra_ros::Device::Configuration::PointStream::Running
Parameter< bool > Running
Definition: Device.hpp:318
astra_ros::Device::Configuration::HandStream
Definition: Device.hpp:302
astra_ros::Device::onDepthD2CModeChange
bool onDepthD2CModeChange(astra_depthstream_t stream, const int &d2c_mode, const bool &prev_d2c_mode)
Definition: Device.cpp:506
astra_ros::Device::Frame::ir
boost::optional< Ir > ir
Definition: Device.hpp:145
astra_ros::Device::Configuration::ColorizedBodyStream::running
Running running
Definition: Device.hpp:299
astra_ros::Device::Configuration::IrStream::Exposure
Parameter< std::int32_t > Exposure
Definition: Device.hpp:220
astra_ros::Device::Frame::Color::data_length
std::uint32_t data_length
Definition: Device.hpp:58
astra_ros::Parameter< bool >
astra_ros::Device::Configuration::IrStream::running
Running running
Definition: Device.hpp:222
astra_ros::Device::Configuration::DepthStream::registration
boost::optional< Registration > registration
Definition: Device.hpp:264
astra_ros::Device::Configuration::IrStream::Mirrored
Parameter< bool > Mirrored
Definition: Device.hpp:215
astra_ros::Device::Configuration::ColorizedBodyStream::Mirrored
Parameter< bool > Mirrored
Definition: Device.hpp:297
astra_ros::Device::Frame::ColorizedBody::metadata
astra_image_metadata_t metadata
Definition: Device.hpp:112
astra_ros::Device::Configuration::DepthStream::running
Running running
Definition: Device.hpp:249
astra_ros::Device::Frame::colorized_body
boost::optional< ColorizedBody > colorized_body
Definition: Device.hpp:160
astra_ros::Device::Configuration::IrStream::exposure
boost::optional< Exposure > exposure
Definition: Device.hpp:235
astra_ros::Device::ImageStreamMode::height
boost::optional< std::uint32_t > height
Definition: Device.hpp:41
astra_ros::Device::Frame::Depth::registered
bool registered
Definition: Device.hpp:86
astra_ros::Device::Configuration::hand_stream
boost::optional< HandStream > hand_stream
Definition: Device.hpp:364
astra_ros::Device::Configuration::ColorStream::Running
Parameter< bool > Running
Definition: Device.hpp:189
astra_ros::Device::Configuration::BodyStream::Running
Parameter< bool > Running
Definition: Device.hpp:273
astra_ros::Device::Frame::depth
boost::optional< Depth > depth
Definition: Device.hpp:150
astra_ros::Device::Configuration::IrStream::mirrored
boost::optional< Mirrored > mirrored
Definition: Device.hpp:227
astra_ros::Device::Configuration::BodyStream::BodyFeatures
Parameter< astra_body_tracking_feature_flags_t > BodyFeatures
Definition: Device.hpp:277
astra_ros::Device::configuration_
Configuration configuration_
Definition: Device.hpp:487
astra_ros::Device::onDepthRegistrationChange
bool onDepthRegistrationChange(astra_depthstream_t stream, const bool &registration, const bool &prev_registration)
Definition: Device.cpp:495
astra_ros::Device::Frame::Ir
Definition: Device.hpp:67
astra_ros::Device::depth_stream_
boost::optional< astra_depthstream_t > depth_stream_
Definition: Device.hpp:494
astra_ros::Device::ImageStreamMode
Represents a potential stream configuration.
Definition: Device.hpp:31
astra_ros::Device::Configuration::MaskedColorStream::running
Running running
Definition: Device.hpp:313
astra_ros::Device::Frame::Body
Definition: Device.hpp:97
astra_ros::Device::Configuration::on_frame
OnFrame on_frame
Definition: Device.hpp:323
astra_ros::Device::Configuration::ColorizedBodyStream
Definition: Device.hpp:294
astra_ros::Device::getDepthUsbInfo
boost::optional< astra_usb_info_t > getDepthUsbInfo() const
Definition: Device.cpp:654
astra_ros::Device::Configuration::DepthStream
Definition: Device.hpp:239
astra_ros::Device::Frame::hand
boost::optional< Hand > hand
Definition: Device.hpp:165
astra_ros::Device::getDepthImageStreamModes
boost::optional< std::vector< ImageStreamMode > > getDepthImageStreamModes() const
Definition: Device.cpp:680
astra_ros::Device::Configuration::ColorizedBodyStream::Running
Parameter< bool > Running
Definition: Device.hpp:296
astra_ros::Device::Configuration::body_stream
boost::optional< BodyStream > body_stream
Definition: Device.hpp:348
astra_ros::Device::Configuration::ColorStream::running
Running running
Definition: Device.hpp:194
astra_ros::Device::Configuration::colorized_body_stream
boost::optional< ColorizedBodyStream > colorized_body_stream
Definition: Device.hpp:356
astra_ros::Device::Configuration
Definition: Device.hpp:178
astra_ros::Device::Device
Device(const Configuration &configuration)
Definition: Device.cpp:217
Parameter.hpp
astra_ros::Device::Frame::Color::data
std::uint8_t * data
Definition: Device.hpp:62
astra_ros::Device::Configuration::ColorStream::mode
boost::optional< Mode > mode
Definition: Device.hpp:204
astra_ros::Device::Configuration::OnFrame
std::function< void(const Frame &frame)> OnFrame
Definition: Device.hpp:180
astra_ros::Device::getConfiguration
Configuration & getConfiguration() noexcept
Definition: Device.hpp:410
astra_ros::Device::Frame::Ir::vertical_fov
float vertical_fov
Definition: Device.hpp:70
astra_ros::Device::Configuration::IrStream::Mode
Parameter< ImageStreamMode > Mode
Definition: Device.hpp:217
astra_ros::Device::Configuration::BodyStream::SkeletonOptimization
Parameter< astra_skeleton_optimization_t > SkeletonOptimization
Definition: Device.hpp:275
astra_ros::Device::point_stream_
boost::optional< astra_pointstream_t > point_stream_
Definition: Device.hpp:499
astra_ros::Device::masked_color_stream_
boost::optional< astra_maskedcolorstream_t > masked_color_stream_
Definition: Device.hpp:498
astra_ros::Device::ImageStreamMode::width
boost::optional< std::uint32_t > width
Definition: Device.hpp:36
astra_ros::Device::Configuration::DepthStream::d2c_mode
boost::optional< D2CMode > d2c_mode
Definition: Device.hpp:267
astra_ros::Device::onMirroredChange
bool onMirroredChange(astra_streamconnection_t stream, const bool &mirrored, const bool &prev_mirrored)
Definition: Device.cpp:551
astra_ros::Device::Configuration::IrStream::mode
boost::optional< Mode > mode
Definition: Device.hpp:232
astra_ros::Device::Configuration::ir_stream
boost::optional< IrStream > ir_stream
Definition: Device.hpp:336
astra_ros::Device::Frame::Depth::data
std::int16_t * data
Definition: Device.hpp:92
astra_ros::Device::Configuration::BodyStream
Definition: Device.hpp:271
astra_ros::Device::Configuration::DepthStream::Running
Parameter< bool > Running
Definition: Device.hpp:241
astra_ros::Device::Configuration::ColorStream::Mode
Parameter< ImageStreamMode > Mode
Definition: Device.hpp:192
astra_ros::Device::onBodyOrientationChange
bool onBodyOrientationChange(astra_bodystream_t body_stream, const astra_body_orientation_t &orientation, const astra_skeleton_optimization_t &prev_orientation)
Definition: Device.cpp:529
astra_ros::Device::Frame
Definition: Device.hpp:54
astra_ros::Device::getSerialNumber
boost::optional< std::string > getSerialNumber() const
Definition: Device.cpp:621
astra_ros::Device::Frame::Ir::metadata
astra_image_metadata_t metadata
Definition: Device.hpp:78
astra_ros::Device::Frame::Ir::horizontal_fov
float horizontal_fov
Definition: Device.hpp:69
astra_ros::Device::Frame::Ir::data
std::uint8_t * data
Definition: Device.hpp:76
astra_ros::Device::body_stream_
boost::optional< astra_bodystream_t > body_stream_
Definition: Device.hpp:495
astra_ros::Device::getChipId
boost::optional< std::uint32_t > getChipId() const
Definition: Device.cpp:633
astra_ros::Device::ir_stream_
boost::optional< astra_infraredstream_t > ir_stream_
Definition: Device.hpp:493
astra_ros::Device::Configuration::uri
boost::optional< std::string > uri
Definition: Device.hpp:322
astra_ros::Device::Frame::body
boost::optional< Body > body
Definition: Device.hpp:155
astra_ros::Device::Configuration::IrStream::Running
Parameter< bool > Running
Definition: Device.hpp:214
astra_ros::Device::Configuration::HandStream::Running
Parameter< bool > Running
Definition: Device.hpp:304
astra_ros::Device::Configuration::color_stream
boost::optional< ColorStream > color_stream
Definition: Device.hpp:330
astra_ros::Device::Configuration::BodyStream::skeleton_optimization
boost::optional< SkeletonOptimization > skeleton_optimization
Definition: Device.hpp:289
astra_ros::Device::ImageStreamMode::pixel_format
boost::optional< astra_pixel_format_t > pixel_format
Definition: Device.hpp:46
astra_ros::Device::Frame::Point
Definition: Device.hpp:131
astra_ros::Device::onBodySkeletonProfileChange
bool onBodySkeletonProfileChange(astra_bodystream_t body_stream, const astra_skeleton_profile_t &profile, const astra_skeleton_profile_t &prev_profile)
Definition: Device.cpp:540
astra_ros::Device::Configuration::BodyStream::SkeletonProfile
Parameter< astra_skeleton_profile_t > SkeletonProfile
Definition: Device.hpp:276
astra_ros::Device::Frame::Body::body_list
astra_body_list_t body_list
Definition: Device.hpp:101
astra_ros::Device::Configuration::DepthStream::D2CMode
Parameter< int > D2CMode
Definition: Device.hpp:247
astra_ros::Device::Configuration::ColorStream
Definition: Device.hpp:187
astra_ros::Device
An agnostic C++ wrapper for the C Astra SDK. This object is wrapped by RosDevice.
Definition: Device.hpp:21
astra_ros::Device::Configuration::MaskedColorStream::Mirrored
Parameter< bool > Mirrored
Definition: Device.hpp:311
astra_ros::Device::Configuration::point_stream
boost::optional< PointStream > point_stream
Definition: Device.hpp:380
astra_ros::Device::color_stream_
boost::optional< astra_colorstream_t > color_stream_
Definition: Device.hpp:492
astra_ros::Device::stream_set_
astra_streamsetconnection_t stream_set_
Definition: Device.hpp:489
astra_ros::Device::Configuration::IrStream::gain
boost::optional< Gain > gain
Definition: Device.hpp:234
astra_ros::Device::Frame::Body::body_mask
astra_bodymask_t body_mask
Definition: Device.hpp:100
astra_ros::Device::Frame::color
boost::optional< Color > color
Definition: Device.hpp:140
astra_ros
Definition: Device.hpp:14


astra_ros
Author(s): Braden McDorman
autogenerated on Wed Mar 2 2022 00:53:06