Browse Source

Added Scene downcasting to Object

pull/8/head
Marco Melorio 7 years ago
parent
commit
9f19e72bf1
  1. 12
      src/python/magnum/scenegraph.matrix.cpp
  2. 12
      src/python/magnum/scenegraph.trs.cpp

12
src/python/magnum/scenegraph.matrix.cpp

@ -34,12 +34,6 @@ void scenegraphMatrix(py::module& m) {
py::module matrix = m.def_submodule("matrix");
matrix.doc() = "General matrix-based scene graph implementation";
py::class_<SceneGraph::Scene<SceneGraph::MatrixTransformation2D>> scene2D_{matrix, "Scene2D", "Two-dimensional scene with matrix-based transformation implementation"};
scene(scene2D_);
py::class_<SceneGraph::Scene<SceneGraph::MatrixTransformation3D>> scene3D_{matrix, "Scene3D", "Three-dimensional scene with matrix-based transformation implementation"};
scene(scene3D_);
py::class_<SceneGraph::Object<SceneGraph::MatrixTransformation2D>, SceneGraph::PyObject<SceneGraph::Object<SceneGraph::MatrixTransformation2D>>, SceneGraph::AbstractObject2D, SceneGraph::PyObjectHolder<SceneGraph::Object<SceneGraph::MatrixTransformation2D>>> object2D_{matrix, "Object2D", "Two-dimensional object with matrix-based transformation implementation"};
object(object2D_);
objectTransform(object2D_);
@ -53,6 +47,12 @@ void scenegraphMatrix(py::module& m) {
object3D(object3D_);
objectScale(object3D_);
objectReflect(object3D_);
py::class_<SceneGraph::Scene<SceneGraph::MatrixTransformation2D>> scene2D_{matrix, "Scene2D", "Two-dimensional scene with matrix-based transformation implementation", object2D_};
scene(scene2D_);
py::class_<SceneGraph::Scene<SceneGraph::MatrixTransformation3D>> scene3D_{matrix, "Scene3D", "Three-dimensional scene with matrix-based transformation implementation", object3D_};
scene(scene3D_);
}
}

12
src/python/magnum/scenegraph.trs.cpp

@ -54,12 +54,6 @@ void scenegraphTrs(py::module& m) {
py::module matrix = m.def_submodule("trs");
matrix.doc() = "Translation/rotation/scaling-based scene graph implementation";
py::class_<SceneGraph::Scene<SceneGraph::TranslationRotationScalingTransformation2D>> scene2D_{matrix, "Scene2D", "Two-dimensional scene with TRS-based transformation implementation"};
scene(scene2D_);
py::class_<SceneGraph::Scene<SceneGraph::TranslationRotationScalingTransformation3D>> scene3D_{matrix, "Scene3D", "Three-dimensional scene with TRS-based transformation implementation"};
scene(scene3D_);
py::class_<SceneGraph::Object<SceneGraph::TranslationRotationScalingTransformation2D>, SceneGraph::PyObject<SceneGraph::Object<SceneGraph::TranslationRotationScalingTransformation2D>>, SceneGraph::AbstractObject2D, SceneGraph::PyObjectHolder<SceneGraph::Object<SceneGraph::TranslationRotationScalingTransformation2D>>> object2D_{matrix, "Object2D", "Two-dimensional object with TRS-based transformation implementation"};
object(object2D_);
object2D(object2D_);
@ -71,6 +65,12 @@ void scenegraphTrs(py::module& m) {
object3D(object3D_);
objectScale(object3D_);
objectTrs(object3D_);
py::class_<SceneGraph::Scene<SceneGraph::TranslationRotationScalingTransformation2D>> scene2D_{matrix, "Scene2D", "Two-dimensional scene with TRS-based transformation implementation", object2D_};
scene(scene2D_);
py::class_<SceneGraph::Scene<SceneGraph::TranslationRotationScalingTransformation3D>> scene3D_{matrix, "Scene3D", "Three-dimensional scene with TRS-based transformation implementation", object3D_};
scene(scene3D_);
}
}

Loading…
Cancel
Save