9 #ifndef MYCAMERAMANIPULATOR_H
10 #define MYCAMERAMANIPULATOR_H
12 #include <osgGA/MatrixManipulator>
14 #include <osg/BoundingBox>
41 virtual const char*
className()
const {
return "MyCameraManipulator"; }
43 virtual void setByMatrix (
const osg::Matrixd& matrix );
50 virtual void setNode( osg::Node* );
51 virtual const osg::Node*
getNode()
const {
return _node.get(); }
52 virtual osg::Node*
getNode() {
return _node.get(); }
54 virtual void home(
const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& us );
55 virtual void home(
double );
57 virtual bool handle(
const osgGA::GUIEventAdapter& ea, osgGA::GUIActionAdapter& us );
74 osg::ref_ptr<const osgGA::GUIEventAdapter>
_ga_t1;
75 osg::ref_ptr<const osgGA::GUIEventAdapter>
_ga_t0;
90 osg::ref_ptr<osg::Node> _node;
92 bool m_rotationAllowed, m_panAllowed, m_zoomAllowed;
97 void trackball(osg::Vec3& axis,
float& angle,
float p1x,
float p1y,
float p2x,
float p2y);
98 float tb_project_to_sphere(
float r,
float x,
float y);
99 void setTrackballSize(
float size);
osg::ref_ptr< const osgGA::GUIEventAdapter > _ga_t1
Definition: MyCameraManipulator.h:74
virtual void setByMatrix(const osg::Matrixd &matrix)
Definition: MyCameraManipulator.cpp:208
virtual osg::Matrixd getInverseMatrix() const
Definition: MyCameraManipulator.cpp:220
void addMouseEvent(const osgGA::GUIEventAdapter &ea)
Add the current mouse GUIEvent to internal stack.
Definition: MyCameraManipulator.h:71
virtual void home(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
Manage modelview and projection, allows switching between ORTHOGRAPHIC and PERSPECTIVE projection...
Definition: MyCamera.h:44
virtual bool calcMovement()
Helper function called from handle().
Definition: MyCameraManipulator.cpp:61
virtual ~MyCameraManipulator()
Definition: MyCameraManipulator.h:30
virtual bool handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &us)
Definition: MyCameraManipulator.cpp:34
Simple trackball which operates on MyCamera.
Definition: MyCameraManipulator.h:26
virtual osg::Matrixd getMatrix() const
Definition: MyCameraManipulator.cpp:215
void flushMouseEventStack()
Reset the internal GUIEvent stack.
Definition: MyCameraManipulator.h:69
virtual void setByInverseMatrix(const osg::Matrixd &matrix)
Definition: MyCameraManipulator.h:44
virtual osg::Node * getNode()
Definition: MyCameraManipulator.h:52
virtual const osg::Node * getNode() const
Definition: MyCameraManipulator.h:51
MyCameraManipulator(MyCamera &myCamera)
Definition: MyCameraManipulator.cpp:22
virtual const char * className() const
Definition: MyCameraManipulator.h:41
virtual void setNode(osg::Node *)
Overrides settings applied by setBoundingBox()
Definition: MyCameraManipulator.cpp:172
osg::ref_ptr< const osgGA::GUIEventAdapter > _ga_t0
Definition: MyCameraManipulator.h:75