![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <CloudViewerScene.h>
Public Types | |
| enum class | LightingProfile { HARD_SHADOWS , DARK_SHADOWS , MED_SHADOWS , SOFT_SHADOWS , NO_SHADOWS } |
| enum class | LOD { HIGH_DETAIL , FAST } |
Public Member Functions | |
| CloudViewerScene (Renderer &renderer) | |
| ~CloudViewerScene () | |
| View * | GetView () const |
| ViewHandle | GetViewId () const |
| void | SetViewport (std::int32_t x, std::int32_t y, std::uint32_t width, std::uint32_t height) |
| void | ShowSkybox (bool enable) |
| void | ShowAxes (bool enable) |
| void | SetBackground (const Eigen::Vector4f &color, std::shared_ptr< geometry::Image > image=nullptr) |
| const Eigen::Vector4f | GetBackgroundColor () const |
| void | ShowGroundPlane (bool enable, Scene::GroundPlane plane) |
| void | SetLighting (LightingProfile profile, const Eigen::Vector3f &sun_dir) |
| void | SetDownsampleThreshold (size_t n_points) |
| size_t | GetDownsampleThreshold () const |
| void | ClearGeometry () |
| void | AddGeometry (const std::string &name, const ccHObject *geom, const MaterialRecord &mat, bool add_downsampled_copy_for_fast_rendering=true) |
| Adds a geometry with the specified name. Default visible is true. More... | |
| void | AddGeometry (const std::string &name, const t::geometry::Geometry *geom, const MaterialRecord &mat, bool add_downsampled_copy_for_fast_rendering=true) |
| bool | HasGeometry (const std::string &name) const |
| void | RemoveGeometry (const std::string &name) |
| void | ShowGeometry (const std::string &name, bool show) |
| Shows or hides the geometry with the specified name. More... | |
| bool | GeometryIsVisible (const std::string &name) |
| void | SetGeometryTransform (const std::string &name, const Eigen::Matrix4d &transform) |
| Eigen::Matrix4d | GetGeometryTransform (const std::string &name) |
| void | ModifyGeometryMaterial (const std::string &name, const MaterialRecord &mat) |
| void | AddModel (const std::string &name, const TriangleMeshModel &model) |
| void | UpdateMaterial (const MaterialRecord &mat) |
| Updates all geometries to use this material. More... | |
| void | UpdateModelMaterial (const std::string &name, const TriangleMeshModel &model) |
| Updates the named model to use this material. More... | |
| std::vector< std::string > | GetGeometries () |
| const ccBBox & | GetBoundingBox () |
| void | SetLOD (LOD lod) |
| LOD | GetLOD () const |
| Scene * | GetScene () const |
| Camera * | GetCamera () const |
| Renderer & | GetRenderer () const |
Definition at line 39 of file CloudViewerScene.h.
| Enumerator | |
|---|---|
| HARD_SHADOWS | |
| DARK_SHADOWS | |
| MED_SHADOWS | |
| SOFT_SHADOWS | |
| NO_SHADOWS | |
Definition at line 58 of file CloudViewerScene.h.
| Enumerator | |
|---|---|
| HIGH_DETAIL | |
| FAST | |
Definition at line 111 of file CloudViewerScene.h.
| cloudViewer::visualization::rendering::CloudViewerScene::CloudViewerScene | ( | Renderer & | renderer | ) |
Definition at line 98 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::CreateScene(), cloudViewer::visualization::rendering::Renderer::GetScene(), MED_SHADOWS, SetBackground(), and SetLighting().
| cloudViewer::visualization::rendering::CloudViewerScene::~CloudViewerScene | ( | ) |
| void cloudViewer::visualization::rendering::CloudViewerScene::AddGeometry | ( | const std::string & | name, |
| const ccHObject * | geom, | ||
| const MaterialRecord & | mat, | ||
| bool | add_downsampled_copy_for_fast_rendering = true |
||
| ) |
Adds a geometry with the specified name. Default visible is true.
Definition at line 233 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), cloudViewer::visualization::rendering::kFastModelObjectSuffix(), name, and SIZE_MAX.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::AddGeometry | ( | const std::string & | name, |
| const t::geometry::Geometry * | geom, | ||
| const MaterialRecord & | mat, | ||
| bool | add_downsampled_copy_for_fast_rendering = true |
||
| ) |
Definition at line 264 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::MaterialRecord::base_color, cloudViewer::geometry::LineSet::CreateFromAxisAlignedBoundingBox(), cloudViewer::visualization::rendering::Scene::GetGeometryBoundingBox(), cloudViewer::visualization::rendering::Renderer::GetScene(), cloudViewer::visualization::rendering::kFastModelObjectSuffix(), cloudViewer::visualization::rendering::kLowQualityModelObjectSuffix(), name, cloudViewer::visualization::rendering::MaterialRecord::shader, and SIZE_MAX.
| void cloudViewer::visualization::rendering::CloudViewerScene::AddModel | ( | const std::string & | name, |
| const TriangleMeshModel & | model | ||
| ) |
Definition at line 383 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), and name.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::ClearGeometry | ( | ) |
Definition at line 217 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), and cloudViewer::visualization::rendering::Scene::RemoveGeometry().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes(), and ~CloudViewerScene().
| bool cloudViewer::visualization::rendering::CloudViewerScene::GeometryIsVisible | ( | const std::string & | name | ) |
Definition at line 325 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Scene::GeometryIsVisible(), cloudViewer::visualization::rendering::Renderer::GetScene(), and name.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| const Eigen::Vector4f cloudViewer::visualization::rendering::CloudViewerScene::GetBackgroundColor | ( | ) | const |
Definition at line 158 of file CloudViewerScene.cpp.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
|
inline |
Definition at line 109 of file CloudViewerScene.h.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes(), and cloudViewer::visualization::rendering::PyOffscreenRenderer::SetupCamera().
| Camera * cloudViewer::visualization::rendering::CloudViewerScene::GetCamera | ( | ) | const |
Definition at line 470 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::View::GetCamera(), cloudViewer::visualization::rendering::Renderer::GetScene(), and cloudViewer::visualization::rendering::Scene::GetView().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes(), and cloudViewer::visualization::rendering::PyOffscreenRenderer::SetupCamera().
|
inline |
Definition at line 74 of file CloudViewerScene.h.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| std::vector< std::string > cloudViewer::visualization::rendering::CloudViewerScene::GetGeometries | ( | ) |
Definition at line 418 of file CloudViewerScene.cpp.
Referenced by cloudViewer::visualization::rendering::ModelInteractorLogic::StartMouseDrag().
| Eigen::Matrix4d cloudViewer::visualization::rendering::CloudViewerScene::GetGeometryTransform | ( | const std::string & | name | ) |
Definition at line 347 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Scene::GetGeometryTransform(), cloudViewer::visualization::rendering::Renderer::GetScene(), and name.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| CloudViewerScene::LOD cloudViewer::visualization::rendering::CloudViewerScene::GetLOD | ( | ) | const |
Definition at line 466 of file CloudViewerScene.cpp.
| Renderer & cloudViewer::visualization::rendering::CloudViewerScene::GetRenderer | ( | ) | const |
| Scene * cloudViewer::visualization::rendering::CloudViewerScene::GetScene | ( | ) | const |
Definition at line 468 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene().
Referenced by cloudViewer::visualization::rendering::ModelInteractorLogic::Dolly(), cloudViewer::visualization::rendering::ModelInteractorLogic::EndMouseDrag(), cloudViewer::visualization::rendering::ModelInteractorLogic::Pan(), cloudViewer::visualization::rendering::pybind_rendering_classes(), cloudViewer::visualization::gui::RenderToDepthImageWithoutWindow(), cloudViewer::visualization::gui::RenderToImageWithoutWindow(), cloudViewer::visualization::rendering::ModelInteractorLogic::Rotate(), cloudViewer::visualization::rendering::ModelInteractorLogic::RotateZ(), and cloudViewer::visualization::rendering::ModelInteractorLogic::StartMouseDrag().
| View * cloudViewer::visualization::rendering::CloudViewerScene::GetView | ( | ) | const |
Definition at line 116 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), and cloudViewer::visualization::rendering::Scene::GetView().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes(), cloudViewer::visualization::gui::RenderToDepthImageWithoutWindow(), cloudViewer::visualization::gui::RenderToImageWithoutWindow(), and SetViewport().
|
inline |
Definition at line 45 of file CloudViewerScene.h.
| bool cloudViewer::visualization::rendering::CloudViewerScene::HasGeometry | ( | const std::string & | name | ) | const |
Definition at line 305 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), cloudViewer::visualization::rendering::Scene::HasGeometry(), and name.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::ModifyGeometryMaterial | ( | const std::string & | name, |
| const MaterialRecord & | mat | ||
| ) |
Definition at line 353 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), name, and cloudViewer::visualization::rendering::Scene::OverrideMaterial().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::RemoveGeometry | ( | const std::string & | name | ) |
Definition at line 310 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), and name.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::SetBackground | ( | const Eigen::Vector4f & | color, |
| std::shared_ptr< geometry::Image > | image = nullptr |
||
| ) |
Definition at line 150 of file CloudViewerScene.cpp.
References color, cloudViewer::visualization::rendering::Renderer::GetScene(), image, and cloudViewer::visualization::rendering::Scene::SetBackground().
Referenced by CloudViewerScene(), and cloudViewer::visualization::rendering::pybind_rendering_classes().
|
inline |
Sets the maximum number of points before AddGeometry also adds a downsampled point cloud with number of points, used when rendering speed is important.
Definition at line 71 of file CloudViewerScene.h.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::SetGeometryTransform | ( | const std::string & | name, |
| const Eigen::Matrix4d & | transform | ||
| ) |
Definition at line 330 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), name, and cloudViewer::t::geometry::Transform().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::SetLighting | ( | LightingProfile | profile, |
| const Eigen::Vector3f & | sun_dir | ||
| ) |
Definition at line 167 of file CloudViewerScene.cpp.
References DARK_SHADOWS, cloudViewer::visualization::gui::Application::GetInstance(), cloudViewer::visualization::gui::Application::GetResourcePath(), cloudViewer::visualization::rendering::Renderer::GetScene(), HARD_SHADOWS, MED_SHADOWS, NO_SHADOWS, cloudViewer::t::geometry::path, profile, and SOFT_SHADOWS.
Referenced by CloudViewerScene(), and cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::SetLOD | ( | LOD | lod | ) |
Definition at line 427 of file CloudViewerScene.cpp.
| void cloudViewer::visualization::rendering::CloudViewerScene::SetViewport | ( | std::int32_t | x, |
| std::int32_t | y, | ||
| std::uint32_t | width, | ||
| std::uint32_t | height | ||
| ) |
Definition at line 121 of file CloudViewerScene.cpp.
| void cloudViewer::visualization::rendering::CloudViewerScene::ShowAxes | ( | bool | enable | ) |
Definition at line 141 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), and cloudViewer::visualization::rendering::kAxisObjectName().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::ShowGeometry | ( | const std::string & | name, |
| bool | show | ||
| ) |
Shows or hides the geometry with the specified name.
Definition at line 366 of file CloudViewerScene.cpp.
References name.
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::ShowGroundPlane | ( | bool | enable, |
| Scene::GroundPlane | plane | ||
| ) |
Definition at line 162 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Scene::EnableGroundPlane(), and cloudViewer::visualization::rendering::Renderer::GetScene().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::ShowSkybox | ( | bool | enable | ) |
Definition at line 136 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), and cloudViewer::visualization::rendering::Scene::ShowSkybox().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::UpdateMaterial | ( | const MaterialRecord & | mat | ) |
Updates all geometries to use this material.
Definition at line 396 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), and cloudViewer::visualization::rendering::Scene::OverrideMaterial().
Referenced by cloudViewer::visualization::rendering::pybind_rendering_classes().
| void cloudViewer::visualization::rendering::CloudViewerScene::UpdateModelMaterial | ( | const std::string & | name, |
| const TriangleMeshModel & | model | ||
| ) |
Updates the named model to use this material.
Definition at line 411 of file CloudViewerScene.cpp.
References cloudViewer::visualization::rendering::Renderer::GetScene(), name, and cloudViewer::visualization::rendering::Scene::RemoveGeometry().