Open3D (C++ API)  0.11.0
Data Structures | Public Types | Public Member Functions
open3d::visualization::rendering::FilamentScene Class Reference

#include <FilamentScene.h>

Inheritance diagram for open3d::visualization::rendering::FilamentScene:
open3d::visualization::rendering::Scene

Public Types

using Transform = Eigen::Transform< float, 3, Eigen::Affine >
 
- Public Types inherited from open3d::visualization::rendering::Scene
using Transform = Eigen::Transform< float, 3, Eigen::Affine >
 

Public Member Functions

 FilamentScene (filament::Engine &engine, FilamentResourceManager &resource_mgr, Renderer &renderer)
 
 ~FilamentScene ()
 
ViewHandle AddView (std::int32_t x, std::int32_t y, std::uint32_t w, std::uint32_t h) override
 
ViewGetView (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 geometry::Geometry3D &geometry, const Material &material, const std::string &downsampled_name="", size_t downsample_threshold=SIZE_MAX) override
 
bool AddGeometry (const std::string &object_name, const t::geometry::PointCloud &point_cloud, const Material &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
 
geometry::AxisAlignedBoundingBox GetGeometryBoundingBox (const std::string &object_name) override
 
void GeometryShadows (const std::string &object_name, bool cast_shadows, bool receive_shadows) override
 
void OverrideMaterial (const std::string &object_name, const Material &material) override
 
void QueryGeometry (std::vector< std::string > &geometry) override
 
void OverrideMaterialAll (const Material &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
 
LightGetLight (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 SetDirectionalLight (const Eigen::Vector3f &direction, const Eigen::Vector3f &color, float intensity) override
 
void EnableDirectionalLight (bool enable) override
 
void EnableDirectionalLightShadows (bool enable) override
 
void SetDirectionalLightDirection (const Eigen::Vector3f &direction) override
 
Eigen::Vector3f GetDirectionalLightDirection () 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
 
void SetBackgroundColor (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 Draw (filament::Renderer &renderer)
 
filament::SceneGetNativeScene () const
 
- Public Member Functions inherited from open3d::visualization::rendering::Scene
 Scene (Renderer &renderer)
 
virtual ~Scene ()=default
 

Additional Inherited Members

- Static Public Attributes inherited from open3d::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 open3d::visualization::rendering::Scene
Rendererrenderer_
 

Member Typedef Documentation

◆ Transform

using open3d::visualization::rendering::FilamentScene::Transform = Eigen::Transform<float, 3, Eigen::Affine>

Constructor & Destructor Documentation

◆ FilamentScene()

open3d::visualization::rendering::FilamentScene::FilamentScene ( filament::Engine &  engine,
FilamentResourceManager resource_mgr,
Renderer renderer 
)

◆ ~FilamentScene()

open3d::visualization::rendering::FilamentScene::~FilamentScene ( )

Member Function Documentation

◆ AddCamera()

void open3d::visualization::rendering::FilamentScene::AddCamera ( const std::string &  camera_name,
std::shared_ptr< Camera cam 
)
overridevirtual

◆ AddGeometry() [1/3]

bool open3d::visualization::rendering::FilamentScene::AddGeometry ( const std::string &  object_name,
const geometry::Geometry3D geometry,
const Material material,
const std::string &  downsampled_name = "",
size_t  downsample_threshold = SIZE_MAX 
)
overridevirtual

◆ AddGeometry() [2/3]

bool open3d::visualization::rendering::FilamentScene::AddGeometry ( const std::string &  object_name,
const t::geometry::PointCloud point_cloud,
const Material material,
const std::string &  downsampled_name = "",
size_t  downsample_threshold = SIZE_MAX 
)
overridevirtual

◆ AddGeometry() [3/3]

bool open3d::visualization::rendering::FilamentScene::AddGeometry ( const std::string &  object_name,
const TriangleMeshModel model 
)
overridevirtual

◆ AddPointLight()

bool open3d::visualization::rendering::FilamentScene::AddPointLight ( const std::string &  light_name,
const Eigen::Vector3f &  color,
const Eigen::Vector3f &  position,
float  intensity,
float  falloff,
bool  cast_shadows 
)
overridevirtual

◆ AddSpotLight()

bool open3d::visualization::rendering::FilamentScene::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 
)
overridevirtual

◆ AddView()

ViewHandle open3d::visualization::rendering::FilamentScene::AddView ( std::int32_t  x,
std::int32_t  y,
std::uint32_t  w,
std::uint32_t  h 
)
overridevirtual

◆ Draw()

void open3d::visualization::rendering::FilamentScene::Draw ( filament::Renderer &  renderer)

◆ EnableDirectionalLight()

void open3d::visualization::rendering::FilamentScene::EnableDirectionalLight ( bool  enable)
overridevirtual

◆ EnableDirectionalLightShadows()

void open3d::visualization::rendering::FilamentScene::EnableDirectionalLightShadows ( bool  enable)
overridevirtual

◆ EnableIndirectLight()

void open3d::visualization::rendering::FilamentScene::EnableIndirectLight ( bool  enable)
overridevirtual

◆ EnableLightShadow()

void open3d::visualization::rendering::FilamentScene::EnableLightShadow ( const std::string &  light_name,
bool  cast_shadows 
)
overridevirtual

◆ GeometryIsVisible()

bool open3d::visualization::rendering::FilamentScene::GeometryIsVisible ( const std::string &  object_name)
overridevirtual

◆ GeometryShadows()

void open3d::visualization::rendering::FilamentScene::GeometryShadows ( const std::string &  object_name,
bool  cast_shadows,
bool  receive_shadows 
)
overridevirtual

◆ GetDirectionalLightDirection()

Eigen::Vector3f open3d::visualization::rendering::FilamentScene::GetDirectionalLightDirection ( )
overridevirtual

◆ GetGeometryBoundingBox()

geometry::AxisAlignedBoundingBox open3d::visualization::rendering::FilamentScene::GetGeometryBoundingBox ( const std::string &  object_name)
overridevirtual

◆ GetGeometryTransform()

FilamentScene::Transform open3d::visualization::rendering::FilamentScene::GetGeometryTransform ( const std::string &  object_name)
overridevirtual

◆ GetIndirectLight()

const std::string & open3d::visualization::rendering::FilamentScene::GetIndirectLight ( )
overridevirtual

◆ GetIndirectLightIntensity()

float open3d::visualization::rendering::FilamentScene::GetIndirectLightIntensity ( )
overridevirtual

◆ GetIndirectLightRotation()

FilamentScene::Transform open3d::visualization::rendering::FilamentScene::GetIndirectLightRotation ( )
overridevirtual

◆ GetLight()

Light & open3d::visualization::rendering::FilamentScene::GetLight ( const std::string &  light_name)
overridevirtual

◆ GetNativeScene()

filament::Scene* open3d::visualization::rendering::FilamentScene::GetNativeScene ( ) const
inline

◆ GetView()

View * open3d::visualization::rendering::FilamentScene::GetView ( const ViewHandle view_id) const
overridevirtual

◆ HasGeometry()

bool open3d::visualization::rendering::FilamentScene::HasGeometry ( const std::string &  object_name) const
overridevirtual

◆ OverrideMaterial()

void open3d::visualization::rendering::FilamentScene::OverrideMaterial ( const std::string &  object_name,
const Material material 
)
overridevirtual

◆ OverrideMaterialAll()

void open3d::visualization::rendering::FilamentScene::OverrideMaterialAll ( const Material material,
bool  shader_only = true 
)
overridevirtual

◆ QueryGeometry()

void open3d::visualization::rendering::FilamentScene::QueryGeometry ( std::vector< std::string > &  geometry)
overridevirtual

◆ RemoveCamera()

void open3d::visualization::rendering::FilamentScene::RemoveCamera ( const std::string &  camera_name)
overridevirtual

◆ RemoveGeometry()

void open3d::visualization::rendering::FilamentScene::RemoveGeometry ( const std::string &  object_name)
overridevirtual

◆ RemoveLight()

void open3d::visualization::rendering::FilamentScene::RemoveLight ( const std::string &  light_name)
overridevirtual

◆ RemoveView()

void open3d::visualization::rendering::FilamentScene::RemoveView ( const ViewHandle view_id)
overridevirtual

◆ RenderToImage()

void open3d::visualization::rendering::FilamentScene::RenderToImage ( std::function< void(std::shared_ptr< geometry::Image >)>  callback)
overridevirtual

Size of image is the size of the window.

Implements open3d::visualization::rendering::Scene.

◆ SetActiveCamera()

void open3d::visualization::rendering::FilamentScene::SetActiveCamera ( const std::string &  camera_name)
overridevirtual

◆ SetBackgroundColor()

void open3d::visualization::rendering::FilamentScene::SetBackgroundColor ( const Eigen::Vector4f &  color)
overridevirtual

◆ SetDirectionalLight()

void open3d::visualization::rendering::FilamentScene::SetDirectionalLight ( const Eigen::Vector3f &  direction,
const Eigen::Vector3f &  color,
float  intensity 
)
overridevirtual

◆ SetDirectionalLightDirection()

void open3d::visualization::rendering::FilamentScene::SetDirectionalLightDirection ( const Eigen::Vector3f &  direction)
overridevirtual

◆ SetGeometryTransform()

void open3d::visualization::rendering::FilamentScene::SetGeometryTransform ( const std::string &  object_name,
const Transform transform 
)
overridevirtual

◆ SetIndirectLight()

bool open3d::visualization::rendering::FilamentScene::SetIndirectLight ( const std::string &  ibl_name)
overridevirtual

◆ SetIndirectLightIntensity()

void open3d::visualization::rendering::FilamentScene::SetIndirectLightIntensity ( float  intensity)
overridevirtual

◆ SetIndirectLightRotation()

void open3d::visualization::rendering::FilamentScene::SetIndirectLightRotation ( const Transform rotation)
overridevirtual

◆ SetRenderOnce()

void open3d::visualization::rendering::FilamentScene::SetRenderOnce ( const ViewHandle view_id)
overridevirtual

◆ SetViewActive()

void open3d::visualization::rendering::FilamentScene::SetViewActive ( const ViewHandle view_id,
bool  is_active 
)
overridevirtual

◆ ShowGeometry()

void open3d::visualization::rendering::FilamentScene::ShowGeometry ( const std::string &  object_name,
bool  show 
)
overridevirtual

◆ ShowSkybox()

void open3d::visualization::rendering::FilamentScene::ShowSkybox ( bool  show)
overridevirtual

◆ UpdateGeometry()

void open3d::visualization::rendering::FilamentScene::UpdateGeometry ( const std::string &  object_name,
const t::geometry::PointCloud point_cloud,
uint32_t  update_flags 
)
overridevirtual

◆ UpdateLight()

void open3d::visualization::rendering::FilamentScene::UpdateLight ( const std::string &  light_name,
const Light light 
)
overridevirtual

◆ UpdateLightColor()

void open3d::visualization::rendering::FilamentScene::UpdateLightColor ( const std::string &  light_name,
const Eigen::Vector3f &  color 
)
overridevirtual

◆ UpdateLightConeAngles()

void open3d::visualization::rendering::FilamentScene::UpdateLightConeAngles ( const std::string &  light_name,
float  inner_cone_angle,
float  outer_cone_angle 
)
overridevirtual

◆ UpdateLightDirection()

void open3d::visualization::rendering::FilamentScene::UpdateLightDirection ( const std::string &  light_name,
const Eigen::Vector3f &  direction 
)
overridevirtual

◆ UpdateLightFalloff()

void open3d::visualization::rendering::FilamentScene::UpdateLightFalloff ( const std::string &  light_name,
float  falloff 
)
overridevirtual

◆ UpdateLightIntensity()

void open3d::visualization::rendering::FilamentScene::UpdateLightIntensity ( const std::string &  light_name,
float  intensity 
)
overridevirtual

◆ UpdateLightPosition()

void open3d::visualization::rendering::FilamentScene::UpdateLightPosition ( const std::string &  light_name,
const Eigen::Vector3f &  position 
)
overridevirtual

The documentation for this class was generated from the following files: