Browse Source

SceneGraph: reduce header bloat.

pull/94/head
Vladimír Vondruš 11 years ago
parent
commit
aeb9943dc7
  1. 5
      src/Magnum/SceneGraph/AbstractCamera.h
  2. 5
      src/Magnum/SceneGraph/AbstractCamera.hpp

5
src/Magnum/SceneGraph/AbstractCamera.h

@ -29,7 +29,6 @@
* @brief Class @ref Magnum::SceneGraph::AbstractCamera, enum @ref Magnum::SceneGraph::AspectRatioPolicy, alias @ref Magnum::SceneGraph::AbstractBasicCamera2D, @ref Magnum::SceneGraph::AbstractBasicCamera3D, typedef @ref Magnum::SceneGraph::AbstractCamera2D, @ref Magnum::SceneGraph::AbstractCamera3D * @brief Class @ref Magnum::SceneGraph::AbstractCamera, enum @ref Magnum::SceneGraph::AspectRatioPolicy, alias @ref Magnum::SceneGraph::AbstractBasicCamera2D, @ref Magnum::SceneGraph::AbstractBasicCamera3D, typedef @ref Magnum::SceneGraph::AbstractCamera2D, @ref Magnum::SceneGraph::AbstractCamera3D
*/ */
#include "Magnum/Math/Functions.h"
#include "Magnum/Math/Matrix3.h" #include "Magnum/Math/Matrix3.h"
#include "Magnum/Math/Matrix4.h" #include "Magnum/Math/Matrix4.h"
#include "Magnum/SceneGraph/AbstractFeature.h" #include "Magnum/SceneGraph/AbstractFeature.h"
@ -150,9 +149,7 @@ template<UnsignedInt dimensions, class T> class AbstractCamera: public AbstractF
} }
#ifndef DOXYGEN_GENERATING_OUTPUT #ifndef DOXYGEN_GENERATING_OUTPUT
void fixAspectRatio() { void fixAspectRatio();
_projectionMatrix = Implementation::aspectRatioFix<dimensions, T>(_aspectRatioPolicy, {Math::abs(rawProjectionMatrix[0].x()), Math::abs(rawProjectionMatrix[1].y())}, _viewport)*rawProjectionMatrix;
}
MatrixTypeFor<dimensions, T> rawProjectionMatrix; MatrixTypeFor<dimensions, T> rawProjectionMatrix;
AspectRatioPolicy _aspectRatioPolicy; AspectRatioPolicy _aspectRatioPolicy;

5
src/Magnum/SceneGraph/AbstractCamera.hpp

@ -29,6 +29,7 @@
* @brief @ref compilation-speedup-hpp "Template implementation" for @ref AbstractCamera.h * @brief @ref compilation-speedup-hpp "Template implementation" for @ref AbstractCamera.h
*/ */
#include "Magnum/Math/Functions.h"
#include "Magnum/SceneGraph/AbstractCamera.h" #include "Magnum/SceneGraph/AbstractCamera.h"
#include "Magnum/SceneGraph/Drawable.h" #include "Magnum/SceneGraph/Drawable.h"
@ -60,6 +61,10 @@ template<UnsignedInt dimensions, class T> AbstractCamera<dimensions, T>::Abstrac
template<UnsignedInt dimensions, class T> AbstractCamera<dimensions, T>::~AbstractCamera() = default; template<UnsignedInt dimensions, class T> AbstractCamera<dimensions, T>::~AbstractCamera() = default;
template<UnsignedInt dimensions, class T> void AbstractCamera<dimensions, T>::fixAspectRatio() {
_projectionMatrix = Implementation::aspectRatioFix<dimensions, T>(_aspectRatioPolicy, {Math::abs(rawProjectionMatrix[0].x()), Math::abs(rawProjectionMatrix[1].y())}, _viewport)*rawProjectionMatrix;
}
template<UnsignedInt dimensions, class T> AbstractCamera<dimensions, T>& AbstractCamera<dimensions, T>::setAspectRatioPolicy(AspectRatioPolicy policy) { template<UnsignedInt dimensions, class T> AbstractCamera<dimensions, T>& AbstractCamera<dimensions, T>::setAspectRatioPolicy(AspectRatioPolicy policy) {
_aspectRatioPolicy = policy; _aspectRatioPolicy = policy;
fixAspectRatio(); fixAspectRatio();

Loading…
Cancel
Save