46 virtual float read_baseline()
const = 0;
55 _intrinsic(intrinsic), _baseline(baseline)
67 void update(std::shared_ptr<extension_snapshot> ext)
override 69 if (
auto api = As<l500_depth_sensor_interface>(ext))
71 _intrinsic = api->get_intrinsic();
75 void create_snapshot(std::shared_ptr<l500_depth_sensor_interface>& snapshot)
const override 77 snapshot = std::make_shared<l500_depth_sensor_snapshot>(get_intrinsic(), read_baseline());
103 std::map< uint32_t, rs2_format > l500_depth_sourcc_to_rs2_format_map,
104 std::map< uint32_t, rs2_stream > l500_depth_sourcc_to_rs2_stream_map
111 std::vector<rs2_option> options;
112 for (
auto opt : _options)
114 if (std::find_if(_owner->_advanced_options.begin(), _owner->_advanced_options.end(), [opt](
rs2_option o) {
return o == opt.first;}) != _owner->_advanced_options.end())
117 options.push_back(opt.first);
120 for (
auto option : _owner->_advanced_options)
121 options.push_back(
option);
130 for (
auto i = 0;
i < num_of_res;
i++)
135 if (model_world.pinhole_cam_model.height == height && model_world.pinhole_cam_model.width == width)
137 else if (model_raw.pinhole_cam_model.height == height && model_raw.pinhole_cam_model.width == width)
140 throw std::runtime_error(
to_string() <<
"intrinsics for resolution " << width <<
"," << height <<
" doesn't exist");
145 using namespace ivcam2;
172 void reset_calibration()
override;
179 for (
auto&&
p : results)
184 assign_stream(_owner->_depth_stream,
p);
188 assign_stream(_owner->_ir_stream,
p);
192 assign_stream(_owner->_confidence_stream,
p);
199 std::weak_ptr<l500_depth_sensor> wp =
202 video->set_intrinsics([
profile, wp]()
206 return sp->get_intrinsics(
profile);
220 using namespace ivcam2;
221 return *_owner->_calib_table;
224 float get_max_usable_depth_range()
const override;
235 recording_function(*
this);
239 void create_snapshot(std::shared_ptr<l500_depth_sensor_interface>& snapshot)
const override 241 snapshot = std::make_shared<l500_depth_sensor_snapshot>(get_intrinsic(), read_baseline());
251 return get_l500_recommended_proccesing_blocks();
254 std::shared_ptr< stream_profile_interface > is_color_sensor_needed()
const;
256 int read_algo_version();
257 float read_baseline()
const override;
262 void stop()
override;
263 float get_depth_offset()
const;
264 bool is_max_range_preset()
const;
void enable_recording(std::function< void(const depth_sensor &)> recording_function) override
static const textual_icon lock
void create_snapshot(std::shared_ptr< depth_sensor > &snapshot) const override
l500_depth_sensor_snapshot(ivcam2::intrinsic_depth intrinsic, float baseline)
intrinsic_per_resolution intrinsic_resolution[MAX_NUM_OF_DEPTH_RESOLUTIONS]
float get_depth_scale() const override
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
uint8_t num_of_resolutions
processing_blocks get_recommended_processing_blocks() const override
std::shared_ptr< rs2_frame_callback > frame_callback_ptr
l500_depth(std::shared_ptr< context > ctx, const platform::backend_device_group &group)
void update(std::shared_ptr< extension_snapshot > ext) override
static ivcam2::intrinsic_params get_intrinsic_params(const uint32_t width, const uint32_t height, ivcam2::intrinsic_depth intrinsic)
Video DSM (Digital Sync Module) parameters for calibration (same layout as in FW ac_depth_params) Thi...
virtual stream_profiles init_stream_profiles() override
stream_profiles init_stream_profiles() override
ivcam2::intrinsic_depth get_intrinsic() const override
static const textual_icon stop
std::vector< tagged_profile > get_profiles_tags() const override
void enable_recording(std::function< void(const l500_depth_sensor_interface &)> recording_function) override
ivcam2::intrinsic_depth get_intrinsic() const override
stream_profiles _user_requests
~l500_depth_sensor_snapshot()
resolutions_depth resolution
GLint GLsizei GLsizei height
float read_baseline() const override
void enable_recording(std::function< void(const l500_depth_sensor_interface &)> recording_function) override
float get_depth_scale(rs2::device dev)
std::vector< std::shared_ptr< stream_profile_interface >> stream_profiles
static environment & get_instance()
extrinsics_graph & get_extrinsics_graph()
ivcam2::intrinsic_depth read_intrinsics_table() const
Cross-stream extrinsics: encodes the topology describing how the different devices are oriented...
action_delayer _action_delayer
void stop_temperatures_reader()
stream_profile to_profile(const stream_profile_interface *sp)
friend class l500_depth_sensor
l500_device *const _owner
rs2_intrinsics get_intrinsics(const stream_profile &profile) const override
ivcam2::intrinsic_depth _intrinsic
pinhole_camera_model pinhole_cam_model
stream_profiles _validator_requests
void create_snapshot(std::shared_ptr< l500_depth_sensor_interface > &snapshot) const override
std::shared_ptr< matcher > create_matcher(const frame_holder &frame) const override
MAP_EXTENSION(RS2_EXTENSION_POINTS, librealsense::points)
void create_snapshot(std::shared_ptr< l500_depth_sensor_interface > &snapshot) const override
std::string to_string(T value)
std::vector< rs2_option > get_supported_options() const override