6 #include <unordered_set> 40 template<
typename T,
size_t sz>
53 extension(extension), filters(filters_str, filters_str + filters_size) {};
59 void reset_camera(
float3 pos = { 0.0f, 0.0f, -1.0f });
61 void update_configuration();
63 const float panel_width = 340.f;
64 const float panel_y = 50.f;
79 std::shared_ptr<texture_buffer> get_last_texture();
85 bool is_3d_depth_source(
frame f);
86 bool is_3d_texture_source(
frame f)
const;
88 std::shared_ptr<texture_buffer> upload_frame(
frame&& f);
90 std::map<int, rect> calc_layout(
const rect&
r);
92 void show_no_stream_overlay(
ImFont*
font,
int min_x,
int min_y,
int max_x,
int max_y);
93 void show_no_device_overlay(
ImFont* font,
int min_x,
int min_y);
94 void show_rendering_not_supported(
ImFont* font_18,
int min_x,
int min_y,
int max_x,
int max_y,
rs2_format format);
96 void show_paused_icon(
ImFont* font,
int x,
int y,
int id);
97 void show_recording_icon(
ImFont* font_18,
int x,
int y,
int id,
float alpha_delta);
103 void popup_firmware_update_progress(
const ux_window& window,
const float progress);
105 void render_pose(
rs2::rect stream_rect,
float buttons_heights);
106 void try_select_pointcloud(
ux_window& win);
110 void update_3d_camera(
ux_window& win,
const rect& viewer_rect,
bool force =
false);
117 void render_2d_view(
const rect& view_rect,
ux_window& win,
int output_height,
127 bool fullscreen =
false;
133 std::shared_ptr<notifications_model> not_model = std::make_shared<notifications_model>();
146 void draw_viewport(
const rect& viewer_rect,
150 bool allow_3d_source_change =
true;
151 bool allow_stream_close =
true;
154 bool draw_plane =
false;
156 bool draw_frustrum =
true;
157 bool support_non_syncronized_mode =
true;
162 int selected_depth_source_uid = -1;
163 int selected_tex_source_uid = -1;
165 double texture_update_time = 0.0;
175 float dim_level = 1.f;
179 bool select_3d_source =
false;
180 bool select_tex_source =
false;
181 bool select_shader_source =
false;
182 bool show_help_screen =
false;
184 bool glsl_available =
false;
185 bool modal_notification_on =
false;
189 press_button_model pose_info_object_button{
u8"\uf05a",
u8"\uf05a",
"Show pose stream info overlay",
"Hide pose stream info overlay",
false };
199 void check_permissions();
200 void hide_common_options();
213 std::map<int, rect> get_interpolated_layout(
const std::map<int, rect>& l);
214 void show_icon(
ImFont* font_18,
const char* label_str,
const char* text,
int x,
int y,
216 void draw_color_ruler(
const mouse_info& mouse,
218 const rect& stream_rect,
219 std::vector<rgb_per_distance> rgb_per_distance_vec,
222 float calculate_ruler_max_distance(
const std::vector<float>& distances)
const;
234 bool fixed_up =
true;
243 bool manipulating =
false;
250 bool _pc_selected =
false;
rs2::gl::pointcloud_renderer _pc_renderer
streams_layout _old_layout
GLboolean GLboolean GLboolean b
std::map< int, int > streams_origin
GLuint const GLchar * name
static export_model make_exporter(std::string name, std::string extension, T(&filters_str)[sz])
rs2_option
Defines general configuration controls. These can generally be mapped to camera UVC controls...
std::vector< char > filters
float get_output_height() const
std::map< int, stream_model > streams
std::unordered_set< int > _hidden_options
GLsizei const GLchar *const * string
std::atomic< bool > synchronization_enable
rs2::gl::camera_renderer _cam_renderer
std::atomic< int > zo_sensors
std::chrono::high_resolution_clock::time_point _transition_start_time
bool _support_ir_reflectivity
frameset_allocator frameset_alloc
static const char * metric_system
static const char * continue_with_current_fw
std::vector< int > last_tex_sources
export_model(std::string name, std::string extension, const char *filters_str, size_t filters_size)
std::vector< rs2::frame > get_frames(std::vector< rs2::sensor > sensors)
GLint GLint GLsizei GLint GLenum format
std::shared_ptr< updates_model > updates
rs2_format
A stream's format identifies how binary data is encoded within a frame.
std::array< float3, 4 > roi_rect
std::map< export_type, export_model > exporters
measurement _measurements
std::map< int, rect > streams_layout
post_processing_filters ppf
std::map< rs2_option, int > options
static const char * ground_truth_r
std::atomic< bool > synchronization_enable_prev_state
std::vector< std::unique_ptr< device_model > > device_models_list
std::vector< popup > _active_popups
std::array< float, 3 > color
static const char * is_3d_view
std::shared_ptr< syncer_model > syncer
std::shared_ptr< texture_buffer > last_texture
GLdouble GLdouble GLint GLint const GLdouble * points