diff --git a/examples/triangle/Triangle.cpp b/examples/triangle/Triangle.cpp
index 3713f1ecf..cd17e6d6e 100644
--- a/examples/triangle/Triangle.cpp
+++ b/examples/triangle/Triangle.cpp
@@ -19,7 +19,7 @@
namespace Magnum { namespace Examples {
-Triangle::Triangle(AbstractObject* parent): AbstractObject(parent), mesh(Mesh::Triangles, 3) {
+Triangle::Triangle(Object* parent): Object(parent), mesh(Mesh::Triangles, 3) {
/* Vertices and colors, interleaved */
Vector4 data[] = {
Vector4(-0.5f, -0.5f, 0.0f), Vector4(1.0f, 0.0f, 0.0f), /* Red lower left vertex */
diff --git a/examples/triangle/Triangle.h b/examples/triangle/Triangle.h
index 80f43e0de..9ff45040b 100644
--- a/examples/triangle/Triangle.h
+++ b/examples/triangle/Triangle.h
@@ -15,15 +15,15 @@
GNU Lesser General Public License version 3 for more details.
*/
-#include "AbstractObject.h"
+#include "Object.h"
#include "Mesh.h"
#include "IdentityShader.h"
namespace Magnum { namespace Examples {
-class Triangle: public AbstractObject {
+class Triangle: public Object {
public:
- Triangle(AbstractObject* parent = 0);
+ Triangle(Object* parent = 0);
virtual void draw(const Matrix4& transformationMatrix, const Matrix4& projectionMatrix);
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 829209029..eb0aaa3e7 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -6,7 +6,7 @@ find_package(GLEW REQUIRED)
add_subdirectory(Math)
set(Magnum_SRCS
- AbstractObject.cpp
+ Object.cpp
AbstractShaderProgram.cpp
Camera.cpp
IndexedMesh.cpp
diff --git a/src/Camera.cpp b/src/Camera.cpp
index 72f2de11b..bbb791c73 100644
--- a/src/Camera.cpp
+++ b/src/Camera.cpp
@@ -17,7 +17,7 @@
namespace Magnum {
-Camera::Camera(AbstractObject* parent): AbstractObject(parent), viewportWidth(0), viewportHeight(0), _aspectRatioPolicy(Extend) {
+Camera::Camera(Object* parent): Object(parent), viewportWidth(0), viewportHeight(0), _aspectRatioPolicy(Extend) {
setOrthographic(2, 1, 1000);
}
diff --git a/src/Camera.h b/src/Camera.h
index 085699ee1..136bc3702 100644
--- a/src/Camera.h
+++ b/src/Camera.h
@@ -19,7 +19,7 @@
* @brief Class Magnum::Camera
*/
-#include "AbstractObject.h"
+#include "Object.h"
namespace Magnum {
@@ -28,7 +28,7 @@ namespace Magnum {
*
* @todo Subclasses - perspective, FBO postprocessing etc.
*/
-class Camera: public AbstractObject {
+class Camera: public Object {
public:
/** @brief Aspect ratio policy */
enum AspectRatioPolicy {
@@ -43,7 +43,7 @@ class Camera: public AbstractObject {
*
* Calls setOrthographic(2, 1, 1000).
*/
- Camera(AbstractObject* parent = 0);
+ Camera(Object* parent = 0);
/** @brief Aspect ratio policy */
AspectRatioPolicy aspectRatioPolicy() const { return _aspectRatioPolicy; }
@@ -96,14 +96,6 @@ class Camera: public AbstractObject {
*/
void setViewport(int width, int height);
- /**
- * @brief Draw camera
- *
- * Subclasses can draw for example an HUD. Default implementation does
- * nothing.
- */
- virtual void draw(const Magnum::Matrix4& transformationMatrix, const Magnum::Matrix4& projectionMatrix) {}
-
private:
Matrix4 rawProjectionMatrix;
Matrix4 _projectionMatrix;
diff --git a/src/AbstractObject.cpp b/src/Object.cpp
similarity index 82%
rename from src/AbstractObject.cpp
rename to src/Object.cpp
index a3a47c592..2dee248b5 100644
--- a/src/AbstractObject.cpp
+++ b/src/Object.cpp
@@ -13,13 +13,13 @@
GNU Lesser General Public License version 3 for more details.
*/
-#include "AbstractObject.h"
+#include "Object.h"
using namespace std;
namespace Magnum {
-void AbstractObject::setParent(AbstractObject* parent) {
+void Object::setParent(Object* parent) {
if(_parent == parent) return;
/* Remove the object from old parent children list */
@@ -34,12 +34,12 @@ void AbstractObject::setParent(AbstractObject* parent) {
_parent = parent;
}
-AbstractObject::~AbstractObject() {
+Object::~Object() {
/* Remove the object from parent's children */
setParent(0);
/* Delete all children */
- for(set::const_iterator it = _children.begin(); it != _children.end(); ++it)
+ for(set