camera.hpp
Go to the documentation of this file.
00001 
00004 /*****************************************************************************
00005 ** Ifdefs
00006 *****************************************************************************/
00007 
00008 #ifndef qglv_objects_CAMERA_HPP_
00009 #define qglv_objects_CAMERA_HPP_
00010 
00011 /*****************************************************************************
00012 ** Includes
00013 *****************************************************************************/
00014 
00015 #include <Eigen/Core>
00016 #include <memory>
00017 #include <sophus/se3.hpp>
00018 
00019 /*****************************************************************************
00020 ** Namespaces
00021 *****************************************************************************/
00022 
00023 namespace qglv {
00024 
00025 /*****************************************************************************
00026 ** Interfaces
00027 *****************************************************************************/
00028 
00029 
00030 class Camera {
00031 public:
00053   Camera(const float& width, const float& height,
00054          const float& u0, const float& v0,
00055          const float& focal_length_in_pixels,
00056          const Sophus::SE3f& pose = Sophus::SE3f()
00057         );
00058 
00059   void setPose(const Sophus::SE3f& T_cam_rel_map);
00066   void draw();
00067 
00068   Sophus::SE3f pose;
00069   Eigen::Vector3f frustum[4], updated_frustum[4];
00070   unsigned int width, height;
00071   float focal_length;
00072   Eigen::Vector2f principal_point;
00073 };
00074 
00075 typedef std::unique_ptr<Camera> CameraPtr;
00076 
00077 
00078 /*****************************************************************************
00079 ** Trailers
00080 *****************************************************************************/
00081 
00082 } // namespace qglv
00083 
00084 #endif /* qglv_objects_CAMERA_HPP_ */


qglv_extras
Author(s): Daniel Stonier
autogenerated on Sat Jun 18 2016 08:19:30