openscenegraph
CameraViewSwitchManipulator
Go to the documentation of this file.
1/* -*-c++-*- OpenSceneGraph - Copyright (C) 1998-2006 Robert Osfield
2 *
3 * This library is open source and may be redistributed and/or modified under
4 * the terms of the OpenSceneGraph Public License (OSGPL) version 0.0 or
5 * (at your option) any later version. The full license is in LICENSE file
6 * included with this distribution, and on the openscenegraph.org website.
7 *
8 * This library is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * OpenSceneGraph Public License for more details.
12*/
13
14#ifndef OSGGA_VIEWLISTMANIPULATOR
15#define OSGGA_VIEWLISTMANIPULATOR 1
16
18#include <osg/Quat>
19#include <osg/CameraView>
20
21namespace osgGA{
22
24{
25 public:
27
28 virtual const char* className() const { return "CameraViewSwitcher"; }
29
31 virtual void setByMatrix(const osg::Matrixd& /*matrix*/) {}
32
34 virtual void setByInverseMatrix(const osg::Matrixd& /*matrix*/) {}
35
37 virtual osg::Matrixd getMatrix() const;
38
41
42
47 virtual void setNode(osg::Node*);
48
50 virtual const osg::Node* getNode() const { return _node.get();}
51
53 virtual osg::Node* getNode() { return _node.get();}
54
56 virtual void init(const GUIEventAdapter& /*ea*/,GUIActionAdapter& /*aa*/) { _currentView = 0; }
57
59 virtual bool handle(const GUIEventAdapter& ea,GUIActionAdapter& us);
60
62 virtual void getUsage(osg::ApplicationUsage& usage) const;
63
64 typedef std::vector< osg::ref_ptr<osg::CameraView> > CameraViewList;
65
66 protected:
67
69
71
73 unsigned int _currentView;
74};
75
76}
77
78#endif
79
Definition CameraManipulator:40
Definition CameraViewSwitchManipulator:24
virtual void init(const GUIEventAdapter &, GUIActionAdapter &)
Definition CameraViewSwitchManipulator:56
virtual const char * className() const
Definition CameraViewSwitchManipulator:28
virtual osg::Node * getNode()
Definition CameraViewSwitchManipulator:53
osg::ref_ptr< osg::Node > _node
Definition CameraViewSwitchManipulator:70
virtual bool handle(const GUIEventAdapter &ea, GUIActionAdapter &us)
virtual void setByMatrix(const osg::Matrixd &)
Definition CameraViewSwitchManipulator:31
virtual ~CameraViewSwitchManipulator()
Definition CameraViewSwitchManipulator:68
unsigned int _currentView
Definition CameraViewSwitchManipulator:73
virtual void setByInverseMatrix(const osg::Matrixd &)
Definition CameraViewSwitchManipulator:34
virtual osg::Matrixd getInverseMatrix() const
virtual const osg::Node * getNode() const
Definition CameraViewSwitchManipulator:50
CameraViewList _cameraViews
Definition CameraViewSwitchManipulator:72
virtual osg::Matrixd getMatrix() const
CameraViewSwitchManipulator()
Definition CameraViewSwitchManipulator:26
virtual void getUsage(osg::ApplicationUsage &usage) const
virtual void setNode(osg::Node *)
std::vector< osg::ref_ptr< osg::CameraView > > CameraViewList
Definition CameraViewSwitchManipulator:64
Definition GUIActionAdapter:62
Definition GUIEventAdapter:82
Definition ApplicationUsage:26
Definition Matrixd:27
Definition Node:72
Definition ref_ptr:32
Definition Callback:21
#define OSGGA_EXPORT
Definition osgGA/Export:40