//C++ header - Open Scene Graph - Copyright (C) 1998-2001 Robert Osfield //Distributed under the terms of the GNU Library General Public License (LGPL) //as published by the Free Software Foundation. #ifndef OSGUTIL_GEOSTATE_MANIPULATOR #define OSGUTIL_GEOSTATE_MANIPULATOR 1 #include #include #include #include #include namespace osgUtil{ class OSGUTIL_EXPORT StateSetManipulator : public GUIEventHandler { public: StateSetManipulator(); virtual ~StateSetManipulator(); /** attach a geostate to the manipulator to be used for specifying view.*/ virtual void setStateSet(osg::StateSet*); /** get the attached a geostate.*/ virtual osg::StateSet * getStateSet(); /** get the attached a geostate.*/ virtual const osg::StateSet * getStateSet() const; /** Handle events, return true if handled, false otherwise.*/ virtual bool handle(const GUIEventAdapter& ea,GUIActionAdapter& us); protected: // Reference pointer to a geostate osg::ref_ptr _drawState; bool _backface; bool _lighting; bool _texture; }; } #endif