From be9843768206c437dc728085b7e6c548e4434d94 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sun, 12 Feb 2012 22:58:44 +0100 Subject: [PATCH] De-inlined Light::clean(). --- src/CMakeLists.txt | 1 + src/Light.cpp | 26 ++++++++++++++++++++++++++ src/Light.h | 6 +----- 3 files changed, 28 insertions(+), 5 deletions(-) create mode 100644 src/Light.cpp diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index bbc755409..407993607 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -12,6 +12,7 @@ set(Magnum_SRCS AbstractShaderProgram.cpp Camera.cpp IndexedMesh.cpp + Light.cpp Mesh.cpp Scene.cpp Shader.cpp diff --git a/src/Light.cpp b/src/Light.cpp new file mode 100644 index 000000000..2b4b4f2d7 --- /dev/null +++ b/src/Light.cpp @@ -0,0 +1,26 @@ +/* + Copyright © 2010, 2011, 2012 Vladimír Vondruš + + This file is part of Magnum. + + Magnum is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License version 3 + only, as published by the Free Software Foundation. + + Magnum is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License version 3 for more details. +*/ + +#include "Light.h" + +namespace Magnum { + +void Light::setClean() { + if(!isDirty()) return; + _position = transformation(true).at(3).xyz(); + Object::setClean(); +} + +} diff --git a/src/Light.h b/src/Light.h index d03d853b1..a2eeff975 100644 --- a/src/Light.h +++ b/src/Light.h @@ -47,11 +47,7 @@ class Light: public Object { /** * Recomputes light position. */ - inline virtual void setClean() { - if(!isDirty()) return; - _position = transformation(true).at(3).xyz(); - Object::setClean(); - } + virtual void setClean(); private: Vector3 _position;