Open3D (C++ API)  0.17.0
Public Member Functions
open3d::visualization::rendering::FilamentCamera Class Reference

#include <FilamentCamera.h>

Inheritance diagram for open3d::visualization::rendering::FilamentCamera:
open3d::visualization::rendering::Camera

Public Member Functions

 FilamentCamera (filament::Engine &engine)
 
 ~FilamentCamera ()
 
void SetProjection (double fov, double aspect, double near, double far, FovType fov_type) override
 
void SetProjection (Projection projection, double left, double right, double bottom, double top, double near, double far) override
 
void SetProjection (const Eigen::Matrix3d &intrinsics, double near, double far, double width, double height) override
 
void LookAt (const Eigen::Vector3f &center, const Eigen::Vector3f &eye, const Eigen::Vector3f &up) override
 
void SetModelMatrix (const Transform &view) override
 
void SetModelMatrix (const Eigen::Vector3f &forward, const Eigen::Vector3f &left, const Eigen::Vector3f &up) override
 
double GetNear () const override
 
double GetFar () const override
 
double GetFieldOfView () const override
 only valid if fov was passed to SetProjection() More...
 
FovType GetFieldOfViewType () const override
 only valid if fov was passed to SetProjection() More...
 
Eigen::Vector3f GetPosition () const override
 
Eigen::Vector3f GetForwardVector () const override
 
Eigen::Vector3f GetLeftVector () const override
 
Eigen::Vector3f GetUpVector () const override
 
Transform GetModelMatrix () const override
 
Transform GetViewMatrix () const override
 
ProjectionMatrix GetProjectionMatrix () const override
 
Transform GetCullingProjectionMatrix () const override
 
const ProjectionInfoGetProjection () const override
 
Eigen::Vector3f Unproject (float x, float y, float z, float view_width, float view_height) const override
 
Eigen::Vector2f GetNDC (const Eigen::Vector3f &pt) const override
 
double GetViewZ (float z_buffer) const override
 
void CopyFrom (const Camera *camera) override
 
filament::Camera * GetNativeCamera () const
 
- Public Member Functions inherited from open3d::visualization::rendering::Camera
virtual ~Camera ()=default
 
virtual void FromExtrinsics (const Eigen::Matrix4d &extrinsics)
 

Additional Inherited Members

- Public Types inherited from open3d::visualization::rendering::Camera
enum class  FovType { Vertical , Horizontal }
 
enum class  Projection { Perspective , Ortho }
 
using Transform = Eigen::Transform< float, 3, Eigen::Affine >
 
using ProjectionMatrix = Eigen::Transform< float, 3, Eigen::Projective >
 
- Static Public Member Functions inherited from open3d::visualization::rendering::Camera
static void SetupCameraAsPinholeCamera (rendering::Camera &camera, const Eigen::Matrix3d &intrinsic, const Eigen::Matrix4d &extrinsic, int intrinsic_width_px, int intrinsic_height_px, const geometry::AxisAlignedBoundingBox &scene_bounds)
 
static float CalcNearPlane ()
 Returns a good value for the near plane. More...
 
static float CalcFarPlane (const rendering::Camera &camera, const geometry::AxisAlignedBoundingBox &scene_bounds)
 

Constructor & Destructor Documentation

◆ FilamentCamera()

open3d::visualization::rendering::FilamentCamera::FilamentCamera ( filament::Engine &  engine)
explicit

◆ ~FilamentCamera()

open3d::visualization::rendering::FilamentCamera::~FilamentCamera ( )

Member Function Documentation

◆ CopyFrom()

void open3d::visualization::rendering::FilamentCamera::CopyFrom ( const Camera camera)
overridevirtual

◆ GetCullingProjectionMatrix()

Camera::Transform open3d::visualization::rendering::FilamentCamera::GetCullingProjectionMatrix ( ) const
overridevirtual

◆ GetFar()

double open3d::visualization::rendering::FilamentCamera::GetFar ( ) const
overridevirtual

◆ GetFieldOfView()

double open3d::visualization::rendering::FilamentCamera::GetFieldOfView ( ) const
overridevirtual

only valid if fov was passed to SetProjection()

Implements open3d::visualization::rendering::Camera.

◆ GetFieldOfViewType()

Camera::FovType open3d::visualization::rendering::FilamentCamera::GetFieldOfViewType ( ) const
overridevirtual

only valid if fov was passed to SetProjection()

Implements open3d::visualization::rendering::Camera.

◆ GetForwardVector()

Eigen::Vector3f open3d::visualization::rendering::FilamentCamera::GetForwardVector ( ) const
overridevirtual

◆ GetLeftVector()

Eigen::Vector3f open3d::visualization::rendering::FilamentCamera::GetLeftVector ( ) const
overridevirtual

◆ GetModelMatrix()

Camera::Transform open3d::visualization::rendering::FilamentCamera::GetModelMatrix ( ) const
overridevirtual

◆ GetNativeCamera()

filament::Camera* open3d::visualization::rendering::FilamentCamera::GetNativeCamera ( ) const
inline

◆ GetNDC()

Eigen::Vector2f open3d::visualization::rendering::FilamentCamera::GetNDC ( const Eigen::Vector3f &  pt) const
overridevirtual

◆ GetNear()

double open3d::visualization::rendering::FilamentCamera::GetNear ( ) const
overridevirtual

◆ GetPosition()

Eigen::Vector3f open3d::visualization::rendering::FilamentCamera::GetPosition ( ) const
overridevirtual

◆ GetProjection()

const Camera::ProjectionInfo & open3d::visualization::rendering::FilamentCamera::GetProjection ( ) const
overridevirtual

◆ GetProjectionMatrix()

Camera::ProjectionMatrix open3d::visualization::rendering::FilamentCamera::GetProjectionMatrix ( ) const
overridevirtual

◆ GetUpVector()

Eigen::Vector3f open3d::visualization::rendering::FilamentCamera::GetUpVector ( ) const
overridevirtual

◆ GetViewMatrix()

Camera::Transform open3d::visualization::rendering::FilamentCamera::GetViewMatrix ( ) const
overridevirtual

◆ GetViewZ()

double open3d::visualization::rendering::FilamentCamera::GetViewZ ( float  z_buffer) const
overridevirtual

Returns the view space depth (i.e., distance from camera) for the given Z-buffer value

Implements open3d::visualization::rendering::Camera.

◆ LookAt()

void open3d::visualization::rendering::FilamentCamera::LookAt ( const Eigen::Vector3f &  center,
const Eigen::Vector3f &  eye,
const Eigen::Vector3f &  up 
)
overridevirtual

◆ SetModelMatrix() [1/2]

void open3d::visualization::rendering::FilamentCamera::SetModelMatrix ( const Eigen::Vector3f &  forward,
const Eigen::Vector3f &  left,
const Eigen::Vector3f &  up 
)
overridevirtual

◆ SetModelMatrix() [2/2]

void open3d::visualization::rendering::FilamentCamera::SetModelMatrix ( const Transform view)
overridevirtual

◆ SetProjection() [1/3]

void open3d::visualization::rendering::FilamentCamera::SetProjection ( const Eigen::Matrix3d &  intrinsics,
double  near,
double  far,
double  width,
double  height 
)
overridevirtual

◆ SetProjection() [2/3]

void open3d::visualization::rendering::FilamentCamera::SetProjection ( double  fov,
double  aspect,
double  near,
double  far,
FovType  fov_type 
)
overridevirtual

◆ SetProjection() [3/3]

void open3d::visualization::rendering::FilamentCamera::SetProjection ( Projection  projection,
double  left,
double  right,
double  bottom,
double  top,
double  near,
double  far 
)
overridevirtual

Sets the projection matrix from a frustum defined by six planes.

Parameters
projectiontype of Projection to use.
leftdistance in world units from the camera to the left plane, at the near plane.
rightdistance in world units from the camera to the right plane, at the near plane.
bottomdistance in world units from the camera to the bottom plane, at the near plane.
topdistance in world units from the camera to the top plane, at the near plane.
neardistance in world units from the camera to the near plane. The near plane's
fardistance in world units from the camera to the far plane. The far plane's

Implements open3d::visualization::rendering::Camera.

◆ Unproject()

Eigen::Vector3f open3d::visualization::rendering::FilamentCamera::Unproject ( float  x,
float  y,
float  z,
float  view_width,
float  view_height 
) const
overridevirtual

Returns world space coordinates given an x,y position in screen coordinates relative to upper left, the screen dimensions, and z is the depth value (0.0 - 1.0)

Implements open3d::visualization::rendering::Camera.


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