![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
#include <FilamentScene.h>


Public Member Functions | |
| FilamentScene (filament::Engine &engine, FilamentResourceManager &resource_mgr, Renderer &renderer) | |
| ~FilamentScene () | |
| Scene * | Copy () override |
| ViewHandle | AddView (std::int32_t x, std::int32_t y, std::uint32_t w, std::uint32_t h) override |
| View * | GetView (const ViewHandle &view_id) const override |
| void | SetViewActive (const ViewHandle &view_id, bool is_active) override |
| void | SetRenderOnce (const ViewHandle &view_id) override |
| void | RemoveView (const ViewHandle &view_id) override |
| void | AddCamera (const std::string &camera_name, std::shared_ptr< Camera > cam) override |
| void | RemoveCamera (const std::string &camera_name) override |
| void | SetActiveCamera (const std::string &camera_name) override |
| bool | AddGeometry (const std::string &object_name, const ccHObject &geometry, const MaterialRecord &material, const std::string &downsampled_name="", size_t downsample_threshold=SIZE_MAX) override |
| bool | AddGeometry (const std::string &object_name, const t::geometry::Geometry &geometry, const MaterialRecord &material, const std::string &downsampled_name="", size_t downsample_threshold=SIZE_MAX) override |
| bool | AddGeometry (const std::string &object_name, const TriangleMeshModel &model) override |
| bool | HasGeometry (const std::string &object_name) const override |
| void | UpdateGeometry (const std::string &object_name, const t::geometry::PointCloud &point_cloud, uint32_t update_flags) override |
| void | RemoveGeometry (const std::string &object_name) override |
| void | ShowGeometry (const std::string &object_name, bool show) override |
| bool | GeometryIsVisible (const std::string &object_name) override |
| void | SetGeometryTransform (const std::string &object_name, const Transform &transform) override |
| Transform | GetGeometryTransform (const std::string &object_name) override |
| ccBBox | GetGeometryBoundingBox (const std::string &object_name) override |
| void | GeometryShadows (const std::string &object_name, bool cast_shadows, bool receive_shadows) override |
| void | SetGeometryCulling (const std::string &object_name, bool enable) override |
| void | SetGeometryPriority (const std::string &object_name, uint8_t priority) override |
| void | OverrideMaterial (const std::string &object_name, const MaterialRecord &material) override |
| void | QueryGeometry (std::vector< std::string > &geometry) override |
| void | OverrideMaterialAll (const MaterialRecord &material, bool shader_only=true) override |
| bool | AddPointLight (const std::string &light_name, const Eigen::Vector3f &color, const Eigen::Vector3f &position, float intensity, float falloff, bool cast_shadows) override |
| bool | AddSpotLight (const std::string &light_name, const Eigen::Vector3f &color, const Eigen::Vector3f &position, const Eigen::Vector3f &direction, float intensity, float falloff, float inner_cone_angle, float outer_cone_angle, bool cast_shadows) override |
| bool | AddDirectionalLight (const std::string &light_name, const Eigen::Vector3f &color, const Eigen::Vector3f &direction, float intensity, bool cast_shadows) override |
| Light & | GetLight (const std::string &light_name) override |
| void | RemoveLight (const std::string &light_name) override |
| void | UpdateLight (const std::string &light_name, const Light &light) override |
| void | UpdateLightColor (const std::string &light_name, const Eigen::Vector3f &color) override |
| void | UpdateLightPosition (const std::string &light_name, const Eigen::Vector3f &position) override |
| void | UpdateLightDirection (const std::string &light_name, const Eigen::Vector3f &direction) override |
| void | UpdateLightIntensity (const std::string &light_name, float intensity) override |
| void | UpdateLightFalloff (const std::string &light_name, float falloff) override |
| void | UpdateLightConeAngles (const std::string &light_name, float inner_cone_angle, float outer_cone_angle) override |
| void | EnableLightShadow (const std::string &light_name, bool cast_shadows) override |
| void | SetSunLight (const Eigen::Vector3f &direction, const Eigen::Vector3f &color, float intensity) override |
| void | EnableSunLight (bool enable) override |
| void | EnableSunLightShadows (bool enable) override |
| void | SetSunLightColor (const Eigen::Vector3f &color) override |
| Eigen::Vector3f | GetSunLightColor () override |
| void | SetSunLightIntensity (float intensity) override |
| float | GetSunLightIntensity () override |
| void | SetSunLightDirection (const Eigen::Vector3f &direction) override |
| Eigen::Vector3f | GetSunLightDirection () override |
| void | SetSunAngularRadius (float radius) override |
| void | SetSunHaloSize (float size) override |
| void | SetSunHaloFalloff (float falloff) override |
| bool | SetIndirectLight (const std::string &ibl_name) override |
| const std::string & | GetIndirectLight () override |
| void | EnableIndirectLight (bool enable) override |
| void | SetIndirectLightIntensity (float intensity) override |
| float | GetIndirectLightIntensity () override |
| void | SetIndirectLightRotation (const Transform &rotation) override |
| Transform | GetIndirectLightRotation () override |
| void | ShowSkybox (bool show) override |
| bool | GetSkyboxVisible () const override |
| void | SetBackground (const Eigen::Vector4f &color, const std::shared_ptr< geometry::Image > image=nullptr) override |
| void | SetBackground (TextureHandle image) override |
| void | EnableGroundPlane (bool enable, GroundPlane plane) override |
| void | SetGroundPlaneColor (const Eigen::Vector4f &color) override |
| void | RenderToImage (std::function< void(std::shared_ptr< geometry::Image >)> callback) override |
| Size of image is the size of the window. More... | |
| void | RenderToDepthImage (std::function< void(std::shared_ptr< geometry::Image >)> callback) override |
| Size of image is the size of the window. More... | |
| void | Draw (filament::Renderer &renderer) |
| void | HideRefractedMaterials (bool hide=true) |
| filament::Scene * | GetNativeScene () const |
Public Member Functions inherited from cloudViewer::visualization::rendering::Scene | |
| Scene (Renderer &renderer) | |
| virtual | ~Scene ()=default |
Additional Inherited Members | |
Public Types inherited from cloudViewer::visualization::rendering::Scene | |
| enum class | GroundPlane { XZ , XY , YZ } |
| using | Transform = Eigen::Transform< float, 3, Eigen::Affine > |
Static Public Attributes inherited from cloudViewer::visualization::rendering::Scene | |
| static const uint32_t | kUpdatePointsFlag = (1 << 0) |
| static const uint32_t | kUpdateNormalsFlag = (1 << 1) |
| static const uint32_t | kUpdateColorsFlag = (1 << 2) |
| static const uint32_t | kUpdateUv0Flag = (1 << 3) |
Protected Attributes inherited from cloudViewer::visualization::rendering::Scene | |
| Renderer & | renderer_ |
Definition at line 68 of file FilamentScene.h.
| cloudViewer::visualization::rendering::FilamentScene::FilamentScene | ( | filament::Engine & | engine, |
| FilamentResourceManager & | resource_mgr, | ||
| Renderer & | renderer | ||
| ) |
Definition at line 151 of file FilamentScene.cpp.
Referenced by Copy().
| cloudViewer::visualization::rendering::FilamentScene::~FilamentScene | ( | ) |
Definition at line 162 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::FilamentResourceManager::Destroy().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 287 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1329 of file FilamentScene.cpp.
References color, ecvColor::light(), LogWarning, cloudViewer::core::make_pair(), and result.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 309 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::GeometryBuffersBuilder::GetBuilder(), ccHObject::getClassID(), ib, ccHObject::IsEmpty(), LogDebug, LogWarning, cloudViewer::visualization::rendering::MaterialRecord::shader, cloudViewer::visualization::rendering::MaterialRecord::sRGB_color, and vb.
Referenced by AddGeometry().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 370 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::GeometryBuffersBuilder::GetBuilder(), ib, cloudViewer::t::geometry::Geometry::IsEmpty(), LogWarning, cloudViewer::visualization::rendering::MaterialRecord::shader, cloudViewer::visualization::rendering::MaterialRecord::sRGB_color, and vb.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 444 of file FilamentScene.cpp.
References AddGeometry(), LogWarning, cloudViewer::visualization::rendering::TriangleMeshModel::materials_, cloudViewer::visualization::rendering::TriangleMeshModel::meshes_, and patch::to_string().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1251 of file FilamentScene.cpp.
References color, ecvColor::light(), LogWarning, cloudViewer::core::make_pair(), position, and result.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1287 of file FilamentScene.cpp.
References color, ecvColor::light(), LogWarning, cloudViewer::core::make_pair(), position, and result.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 239 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::View::DepthAndStencil, and cloudViewer::visualization::rendering::REHandle< EntityType::View >::Next().
Referenced by cloudViewer::visualization::gui::ImguiFilamentBridge::ImguiFilamentBridge().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 178 of file FilamentScene.cpp.
References copy, FilamentScene(), GetGeometryTransform(), cloudViewer::visualization::rendering::FilamentView::kAllLayersMask, cloudViewer::visualization::rendering::FilamentView::kMainLayer, LogWarning, name, cloudViewer::visualization::rendering::Scene::renderer_, and result.
| void cloudViewer::visualization::rendering::FilamentScene::Draw | ( | filament::Renderer & | renderer | ) |
Definition at line 1934 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1805 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::MaterialRecord::base_color, cloudViewer::visualization::rendering::MaterialRecord::ground_plane_axis, HasGeometry(), OverrideMaterial(), cloudViewer::visualization::rendering::MaterialRecord::shader, ShowGeometry(), cloudViewer::visualization::rendering::Scene::XY, and cloudViewer::visualization::rendering::Scene::YZ.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1619 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1449 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1491 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1502 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 702 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 781 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 759 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 744 of file FilamentScene.cpp.
Referenced by Copy().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1617 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1638 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1652 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1364 of file FilamentScene.cpp.
|
inline |
Definition at line 219 of file FilamentScene.h.
Referenced by cloudViewer::visualization::rendering::FilamentView::FilamentView(), and cloudViewer::visualization::rendering::FilamentView::SetScene().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1676 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1530 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1566 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1516 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 258 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 532 of file FilamentScene.cpp.
Referenced by EnableGroundPlane(), and SetGroundPlaneColor().
| void cloudViewer::visualization::rendering::FilamentScene::HideRefractedMaterials | ( | bool | hide = true | ) |
Definition at line 1950 of file FilamentScene.cpp.
References ShowGeometry().
Referenced by cloudViewer::visualization::rendering::FilamentRenderToBuffer::Render().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1227 of file FilamentScene.cpp.
Referenced by EnableGroundPlane(), and SetBackground().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1241 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1235 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 290 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 673 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1375 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 283 of file FilamentScene.cpp.
|
overridevirtual |
Size of image is the size of the window.
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1856 of file FilamentScene.cpp.
References callback, cloudViewer::visualization::rendering::Scene::renderer_, and cloudViewer::visualization::rendering::Renderer::RenderToDepthImage().
|
overridevirtual |
Size of image is the size of the window.
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1850 of file FilamentScene.cpp.
References callback, cloudViewer::visualization::rendering::Scene::renderer_, and cloudViewer::visualization::rendering::Renderer::RenderToImage().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 292 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1714 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::MaterialRecord::albedo_img, cloudViewer::visualization::rendering::MaterialRecord::aspect_ratio, cloudViewer::visualization::rendering::MaterialRecord::base_color, color, cloudViewer::visualization::rendering::FilamentResourceManager::Destroy(), image, cloudViewer::visualization::rendering::FilamentResourceManager::kDefaultTexture, OverrideMaterial(), cloudViewer::visualization::rendering::MaterialRecord::shader, and cloudViewer::visualization::rendering::FilamentResourceManager::UpdateTexture().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1763 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::FilamentResourceManager::GetTexture(), image, cloudViewer::visualization::rendering::TextureSamplerParameters::LinearClamp(), cloudViewer::visualization::rendering::Renderer::ModifyMaterial(), cloudViewer::visualization::rendering::Scene::renderer_, cloudViewer::visualization::rendering::MaterialModifier::SetParameter(), and cloudViewer::visualization::rendering::MaterialModifier::SetTexture().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 794 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 806 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 729 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1824 of file FilamentScene.cpp.
References HasGeometry().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1574 of file FilamentScene.cpp.
References cloudViewer::visualization::rendering::Renderer::AddIndirectLight(), cloudViewer::visualization::rendering::Renderer::AddSkybox(), cloudViewer::visualization::rendering::FilamentResourceManager::Destroy(), cloudViewer::visualization::rendering::FilamentResourceManager::GetIndirectLight(), cloudViewer::visualization::rendering::FilamentResourceManager::GetSkybox(), ecvColor::light(), cloudViewer::visualization::rendering::Scene::renderer_, and ShowSkybox().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1632 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1645 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 275 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1545 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1559 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1552 of file FilamentScene.cpp.
References size.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1480 of file FilamentScene.cpp.
References color.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1523 of file FilamentScene.cpp.
References color.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1538 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1509 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 267 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 688 of file FilamentScene.cpp.
Referenced by EnableGroundPlane(), HideRefractedMaterials(), and ShowSkybox().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1662 of file FilamentScene.cpp.
References ShowGeometry().
Referenced by SetIndirectLight().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 540 of file FilamentScene.cpp.
References cloudViewer::t::geometry::PointCloud::CPU(), cloudViewer::core::Device::CUDA, cloudViewer::core::Tensor::GetDataPtr(), cloudViewer::t::geometry::PointCloud::GetPointAttr(), cloudViewer::t::geometry::PointCloud::GetPointColors(), cloudViewer::t::geometry::PointCloud::GetPointNormals(), cloudViewer::t::geometry::PointCloud::GetPoints(), cloudViewer::visualization::rendering::FilamentResourceManager::GetVertexBuffer(), cloudViewer::t::geometry::PointCloud::HasPointAttr(), cloudViewer::t::geometry::PointCloud::HasPointColors(), cloudViewer::t::geometry::PointCloud::HasPointNormals(), cloudViewer::visualization::rendering::Scene::kUpdateColorsFlag, cloudViewer::visualization::rendering::Scene::kUpdateNormalsFlag, cloudViewer::visualization::rendering::Scene::kUpdatePointsFlag, cloudViewer::visualization::rendering::Scene::kUpdateUv0Flag, LogWarning, normals, and points.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1370 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1384 of file FilamentScene.cpp.
References color, and ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1443 of file FilamentScene.cpp.
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1409 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1432 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1421 of file FilamentScene.cpp.
References ecvColor::light().
|
overridevirtual |
Implements cloudViewer::visualization::rendering::Scene.
Definition at line 1395 of file FilamentScene.cpp.
References ecvColor::light(), and position.