class mrpt::gui::CGlCanvasBaseHeadless

Overview

A headless dummy implementation of CGlCanvasBase : can be used to keep track of user UI mouse events and update the camera parameters, with actual rendering being delegated to someone else.

#include <mrpt/gui/CGlCanvasBase.h>

class CGlCanvasBaseHeadless: public mrpt::gui::CGlCanvasBase
{
public:
    // construction

    CGlCanvasBaseHeadless();
};

// direct descendants

class NanoGUICanvasHeadless;

Inherited Members

public:
    // structs

    struct CamaraParams;

    // methods

    void setMinimumZoom(float zoom);
    void setMaximumZoom(float zoom);
    void setMousePos(int x, int y);
    void setMouseClicked(bool is);
    void updateLastPos(int x, int y);
    void resizeViewport(int w, int h);
    void updateZoom(CamaraParams& params, int x, int y) const;
    void updateZoom(CamaraParams& params, float delta) const;
    void updateRotate(CamaraParams& params, int x, int y) const;
    void updateOrbitCamera(CamaraParams& params, int x, int y) const;
    void updatePan(CamaraParams& params, int x, int y) const;
    void updateRoll(CamaraParams& params, int x, int y, float scale = 0.15f) const;
    CamaraParams cameraParams() const;
    const CamaraParams& getRefCameraParams() const;
    virtual void setCameraParams(const CamaraParams& params);
    mrpt::opengl::CCamera& updateCameraParams(mrpt::opengl::CCamera& cam) const;
    void setUseCameraFromScene(bool is);
    bool getUseCameraFromScene() const;
    virtual void setCameraPointing(float pointX, float pointY, float pointZ);
    float getCameraPointingX() const;
    float getCameraPointingY() const;
    float getCameraPointingZ() const;
    virtual void setZoomDistance(float zoom);
    float getZoomDistance() const;
    virtual void setAzimuthDegrees(float ang);
    float getAzimuthDegrees() const;
    virtual void setElevationDegrees(float ang);
    float getElevationDegrees() const;

    virtual void OnUserManuallyMovesCamera(
        float new_cameraPointingX,
        float new_cameraPointingY,
        float new_cameraPointingZ,
        float new_cameraZoomDistance,
        float new_cameraElevationDeg,
        float new_cameraAzimuthDeg
        );

    mrpt::opengl::Scene::Ptr& getOpenGLSceneRef();