From 3ed9b6f6f127c72eb50ee9362f20f88e1917b936 Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Sun, 17 Feb 2013 11:24:52 -0500 Subject: [PATCH] mitsuba-python: added some casts() to Scene getters --- src/libpython/base.h | 2 ++ src/libpython/render.cpp | 19 ++++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/libpython/base.h b/src/libpython/base.h index 5da0bfda..a35008de 100644 --- a/src/libpython/base.h +++ b/src/libpython/base.h @@ -157,6 +157,7 @@ public: namespace mitsuba { class SerializableObject; + class ConfigurableObject; }; typedef std::vector StringVector; @@ -165,6 +166,7 @@ typedef std::map StringMap; extern void export_core(); extern void export_render(); +extern bp::object cast(mitsuba::ConfigurableObject *obj); #endif /* __PYTHON_BASE_H */ diff --git a/src/libpython/render.cpp b/src/libpython/render.cpp index 3567ed69..dce8ebfc 100644 --- a/src/libpython/render.cpp +++ b/src/libpython/render.cpp @@ -86,15 +86,18 @@ bp::list scene_getSensors(Scene *scene) { bp::list list; ref_vector &sensors = scene->getSensors(); for (size_t i=0; igetSensor()); } +bp::object scene_getIntegrator(Scene *scene) { return cast(scene->getIntegrator()); } + bp::list scene_getMeshes(Scene *scene) { bp::list list; std::vector &meshes = scene->getMeshes(); for (size_t i=0; i &shapes = scene->getShapes(); for (size_t i=0; i &emitters = scene->getEmitters(); for (size_t i=0; i &media = scene->getMedia(); for (size_t i=0; i