Open3D (C++ API)  0.12.0
Data Structures | Public Types | Public Member Functions
open3d::visualization::rendering::Camera Class Referenceabstract

#include <Camera.h>

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

Data Structures

struct  ProjectionInfo
 

Public Types

enum  FovType { FovType::Vertical, FovType::Horizontal }
 
enum  Projection { Projection::Perspective, Projection::Ortho }
 
using Transform = Eigen::Transform< float, 3, Eigen::Affine >
 

Public Member Functions

virtual ~Camera ()=default
 
virtual void SetProjection (double fov, double aspect, double near, double far, FovType fov_type)=0
 
virtual void SetProjection (Projection projection, double left, double right, double bottom, double top, double near, double far)=0
 
virtual void SetProjection (const Eigen::Matrix3d &intrinsics, double near, double far, double width, double height)=0
 
virtual void LookAt (const Eigen::Vector3f &center, const Eigen::Vector3f &eye, const Eigen::Vector3f &up)=0
 
virtual void SetModelMatrix (const Transform &view)=0
 
virtual void SetModelMatrix (const Eigen::Vector3f &forward, const Eigen::Vector3f &left, const Eigen::Vector3f &up)=0
 
virtual double GetNear () const =0
 
virtual double GetFar () const =0
 
virtual double GetFieldOfView () const =0
 only valid if fov was passed to SetProjection() More...
 
virtual FovType GetFieldOfViewType () const =0
 only valid if fov was passed to SetProjection() More...
 
virtual Eigen::Vector3f GetPosition () const =0
 
virtual Eigen::Vector3f GetForwardVector () const =0
 
virtual Eigen::Vector3f GetLeftVector () const =0
 
virtual Eigen::Vector3f GetUpVector () const =0
 
virtual Transform GetModelMatrix () const =0
 
virtual Transform GetViewMatrix () const =0
 
virtual Transform GetProjectionMatrix () const =0
 
virtual Eigen::Vector2f GetNDC (const Eigen::Vector3f &pt) const =0
 
virtual const ProjectionInfoGetProjection () const =0
 
virtual void CopyFrom (const Camera *camera)=0
 

Member Typedef Documentation

◆ Transform

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

Member Enumeration Documentation

◆ FovType

Enumerator
Vertical 
Horizontal 

◆ Projection

Enumerator
Perspective 
Ortho 

Constructor & Destructor Documentation

◆ ~Camera()

virtual open3d::visualization::rendering::Camera::~Camera ( )
virtualdefault

Member Function Documentation

◆ CopyFrom()

virtual void open3d::visualization::rendering::Camera::CopyFrom ( const Camera camera)
pure virtual

◆ GetFar()

virtual double open3d::visualization::rendering::Camera::GetFar ( ) const
pure virtual

◆ GetFieldOfView()

virtual double open3d::visualization::rendering::Camera::GetFieldOfView ( ) const
pure virtual

only valid if fov was passed to SetProjection()

Implemented in open3d::visualization::rendering::FilamentCamera.

◆ GetFieldOfViewType()

virtual FovType open3d::visualization::rendering::Camera::GetFieldOfViewType ( ) const
pure virtual

only valid if fov was passed to SetProjection()

Implemented in open3d::visualization::rendering::FilamentCamera.

◆ GetForwardVector()

virtual Eigen::Vector3f open3d::visualization::rendering::Camera::GetForwardVector ( ) const
pure virtual

◆ GetLeftVector()

virtual Eigen::Vector3f open3d::visualization::rendering::Camera::GetLeftVector ( ) const
pure virtual

◆ GetModelMatrix()

virtual Transform open3d::visualization::rendering::Camera::GetModelMatrix ( ) const
pure virtual

◆ GetNDC()

virtual Eigen::Vector2f open3d::visualization::rendering::Camera::GetNDC ( const Eigen::Vector3f &  pt) const
pure virtual

◆ GetNear()

virtual double open3d::visualization::rendering::Camera::GetNear ( ) const
pure virtual

◆ GetPosition()

virtual Eigen::Vector3f open3d::visualization::rendering::Camera::GetPosition ( ) const
pure virtual

◆ GetProjection()

virtual const ProjectionInfo& open3d::visualization::rendering::Camera::GetProjection ( ) const
pure virtual

◆ GetProjectionMatrix()

virtual Transform open3d::visualization::rendering::Camera::GetProjectionMatrix ( ) const
pure virtual

◆ GetUpVector()

virtual Eigen::Vector3f open3d::visualization::rendering::Camera::GetUpVector ( ) const
pure virtual

◆ GetViewMatrix()

virtual Transform open3d::visualization::rendering::Camera::GetViewMatrix ( ) const
pure virtual

◆ LookAt()

virtual void open3d::visualization::rendering::Camera::LookAt ( const Eigen::Vector3f &  center,
const Eigen::Vector3f &  eye,
const Eigen::Vector3f &  up 
)
pure virtual

◆ SetModelMatrix() [1/2]

virtual void open3d::visualization::rendering::Camera::SetModelMatrix ( const Transform view)
pure virtual

◆ SetModelMatrix() [2/2]

virtual void open3d::visualization::rendering::Camera::SetModelMatrix ( const Eigen::Vector3f &  forward,
const Eigen::Vector3f &  left,
const Eigen::Vector3f &  up 
)
pure virtual

◆ SetProjection() [1/3]

virtual void open3d::visualization::rendering::Camera::SetProjection ( double  fov,
double  aspect,
double  near,
double  far,
FovType  fov_type 
)
pure virtual

◆ SetProjection() [2/3]

virtual void open3d::visualization::rendering::Camera::SetProjection ( Projection  projection,
double  left,
double  right,
double  bottom,
double  top,
double  near,
double  far 
)
pure virtual

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

Implemented in open3d::visualization::rendering::FilamentCamera.

◆ SetProjection() [3/3]

virtual void open3d::visualization::rendering::Camera::SetProjection ( const Eigen::Matrix3d &  intrinsics,
double  near,
double  far,
double  width,
double  height 
)
pure virtual

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