// Copyright (C) 2002-2003 Brett Hartshorn (bhartsho@yahoo.com) // Copyright (C) 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 "held_ptr.hpp" using namespace boost::python; namespace PyOSG { void init_CullingSet() { class_, bases, boost::noncopyable> ("CullingSet", no_init) .def(init<>()) .def("set", (void (osg::CullingSet::*)(const osg::CullingSet&)) &osg::CullingSet::set) .def("set", (void (osg::CullingSet::*)(const osg::CullingSet&,const osg::Matrix&, const osg::Vec4&)) &osg::CullingSet::set) .def("setCullingMask", &osg::CullingSet::setCullingMask) .def("setFrustum", &osg::CullingSet::setFrustum) .def("getFrustum", (const osg::Polytope& (osg::CullingSet::*)()const) &osg::CullingSet::getFrustum, return_value_policy()) .def("addOccluder", &osg::CullingSet::addOccluder) .def("setPixelSizeVector", &osg::CullingSet::setPixelSizeVector) .def("getPixelSizeVector", (const osg::Vec4& (osg::CullingSet::*)()const) &osg::CullingSet::getPixelSizeVector, return_value_policy()) .def("setSmallFeatureCullingPixelSize", &osg::CullingSet::setSmallFeatureCullingPixelSize) .def("getSmallFeatureCullingPixelSize", (float(osg::CullingSet::*)()const) &osg::CullingSet::getSmallFeatureCullingPixelSize) .def("pixelSize", (float(osg::CullingSet::*)(const osg::Vec3&,float) const) &osg::CullingSet::pixelSize) .def("pixelSize", (float(osg::CullingSet::*)(const osg::BoundingSphere&) const) &osg::CullingSet::pixelSize) .def("isCulled", (bool(osg::CullingSet::*)(const std::vector&)) &osg::CullingSet::isCulled) .def("isCulled", (bool(osg::CullingSet::*)(const osg::BoundingBox&)) &osg::CullingSet::isCulled) .def("isCulled", (bool(osg::CullingSet::*)(const osg::BoundingSphere&)) &osg::CullingSet::isCulled) .def("pushCurrentMask", &osg::CullingSet::pushCurrentMask) .def("popCurrentMask", &osg::CullingSet::popCurrentMask) .def("disableAndPushOccludersCurrentMask", &osg::CullingSet::disableAndPushOccludersCurrentMask) .def("popOccludersCurrentMask", &osg::CullingSet::popOccludersCurrentMask) ; } } // namespace PyOSG