29 #include <Eigen/Geometry> 32 namespace visualization {
39 using Transform = Eigen::Transform<float, 3, Eigen::Affine>;
79 virtual double GetNear()
const = 0;
80 virtual double GetFar()
const = 0;
88 const Eigen::Vector3f& left,
89 const Eigen::Vector3f& up) = 0;
91 virtual void LookAt(
const Eigen::Vector3f& center,
92 const Eigen::Vector3f& eye,
93 const Eigen::Vector3f& up) = 0;
Projection
Definition: Camera.h:38
virtual Eigen::Vector3f GetUpVector() const =0
virtual double GetFieldOfView() const =0
only valid if fov was passed to SetProjection()
virtual FovType GetFieldOfViewType() const =0
only valid if fov was passed to SetProjection()
virtual Eigen::Vector3f GetLeftVector() const =0
virtual void LookAt(const Eigen::Vector3f ¢er, const Eigen::Vector3f &eye, const Eigen::Vector3f &up)=0
virtual Transform GetModelMatrix() const =0
Eigen::Transform< float, 3, Eigen::Affine > Transform
Definition: Camera.h:39
virtual void SetModelMatrix(const Transform &view)=0
FovType
Definition: Camera.h:37
Definition: PinholeCameraIntrinsic.cpp:35
virtual Eigen::Vector3f GetForwardVector() const =0
virtual ~Camera()=default
virtual Eigen::Vector3f GetPosition() const =0
virtual Transform GetProjectionMatrix() const =0
virtual double GetFar() const =0
virtual double GetNear() const =0
virtual Transform GetViewMatrix() const =0
virtual void SetProjection(double fov, double aspect, double near, double far, FovType fov_type)=0