Open3D (C++ API)  0.17.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
enum class  GroundPlane { XZ , XY , YZ }
 
using Transform = Eigen::Transform< float, 3, Eigen::Affine >
 

Public Member Functions

 FilamentScene (filament::Engine &engine, FilamentResourceManager &resource_mgr, Renderer &renderer)
 
 ~FilamentScene ()
 
SceneCopy () override
 
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 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
 
geometry::AxisAlignedBoundingBox 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
 
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 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 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

◆ AddDirectionalLight()

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

◆ AddGeometry() [1/3]

bool open3d::visualization::rendering::FilamentScene::AddGeometry ( const std::string &  object_name,
const geometry::Geometry3D geometry,
const MaterialRecord 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::Geometry geometry,
const MaterialRecord 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

◆ Copy()

Scene * open3d::visualization::rendering::FilamentScene::Copy ( )
overridevirtual

◆ Draw()

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

◆ EnableGroundPlane()

void open3d::visualization::rendering::FilamentScene::EnableGroundPlane ( bool  enable,
GroundPlane  plane 
)
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

◆ EnableSunLight()

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

◆ EnableSunLightShadows()

void open3d::visualization::rendering::FilamentScene::EnableSunLightShadows ( bool  enable)
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

◆ 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

◆ GetSkyboxVisible()

bool open3d::visualization::rendering::FilamentScene::GetSkyboxVisible ( ) const
overridevirtual

◆ GetSunLightColor()

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

◆ GetSunLightDirection()

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

◆ GetSunLightIntensity()

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

◆ 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

◆ HideRefractedMaterials()

void open3d::visualization::rendering::FilamentScene::HideRefractedMaterials ( bool  hide = true)

◆ OverrideMaterial()

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

◆ OverrideMaterialAll()

void open3d::visualization::rendering::FilamentScene::OverrideMaterialAll ( const MaterialRecord 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

◆ RenderToDepthImage()

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

Size of image is the size of the window.

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

◆ 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

◆ SetBackground() [1/2]

void open3d::visualization::rendering::FilamentScene::SetBackground ( const Eigen::Vector4f &  color,
const std::shared_ptr< geometry::Image image = nullptr 
)
overridevirtual

◆ SetBackground() [2/2]

void open3d::visualization::rendering::FilamentScene::SetBackground ( TextureHandle  image)
overridevirtual

◆ SetGeometryCulling()

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

◆ SetGeometryPriority()

void open3d::visualization::rendering::FilamentScene::SetGeometryPriority ( const std::string &  object_name,
uint8_t  priority 
)
overridevirtual

◆ SetGeometryTransform()

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

◆ SetGroundPlaneColor()

void open3d::visualization::rendering::FilamentScene::SetGroundPlaneColor ( const Eigen::Vector4f &  color)
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

◆ SetSunAngularRadius()

void open3d::visualization::rendering::FilamentScene::SetSunAngularRadius ( float  radius)
overridevirtual

◆ SetSunHaloFalloff()

void open3d::visualization::rendering::FilamentScene::SetSunHaloFalloff ( float  falloff)
overridevirtual

◆ SetSunHaloSize()

void open3d::visualization::rendering::FilamentScene::SetSunHaloSize ( float  size)
overridevirtual

◆ SetSunLight()

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

◆ SetSunLightColor()

void open3d::visualization::rendering::FilamentScene::SetSunLightColor ( const Eigen::Vector3f &  color)
overridevirtual

◆ SetSunLightDirection()

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

◆ SetSunLightIntensity()

void open3d::visualization::rendering::FilamentScene::SetSunLightIntensity ( float  intensity)
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: