// Copyright (C) 2002-2005 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 "StateAttribute.hpp" #include "held_ptr.hpp" using namespace boost::python; namespace { osg::BlendEquation * asBlendEquation(osg::StateAttribute * self) { return dynamic_cast(self); } } namespace PyOSG { void init_BlendEquation() { register_castStateAttribute("asBlendEquation", &asBlendEquation); class_, bases > blendEquation("BlendEquation", " Encapsulates OpenGL BlendEquation state.\n", no_init); scope blendEquation_scope(blendEquation); blendEquation .def(init<>()) .def(init()) .def("setEquation", &osg::BlendEquation::setEquation) .def("getEquation", &osg::BlendEquation::getEquation) ; # define OSG_ENUM_MODE(VALUE) \ (equation.value(#VALUE, osg::BlendEquation::VALUE), \ blendEquation.def(#VALUE, object(osg::BlendEquation::VALUE))) enum_ equation("Equation"); OSG_ENUM_MODE(RGBA_MIN); OSG_ENUM_MODE(RGBA_MAX); OSG_ENUM_MODE(ALPHA_MIN); OSG_ENUM_MODE(ALPHA_MAX); OSG_ENUM_MODE(LOGIC_OP); OSG_ENUM_MODE(FUNC_ADD); OSG_ENUM_MODE(FUNC_SUBTRACT); OSG_ENUM_MODE(FUNC_REVERSE_SUBTRACT); } } // namespace PyOSG