10 #ifndef opengl_CCamera_H
11 #define opengl_CCamera_H
20 class COpenGLViewport;
57 template <
class POSEORPOINT>
#define DEFINE_SERIALIZABLE(class_name)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
A camera: if added to a scene, the viewpoint defined by this camera will be used instead of the camer...
bool isOrthogonal() const
float getProjectiveFOVdeg() const
Field-of-View in degs, only when projectiveModel=true (default=30 deg).
float getAzimuthDegrees() const
bool isProjective() const
void setPointingAt(float x, float y, float z)
void setElevationDegrees(float ang)
virtual void getBoundingBox(mrpt::math::TPoint3D &bb_min, mrpt::math::TPoint3D &bb_max) const override
In this class, returns a fixed box (max,max,max), (-max,-max,-max).
float getZoomDistance() const
void setZoomDistance(float z)
bool m_6DOFMode
If set to true, camera pose is used when rendering the viewport.
void render() const override
Render does nothing here.
void setPointingAt(const POSEORPOINT &p)
float getPointingAtX() const
void setProjectiveFOVdeg(float ang)
Field-of-View in degs, only when projectiveModel=true (default=30 deg).
void setProjectiveModel(bool v=true)
Enable/Disable projective mode (vs.
void setOrthogonal(bool v=true)
Enable/Disable orthogonal mode (vs.
void set6DOFMode(bool v)
Set 6DOFMode, if enabled camera is set according to its pose (default=false).
virtual ~CCamera()
Private, virtual destructor: only can be deleted from smart pointers.
bool m_projectiveModel
If set to true (default), camera model is projective, otherwise, it's orthogonal.
float getElevationDegrees() const
float getPointingAtZ() const
void setPointingAt(const mrpt::math::TPoint3D &p)
float m_projectiveFOVdeg
Field-of-View in degs, only when projectiveModel=true (default=30 deg).
void setAzimuthDegrees(float ang)
float getPointingAtY() const
A viewport within a COpenGLScene, containing a set of OpenGL objects to render.
The base class of 3D objects that can be directly rendered through OpenGL.
This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries.