From 1b47d02583ab3911d626e015361edb0bcd485ab5 Mon Sep 17 00:00:00 2001 From: Wenzel Jakob Date: Sun, 14 Aug 2011 23:28:42 -0400 Subject: [PATCH] forgotten header file --- src/mtspy/mtspy.h | 54 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 src/mtspy/mtspy.h diff --git a/src/mtspy/mtspy.h b/src/mtspy/mtspy.h new file mode 100644 index 00000000..f204d53f --- /dev/null +++ b/src/mtspy/mtspy.h @@ -0,0 +1,54 @@ +/* + This file is part of Mitsuba, a physically based rendering system. + + Copyright (c) 2007-2011 by Wenzel Jakob and others. + + Mitsuba is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License Version 3 + as published by the Free Software Foundation. + + Mitsuba 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#if !defined(__MTSPY_H) +#define __MTSPY_H + +#include + +namespace boost { + namespace python { + template T* get_pointer(mitsuba::ref & p) { + return p.get(); + } + template const T* get_pointer(const mitsuba::ref & p) { + return p.get(); + } + } +} + +#include + +namespace bp = boost::python; + +/* Support ref<..> smart pointers */ +namespace boost { + namespace python { + template struct pointee< mitsuba::ref > { + typedef T type; + }; + } +} + +template void registerClass() { + boost::python::register_ptr_to_python< mitsuba::ref >(); +} + + +#endif /* __MTSPY_H */ +