Open3D (C++ API)
0.17.0
|
#include <Camera.h>
Data Structures | |
struct | ProjectionInfo |
Public Types | |
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 > |
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 ¢er, const Eigen::Vector3f &eye, const Eigen::Vector3f &up)=0 |
virtual void | FromExtrinsics (const Eigen::Matrix4d &extrinsics) |
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 ProjectionMatrix | GetProjectionMatrix () const =0 |
virtual Transform | GetCullingProjectionMatrix () const =0 |
virtual Eigen::Vector3f | Unproject (float x, float y, float z, float view_width, float view_height) const =0 |
virtual Eigen::Vector2f | GetNDC (const Eigen::Vector3f &pt) const =0 |
virtual double | GetViewZ (float z_buffer) const =0 |
virtual const ProjectionInfo & | GetProjection () const =0 |
virtual void | CopyFrom (const Camera *camera)=0 |
Static Public Member Functions | |
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) |
using open3d::visualization::rendering::Camera::ProjectionMatrix = Eigen::Transform<float, 3, Eigen::Projective> |
using open3d::visualization::rendering::Camera::Transform = Eigen::Transform<float, 3, Eigen::Affine> |
|
virtualdefault |
|
static |
Returns a value for the far plane that ensures that the entire bounds provided will not be clipped.
|
static |
Returns a good value for the near plane.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
virtual |
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
only valid if fov was passed to SetProjection()
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
only valid if fov was passed to SetProjection()
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Returns the view space depth (i.e., distance from camera) for the given Z-buffer value
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
pure virtual |
Sets the projection matrix from a frustum defined by six planes.
projection | type of Projection to use. |
left | distance in world units from the camera to the left plane, at the near plane. |
right | distance in world units from the camera to the right plane, at the near plane. |
bottom | distance in world units from the camera to the bottom plane, at the near plane. |
top | distance in world units from the camera to the top plane, at the near plane. |
near | distance in world units from the camera to the near plane. The near plane's |
far | distance in world units from the camera to the far plane. The far plane's |
Implemented in open3d::visualization::rendering::FilamentCamera.
|
static |
Convenience function for configuring a camera as a pinhole camera. Configures the projection using the intrinsics and bounds, and the model matrix using the extrinsic matrix. Equivalent to calling SetProjection() and FromExtrinsics().
|
pure virtual |
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)
Implemented in open3d::visualization::rendering::FilamentCamera.