Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
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()
FovType GetFieldOfViewType () const override
 only valid if fov was passed to SetProjection()
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.
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: