17 class COpenGLViewport;
48 template <
class POSEORPOINT>
53 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 freeOpenGLResources() override
Free opengl buffers.
void setOrthogonal(bool v=true)
Enable/Disable orthogonal mode (vs.
float getPointingAtY() const
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.
float getZoomDistance() const
A viewport within a COpenGLScene, containing a set of OpenGL objects to render.
~CCamera() override=default
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).
void setZoomDistance(float z)
Context for calls to render()
void setPointingAt(const mrpt::math::TPoint3D &p)
void setAzimuthDegrees(float ang)
float getPointingAtX() const
float getPointingAtZ() const
float d2f(const double d)
shortcut for static_cast<float>(double)
void renderUpdateBuffers() const override
Render does nothing here.
float getAzimuthDegrees() const
void render(const RenderContext &rc) const override
Render does nothing here.
void setProjectiveFOVdeg(float ang)
Vertical field-of-View in degs, only when projectiveModel=true (default=30 deg).
float getElevationDegrees() const
void setElevationDegrees(float ang)
bool m_projectiveModel
If set to true (default), camera model is projective, otherwise, it's orthogonal. ...
The namespace for 3D scene representation and rendering.
#define DEFINE_SERIALIZABLE(class_name, NS)
This declaration must be inserted in all CSerializable classes definition, within the class declarati...
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)
bool isProjective() const
bool isOrthogonal() const
void setPointingAt(float x, float y, float z)