6 #include "../include/librealsense2/h/rs_option.h" 23 virtual void set(
float value) = 0;
24 virtual float query()
const = 0;
26 virtual bool is_enabled()
const = 0;
28 virtual const char* get_description()
const = 0;
30 virtual void create_snapshot(std::shared_ptr<option>& snapshot)
const override;
32 virtual ~
option() =
default;
41 virtual bool supports_option(
rs2_option id)
const = 0;
53 auto it = _options.find(
id);
54 if (it == _options.end())
return false;
55 return it->second->is_enabled();
65 auto it = _options.find(
id);
66 if (it == _options.end())
69 <<
"Device does not support option " 77 _options[id] = option;
78 _recording_function(*
this);
88 snapshot = std::make_shared<options_container>(*this);
93 _recording_function = record_action;
96 void update(std::shared_ptr<extension_snapshot> ext)
override 98 auto ctr = As<options_container>(ext);
100 for(
auto&& opt : ctr->_options)
102 _options[opt.first] = opt.second;
107 std::map<rs2_option, std::shared_ptr<option>> _options;
108 std::function<void(const options_interface&)> _recording_function = [](
const options_interface&) {};
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
Definition: rs_option.h:22
float def
Definition: options.h:17
void enable_recording(std::function< void(const options_interface &)> record_action) override
Definition: options.h:91
const char * rs2_option_to_string(rs2_option option)
bool supports_option(rs2_option id) const override
Definition: options.h:51
float max
Definition: options.h:15
option & get_option(rs2_option id) override
Definition: options.h:58
void unregister_option(rs2_option id)
Definition: options.h:81
void register_option(rs2_option id, std::shared_ptr< option > option)
Definition: options.h:75
virtual bool is_read_only() const
Definition: options.h:27
virtual const char * get_value_description(float) const
Definition: options.h:29
Definition: rs_types.h:100
void update(std::shared_ptr< extension_snapshot > ext) override
Definition: options.h:96
void create_snapshot(std::shared_ptr< options_interface > &snapshot) const override
Definition: options.h:86
const option & get_option(rs2_option id) const override
Definition: options.h:63
Definition: extension.h:46
float min
Definition: options.h:14
Definition: extension.h:33
float step
Definition: options.h:16
MAP_EXTENSION(RS2_EXTENSION_POINTS, librealsense::points)