#ifndef DM_ORTHOGRAPHICCAMERAMANIPULATOR_H #define DM_ORTHOGRAPHICCAMERAMANIPULATOR_H #include class DM_OrthographicCameraManipulator { public: DM_OrthographicCameraManipulator(); /** * @brief Set the camera to manipulate */ void setCamera(osg::Camera *cam); /** * @brief Call this method in resizeGL */ void updateCameraOrthographic(); /** * @brief Modify the distance without update the camera projection */ virtual void setDistanceWithoutUpdate(double distance) = 0; private: osg::ref_ptr m_camera; protected: /** * @brief Must return the distance between the camera and the scene */ virtual double getDistance() const = 0; }; #endif // DM_ORTHOGRAPHICCAMERAMANIPULATOR_H