// 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 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "held_ptr.hpp" using namespace boost::python; typedef osgGA::MatrixManipulator osgGA_MatrixManipulator; class MatrixManipulator_callback : public osgGA::MatrixManipulator { public: MatrixManipulator_callback() {} ~MatrixManipulator_callback() {} void setNode_imp(osg::Node * node) { this->osgGA_MatrixManipulator::setNode(node); } const osg::Node * getNode_imp() const { return this->osgGA_MatrixManipulator::getNode(); } void home_imp(osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& us) { this->osgGA_MatrixManipulator::home(ea, us); } void init_imp(osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& us) { this->osgGA_MatrixManipulator::init(ea, us); } bool handle_imp(osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter& us) { return this->osgGA_MatrixManipulator::handle(ea, us); } }; namespace PyOSG { void init_GUIActionAdapter(); void init_GUIEventAdapter(); void init_GUIEventHandler(); void init_MatrixManipulator(); void __init_osgGA() { init_GUIActionAdapter(); init_GUIEventAdapter(); init_GUIEventHandler(); init_MatrixManipulator(); class_("GUIEventHandlerVisitor", no_init) ; class_, bases, boost::noncopyable>("DriveManipulator", no_init) .def(init<>()) ; class_, bases, boost::noncopyable>("FlightManipulator", no_init) .def(init<>()) ; class_, bases, boost::noncopyable>("KeySwitchMatrixManipulator", no_init) .def(init<>()) ; class_, bases, boost::noncopyable>("NodeTrackerManipulator", no_init) .def(init<>()) ; class_, bases, boost::noncopyable>("TerrainManipulator", no_init) .def(init<>()) ; class_, bases, boost::noncopyable>("TrackballManipulator", no_init) .def(init<>()) ; class_, bases, boost::noncopyable>("UFOManipulator", no_init) .def(init<>()) ; } } BOOST_PYTHON_MODULE(_osgGA) { scope().attr("__doc__") = "Wrapper for the OpenSceneGraph dbase scene graph library\n"; PyOSG::__init_osgGA(); } #include "module_tail.hpp"