* @brief Gets the current projection of the camera
* @return The current projection matrix
*/
constglm::mat4&getProjection()const;
voidsetProjection(constglm::mat4projection);
/**
* @brief Gets the model-view-projection matrix of the camera with y-axis-correction applied
* @return The model-view-projection matrix
*/
glm::mat4getMVP()const;
/**
* @brief Gets the near and far bounds of the view frustum of the camera.
* @param[out] near The near bound of the view frustum
* @param[out] far The far bound of the view frustum
*/
voidgetNearFar(float&near,float&far)const;
voidsetUp(constglm::vec3&Up);
/**
* @brief Gets the current field of view of the camera in radians
* @return[in] The current field of view in radians
*/
floatgetFov()const;
/**
* @brief Sets the field of view of the camera to @p fov in radians
* @param[in] fov The new field of view in radians
*/
voidsetFov(floatfov);
voidchangeFov(doublefov);
voidupdateRatio(intwidth,intheight);
/**
* @brief Gets the current aspect ratio of the camera
* @return The current aspect ratio of the camera
*/
floatgetRatio()const;
/**
* @brief Updates the aspect ratio of the camera with @p ratio and, thus, changes the projection matrix
* @param[in] ratio The new aspect ratio of the camera
*/
voidsetRatio(floatratio);
/**
* @brief Sets @p near and @p far as new values for the view frustum of the camera. This leads to changes in the projection matrix according to these two values.
* @param[in] near The new near bound of the view frustum
* @param[in] far The new far bound of the view frustum
*/
voidsetNearFar(floatnear,floatfar);
/**
* @brief Gets the current front vector of the camera in world space
* @return The current front vector of the camera
*/
glm::vec3getFront()const;
glm::vec3getPosition()const;
voidsetPosition(glm::vec3position);
/**
* @brief Sets the front vector of the camera in world space to @p front
* @param[in] front The new front vector of the camera
*/
voidsetFront(constglm::vec3&front);
/**
* @brief Gets the current position of the camera in world space
* @return The current position of the camera in world space
*/
constglm::vec3&getPosition()const;
/**
* @brief Sets the position of the camera to @p position
* @param[in] position The new position of the camera
*/
voidsetPosition(constglm::vec3&position);
/**
* @brief Gets the center point.
* @return The center point.
*/
constglm::vec3&getCenter()const;
/**
* @brief Sets @p center as the new center point.
* @param[in] center The new center point.
*/
voidsetCenter(constglm::vec3¢er);
/**
* @brief Gets the pitch value of the camera in degrees.
* @return The pitch value in degrees.
*/
floatgetPitch()const;
/**
* @brief Sets the pitch value of the camera to @p pitch in degrees.
* @param[in] pitch The new pitch value in degrees.
*/
voidsetPitch(floatpitch);
/**
* @brief Gets the yaw value of the camera in degrees.
* @return The yaw value in degrees.
*/
floatgetYaw()const;
/**
* @brief Sets the yaw value of the camera to @p yaw.