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