7#include "processing_observer.hpp"
11#include <vtkRenderer.h>
13#include <vtkSmartPointer.h>
21namespace fs = std::filesystem;
27 std::vector<PanoramaInfo>
infos;
33 std::vector<vtkSmartPointer<vtkProp>>
54 vtkSmartPointer<vtkSkybox> &skybox,
59 const vtkSmartPointer<vtkSkybox> &skybox,
64 const fs::path &project_path,
66 const std::vector<int> &viewports);
71 const std::vector<int> &viewports);
std::shared_ptr< pcl::visualization::PCLVisualizer > ViewerPtr
vtkRenderer * viewport_renderer(const rux::VizualizationObserver::ViewerPtr &viewer, int viewport)
Get the VTK renderer for a PCL viewport index.
void activate_panorama_skybox(const fs::path &db_path, const PanoramaInfo &info, vtkSmartPointer< vtkSkybox > &skybox, const rux::VizualizationObserver::ViewerPtr &viewer, int viewport)
Activate the panorama skybox in the VTK renderer.
void exit_panorama_mode(std::shared_ptr< PanoramaState > state, const rux::VizualizationObserver::ViewerPtr &viewer, const std::vector< int > &viewports)
Exit immersive panorama mode: restore scene and camera.
void deactivate_panorama_skybox(const vtkSmartPointer< vtkSkybox > &skybox, const rux::VizualizationObserver::ViewerPtr &viewer, int viewport)
Remove the skybox actor from the VTK renderer.
void enter_panorama_mode(std::shared_ptr< PanoramaState > state, int pano_index, const fs::path &project_path, const rux::VizualizationObserver::ViewerPtr &viewer, const std::vector< int > &viewports)
Enter immersive panorama mode: hide all scene geometry, show skybox.
Metadata for a panoramic image (pixel data loaded on-demand).
Saved viewer state for restoration on exit.
std::vector< vtkSmartPointer< vtkProp > > hidden_props
All props hidden on enter.
State for immersive panorama viewing.
bool immersive
Currently in panorama mode.
int active_index
Which panorama is displayed.
vtkSmartPointer< vtkSkybox > skybox
Reusable skybox actor.
std::vector< PanoramaInfo > infos
All panorama metadata.
struct rux::view::PanoramaState::SavedView saved