Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
software-device.h
Go to the documentation of this file.
1 // License: Apache 2.0. See LICENSE file in root directory.
2 // Copyright(c) 2018 Intel Corporation. All Rights Reserved.
3 #pragma once
4 
5 #include "core/streaming.h"
6 #include "core/video.h"
7 #include "device.h"
8 #include "device.h"
9 #include "context.h"
10 
11 namespace librealsense
12 {
13  class software_sensor;
14 
15  class software_device : public device
16  {
17  public:
19 
20  software_sensor& add_software_sensor(const std::string& name);
21 
23 
25 
26  std::shared_ptr<matcher> create_matcher(const frame_holder& frame) const override;
27  private:
28  std::vector<std::shared_ptr<software_sensor>> _software_sensors;
30  };
31 
33  {
34  public:
35  software_sensor(std::string name, software_device* owner);
36 
37  std::shared_ptr<stream_profile_interface> add_video_stream(rs2_video_stream video_stream);
38 
39  stream_profiles init_stream_profiles() override;
40 
41  void open(const stream_profiles& requests) override;
42  void close() override;
43 
44  void start(frame_callback_ptr callback) override;
45  void stop() override;
46 
47  void on_video_frame(rs2_software_video_frame frame);
48  void add_read_only_option(rs2_option option, float val);
49  void update_read_only_option(rs2_option option, float val);
50 
51  private:
52  friend class software_device;
53  stream_profiles _profiles;
54  };
57 }
Definition: rs_types.h:142
Definition: sync.h:78
Definition: backend.h:376
Definition: software-device.h:15
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
Definition: rs_option.h:22
std::shared_ptr< rs2_frame_callback > frame_callback_ptr
Definition: types.h:896
Definition: options.h:20
All the parameters are requaired to defind video stream.
Definition: rs_internal.h:34
Definition: rs_types.h:119
software_sensor & add_software_sensor(const std::string &name)
Definition: archive.h:63
Definition: algo.h:16
Definition: rs_types.h:120
software_sensor & get_software_sensor(int index)
rs2_matchers
Specifies types of different matchers.
Definition: rs_types.h:127
std::shared_ptr< matcher > create_matcher(const frame_holder &frame) const override
std::vector< std::shared_ptr< stream_profile_interface >> stream_profiles
Definition: streaming.h:104
Definition: types.h:637
Definition: software-device.h:32
All the parameters are requaired to define video frame.
Definition: rs_internal.h:48
Definition: sensor.h:31
Definition: device.h:43
void set_matcher_type(rs2_matchers matcher)
MAP_EXTENSION(RS2_EXTENSION_POINTS, librealsense::points)