// Copyright (C) 2002-2003 Gideon May (gideon@computer.org) // // Permission to copy, use, sell and distribute this software is granted // provided this copyright notice appears in all copies. // Permission to modify the code and to distribute modified code is granted // provided this copyright notice appears in all copies, and a notice // that the code was modified is included with the copyright notice. // // This software is provided "as is" without express or implied warranty, // and with no claim as to its suitability for any purpose. #include #include #include #include #include #include #include "held_ptr.hpp" using namespace boost::python; namespace PyOSG { void init_Uniform() { class_, bases, boost::noncopyable > uniform("Uniform", no_init); scope uniform_scope(uniform); uniform .def(init<>()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) .def(init()) ; # define OSG_ENUM_TYPE(VALUE) \ (type.value(#VALUE, osg::Uniform::VALUE), \ uniform.def(#VALUE, object(osg::Uniform::VALUE))) enum_ type("Type"); OSG_ENUM_TYPE(FLOAT); OSG_ENUM_TYPE(FLOAT_VEC2); OSG_ENUM_TYPE(FLOAT_VEC3); OSG_ENUM_TYPE(FLOAT_VEC4); OSG_ENUM_TYPE(INT); OSG_ENUM_TYPE(INT_VEC2); OSG_ENUM_TYPE(INT_VEC3); OSG_ENUM_TYPE(INT_VEC4); OSG_ENUM_TYPE(BOOL); OSG_ENUM_TYPE(BOOL_VEC2); OSG_ENUM_TYPE(BOOL_VEC3); OSG_ENUM_TYPE(BOOL_VEC4); OSG_ENUM_TYPE(FLOAT_MAT2); OSG_ENUM_TYPE(FLOAT_MAT3); OSG_ENUM_TYPE(FLOAT_MAT4); OSG_ENUM_TYPE(SAMPLER_1D); OSG_ENUM_TYPE(SAMPLER_2D); OSG_ENUM_TYPE(SAMPLER_3D); OSG_ENUM_TYPE(SAMPLER_CUBE); OSG_ENUM_TYPE(SAMPLER_1D_SHADOW); OSG_ENUM_TYPE(SAMPLER_2D_SHADOW); OSG_ENUM_TYPE(UNDEFINED); } }