root/OpenSceneGraph/trunk/applications/present3D/deprecated/PointsEventHandler.h @ 13890

Revision 13890, 1.4 kB (checked in by robert, 3 days ago)

Added shaders to support experimental shader based displacement mapping technique osgTerrain::ShaderTerrain?.

  • Property svn:eol-style set to native
Line 
1/* -*-c++-*- Present3D - Copyright (C) 1999-2006 Robert Osfield
2 *
3 * This software is open source and may be redistributed and/or modified under
4 * the terms of the GNU General Public License (GPL) version 2.0.
5 * The full license is in LICENSE.txt file included with this distribution,.
6 *
7 * This software is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10 * include LICENSE.txt for more details.
11*/
12
13#ifndef POINTSEVENTHANDLER
14#define POINTSEVENTHANDLER 1
15
16#include <osg/StateSet>
17#include <osg/Point>
18
19#include <osgGA/GUIEventHandler>
20
21class PointsEventHandler : public osgGA::GUIEventHandler
22{
23    public:
24        PointsEventHandler();
25
26        virtual bool handle(const osgGA::GUIEventAdapter& ea,osgGA::GUIActionAdapter&);
27
28        void getUsage(osg::ApplicationUsage& usage) const;
29
30        void setStateSet(osg::StateSet* stateset) { _stateset=stateset; }
31
32        osg::StateSet* getStateSet() { return _stateset.get(); }
33
34        const osg::StateSet* getStateSet() const { return _stateset.get(); }
35
36        void setPointSize(float psize);
37
38        float getPointSize() const;
39
40        void changePointSize(float delta);
41
42        void changePointAttenuation(float scale);
43
44        osg::ref_ptr<osg::StateSet> _stateset;
45        osg::ref_ptr<osg::Point>    _point;
46
47};
48
49#endif
Note: See TracBrowser for help on using the browser.