Skip to content

Commit 285cbc9

Browse files
committed
enable frustums on dataload
1 parent d232e7f commit 285cbc9

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

src/visualizer/scene/scene_manager.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1638,6 +1638,19 @@ namespace lfs::vis {
16381638
}
16391639
}
16401640

1641+
void SceneManager::syncDatasetCameraFrustumsToRenderSettings() {
1642+
auto* rm = services().renderingOrNull();
1643+
if (!rm || scene_.getAllCameras().empty())
1644+
return;
1645+
1646+
auto settings = rm->getSettings();
1647+
if (settings.show_camera_frustums)
1648+
return;
1649+
1650+
settings.show_camera_frustums = true;
1651+
rm->updateSettings(settings);
1652+
}
1653+
16411654
std::expected<void, std::string> SceneManager::applyLoadedDataset(
16421655
const std::filesystem::path& path,
16431656
const lfs::core::param::TrainingParameters& params,
@@ -1690,6 +1703,7 @@ namespace lfs::vis {
16901703
.emit();
16911704

16921705
python::set_application_scene(&scene_);
1706+
syncDatasetCameraFrustumsToRenderSettings();
16931707

16941708
if ((num_gaussians > 0 || num_points > 0) && services().trainerOrNull() && services().trainerOrNull()->getTrainer()) {
16951709
ui::PointCloudModeChanged{.enabled = true, .voxel_size = DEFAULT_VOXEL_SIZE}.emit();
@@ -1792,6 +1806,7 @@ namespace lfs::vis {
17921806
.emit();
17931807

17941808
python::set_application_scene(&scene_);
1809+
syncDatasetCameraFrustumsToRenderSettings();
17951810

17961811
state::DatasetLoadCompleted{
17971812
.path = path,
@@ -2036,6 +2051,7 @@ namespace lfs::vis {
20362051
.emit();
20372052

20382053
python::set_application_scene(&scene_);
2054+
syncDatasetCameraFrustumsToRenderSettings();
20392055

20402056
ui::PointCloudModeChanged{.enabled = false, .voxel_size = DEFAULT_VOXEL_SIZE}.emit();
20412057
selectNode(MODEL_NAME);

src/visualizer/scene/scene_manager.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,7 @@ namespace lfs::vis {
264264
private:
265265
void resetToEmptyState(bool trainer_already_cleared = false);
266266
void setupEventHandlers();
267+
void syncDatasetCameraFrustumsToRenderSettings();
267268
void syncCropToolRenderSettings(const core::SceneNode* node);
268269
void loadPPISPCompanion(const std::filesystem::path& ppisp_path);
269270
void handleCropActivePly(const lfs::geometry::BoundingBox& crop_box, bool inverse);

0 commit comments

Comments
 (0)