34 namespace visualization {
39 static constexpr
const char*
CUSTOM_IBL =
"Custom KTX file...";
42 "Material from file [default]";
44 "Cloudy day (no direct sun)";
53 rendering::Scene::Transform::Identity();
127 const std::string&
name);
158 void SetOnChanged(std::function<
void(
bool)> on_changed);
161 Eigen::Vector3f bg_color_ = {1.0f, 1.0f, 1.0f};
162 bool show_skybox_ =
false;
163 bool show_axes_ =
false;
164 bool show_ground_ =
false;
165 bool sun_follows_cam_ =
true;
166 LightingProfile lighting_;
168 Materials current_materials_;
169 Eigen::Vector3f custom_default_color = {-1.0f, -1.0f, 1.0f};
170 bool user_has_changed_color_ =
false;
171 bool user_has_changed_lighting_profile_ =
false;
172 bool user_has_customized_lighting_ =
false;
173 bool displaying_point_clouds_ =
false;
174 bool user_wants_estimate_normals_ =
false;
175 bool basic_mode_enabled_ =
false;
176 bool wireframe_mode_enabled_ =
false;
178 std::function<
void(
bool)> on_changed_;
180 void NotifyChanged(
bool material_changed =
false);
math::float4 color
Definition: LineSetBuffers.cpp:64
Open3DScene::LightingProfile profile
Definition: O3DVisualizer.cpp:288
Definition: GuiSettingsModel.h:36
void SetBasicMode(bool enable)
Definition: GuiSettingsModel.cpp:225
bool GetUserHasChangedLightingProfile() const
Definition: GuiSettingsModel.cpp:395
bool GetShowSkybox() const
Definition: GuiSettingsModel.cpp:200
void SetShowAxes(bool show)
Definition: GuiSettingsModel.cpp:207
const Eigen::Vector3f & GetBackgroundColor() const
Definition: GuiSettingsModel.cpp:238
void SetShowSkybox(bool show)
Definition: GuiSettingsModel.cpp:201
int GetPointSize() const
Definition: GuiSettingsModel.cpp:364
static constexpr const char * DEFAULT_IBL
Definition: GuiSettingsModel.h:38
void SetCurrentMaterialColor(const Eigen::Vector3f &color)
Definition: GuiSettingsModel.cpp:329
static const std::map< std::string, const LitMaterial > prefab_materials_
Definition: GuiSettingsModel.h:92
bool GetSunFollowsCamera() const
Definition: GuiSettingsModel.cpp:218
void UnsetCustomDefaultColor()
Definition: GuiSettingsModel.cpp:360
bool GetShowGround() const
Definition: GuiSettingsModel.cpp:212
void SetBackgroundColor(const Eigen::Vector3f &color)
Definition: GuiSettingsModel.cpp:241
bool GetDisplayingPointClouds() const
Definition: GuiSettingsModel.cpp:387
void SetCurrentMaterials(const Materials &materials, const std::string &name)
Definition: GuiSettingsModel.cpp:290
bool GetShowAxes() const
Definition: GuiSettingsModel.cpp:206
void SetMaterialsToDefault()
Definition: GuiSettingsModel.cpp:302
void SetCustomDefaultColor(const Eigen::Vector3f color)
Definition: GuiSettingsModel.cpp:356
MaterialType GetMaterialType() const
Definition: GuiSettingsModel.cpp:262
static const LightingProfile & GetDefaultLightingProfile()
Definition: GuiSettingsModel.cpp:171
void SetPointSize(int size)
Definition: GuiSettingsModel.cpp:368
bool GetUserHasCustomizedLighting() const
Definition: GuiSettingsModel.cpp:399
static constexpr const char * MATERIAL_FROM_FILE_NAME
Definition: GuiSettingsModel.h:41
void SetMaterialType(MaterialType type)
Definition: GuiSettingsModel.cpp:265
void SetOnChanged(std::function< void(bool)> on_changed)
Definition: GuiSettingsModel.cpp:407
static constexpr const char * DEFAULT_MATERIAL_NAME
Definition: GuiSettingsModel.h:40
void SetSunFollowsCamera(bool follow)
Definition: GuiSettingsModel.cpp:219
static const std::vector< LightingProfile > lighting_profiles_
Definition: GuiSettingsModel.h:91
bool GetBasicMode() const
Definition: GuiSettingsModel.cpp:224
const LightingProfile & GetLighting() const
Definition: GuiSettingsModel.cpp:246
void ResetColors()
Definition: GuiSettingsModel.cpp:343
void SetLightingProfile(const LightingProfile &profile)
Definition: GuiSettingsModel.cpp:250
static constexpr const char * CUSTOM_IBL
Definition: GuiSettingsModel.h:39
static constexpr const char * POINT_CLOUD_PROFILE_NAME
Definition: GuiSettingsModel.h:43
const Materials & GetCurrentMaterials() const
Definition: GuiSettingsModel.cpp:270
const Eigen::Vector3f & GetCurrentMaterialColor() const
Definition: GuiSettingsModel.cpp:314
void SetLitMaterial(const LitMaterial &material, const std::string &name)
Definition: GuiSettingsModel.cpp:279
static const LitMaterial & GetDefaultLitMaterial()
Definition: GuiSettingsModel.cpp:181
MaterialType
Definition: GuiSettingsModel.h:59
@ LIT
Definition: GuiSettingsModel.h:60
@ DEPTH
Definition: GuiSettingsModel.h:63
@ NORMAL_MAP
Definition: GuiSettingsModel.h:62
@ UNLIT
Definition: GuiSettingsModel.h:61
GuiSettingsModel()
Definition: GuiSettingsModel.cpp:194
bool GetUserWantsEstimateNormals()
Definition: GuiSettingsModel.cpp:373
void EstimateNormalsClicked()
Definition: GuiSettingsModel.cpp:382
void SetShowGround(bool show)
Definition: GuiSettingsModel.cpp:213
static const LightingProfile & GetDefaultPointCloudLightingProfile()
Definition: GuiSettingsModel.cpp:176
void SetCustomLighting(const LightingProfile &profile)
Definition: GuiSettingsModel.cpp:256
void SetWireframeMode(bool enable)
Definition: GuiSettingsModel.cpp:233
void SetDisplayingPointClouds(bool displaying)
If true, enables point size.
Definition: GuiSettingsModel.cpp:390
bool GetWireframeMode() const
Definition: GuiSettingsModel.cpp:230
bool GetUserHasChangedColor() const
Definition: GuiSettingsModel.cpp:403
Eigen::Transform< float, 3, Eigen::Affine > Transform
Definition: Scene.h:68
const char const char value recording_handle imu_sample void
Definition: K4aPlugin.cpp:269
Definition: PinholeCameraIntrinsic.cpp:35
Definition: GuiSettingsModel.h:46
bool use_default_ibl
Definition: GuiSettingsModel.h:55
rendering::Scene::Transform ibl_rotation
Definition: GuiSettingsModel.h:52
Eigen::Vector3f sun_dir
Definition: GuiSettingsModel.h:50
double ibl_intensity
Definition: GuiSettingsModel.h:48
double sun_intensity
Definition: GuiSettingsModel.h:49
bool ibl_enabled
Definition: GuiSettingsModel.h:54
Eigen::Vector3f sun_color
Definition: GuiSettingsModel.h:51
bool sun_enabled
Definition: GuiSettingsModel.h:56
std::string name
Definition: GuiSettingsModel.h:47
Definition: GuiSettingsModel.h:66
float reflectance
Definition: GuiSettingsModel.h:70
float clear_coat_roughness
Definition: GuiSettingsModel.h:72
float anisotropy
Definition: GuiSettingsModel.h:73
float metallic
Definition: GuiSettingsModel.h:68
Eigen::Vector3f base_color
Definition: GuiSettingsModel.h:67
float roughness
Definition: GuiSettingsModel.h:69
float clear_coat
Definition: GuiSettingsModel.h:71
Definition: GuiSettingsModel.h:82
float point_size
Definition: GuiSettingsModel.h:85
UnlitMaterial unlit
Definition: GuiSettingsModel.h:84
std::string lit_name
Definition: GuiSettingsModel.h:88
LitMaterial lit
Definition: GuiSettingsModel.h:83
Definition: GuiSettingsModel.h:76
Eigen::Vector3f base_color
Definition: GuiSettingsModel.h:79