// ---------------------------------------------------------------------------- // - Open3D: www.open3d.org - // ---------------------------------------------------------------------------- // Copyright (c) 2018-2023 www.open3d.org // SPDX-License-Identifier: MIT // ---------------------------------------------------------------------------- #pragma once #include #include #include #include "open3d/visualization/gui/Layout.h" namespace open3d { namespace visualization { namespace gui { class Button; class Checkbox; class Combobox; class ColorEdit; class CollapsableVert; class Slider; class VectorEdit; } // namespace gui class GuiSettingsModel; class GuiSettingsView : public gui::Vert { public: GuiSettingsView(GuiSettingsModel& model, const gui::Theme& theme, const std::string& resource_path, std::function on_load_ibl); void ShowFileMaterialEntry(bool show); void EnableEstimateNormals(bool enable); void Update(); private: GuiSettingsModel& model_; std::function on_load_ibl_; std::shared_ptr lighting_profile_; std::shared_ptr show_axes_; std::shared_ptr show_ground_; std::shared_ptr bg_color_; std::shared_ptr show_skybox_; std::shared_ptr advanced_; std::shared_ptr ibl_enabled_; std::shared_ptr sun_enabled_; std::shared_ptr ibls_; std::shared_ptr ibl_intensity_; std::shared_ptr sun_intensity_; std::shared_ptr sun_dir_; std::shared_ptr sun_follows_camera_; std::shared_ptr sun_color_; std::shared_ptr material_type_; std::shared_ptr prefab_material_; std::shared_ptr material_color_; std::shared_ptr reset_material_color_; std::shared_ptr point_size_; std::shared_ptr generate_normals_; std::shared_ptr basic_mode_; std::shared_ptr wireframe_mode_; bool sun_follows_cam_was_on_ = true; void UpdateUIForBasicMode(bool enable); }; } // namespace visualization } // namespace open3d