| 1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
|---|
| 2 | |
|---|
| 3 | <HTML> |
|---|
| 4 | <HEAD> |
|---|
| 5 | <TITLE>class OSGGA_EXPORT osgGA::HoverManipulator</TITLE> |
|---|
| 6 | <META NAME="GENERATOR" CONTENT="DOC++ 3.4.6"> |
|---|
| 7 | </HEAD> |
|---|
| 8 | <BODY BGCOLOR="#ffffff"> |
|---|
| 9 | |
|---|
| 10 | <H2>class OSGGA_EXPORT <A HREF="#DOC.DOCU">osgGA::HoverManipulator</A></H2></H2><BLOCKQUOTE> HoverManipulator is a MatrixManipulator which provides a camera motion model using mouse and keyboard, designed for flythrough applications (eg.</BLOCKQUOTE> |
|---|
| 11 | <HR> |
|---|
| 12 | |
|---|
| 13 | <H2>Inheritance:</H2> |
|---|
| 14 | <APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125> |
|---|
| 15 | <param name=classes value="Mosg::Object,M,CGUIEventHandler,MGUIEventHandler.html,CMatrixManipulator,MMatrixManipulator.html,CHoverManipulator,MHoverManipulator.html"> |
|---|
| 16 | <param name=before value="M,M,M,M"> |
|---|
| 17 | <param name=after value="Md_SPSP,Md_SP,Md_,M"> |
|---|
| 18 | <param name=indent value="0,1,2,3"> |
|---|
| 19 | <param name=arrowdir value="down"> |
|---|
| 20 | </APPLET> |
|---|
| 21 | <HR> |
|---|
| 22 | |
|---|
| 23 | <DL> |
|---|
| 24 | <P><DL> |
|---|
| 25 | <DT><H3>Public Methods</H3><DD><DT> |
|---|
| 26 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.9.1">HoverManipulator</A></B>() |
|---|
| 27 | <DT> |
|---|
| 28 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.9.2">className</A></B>() const |
|---|
| 29 | <DT> |
|---|
| 30 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.3">setByMatrix</A></B>(const osg::Matrixd& matrix) |
|---|
| 31 | <DD><I>set the position of the matrix manipulator using a 4x4 Matrix</I> |
|---|
| 32 | <DT> |
|---|
| 33 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.4">setByInverseMatrix</A></B>(const osg::Matrixd& matrix) |
|---|
| 34 | <DD><I>set the position of the matrix manipulator using a 4x4 Matrix</I> |
|---|
| 35 | <DT> |
|---|
| 36 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual osg::Matrixd <B><A HREF="#DOC.2.9.5">getMatrix</A></B>() const |
|---|
| 37 | <DD><I>get the position of the manipulator as 4x4 Matrix</I> |
|---|
| 38 | <DT> |
|---|
| 39 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual osg::Matrixd <B><A HREF="#DOC.2.9.6">getInverseMatrix</A></B>() const |
|---|
| 40 | <DD><I>get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix</I> |
|---|
| 41 | <DT> |
|---|
| 42 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.7">setNode</A></B>(osg::Node*) |
|---|
| 43 | <DT> |
|---|
| 44 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const osg::Node* <B><A HREF="#DOC.2.9.8">getNode</A></B>() const |
|---|
| 45 | <DT> |
|---|
| 46 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual osg::Node* <B><A HREF="#DOC.2.9.9">getNode</A></B>() |
|---|
| 47 | <DT> |
|---|
| 48 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.10">home</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>& us) |
|---|
| 49 | <DT> |
|---|
| 50 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.11">init</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>& us) |
|---|
| 51 | <DT> |
|---|
| 52 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.9.12">handle</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>& us) |
|---|
| 53 | <DT> |
|---|
| 54 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.13">getUsage</A></B>(osg::ApplicationUsage& usage) const |
|---|
| 55 | <DD><I>Get the keyboard and mouse usage of this manipulator</I> |
|---|
| 56 | <DT> |
|---|
| 57 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.14">stopAllMotion</A></B>() |
|---|
| 58 | </DL></P> |
|---|
| 59 | |
|---|
| 60 | <P><DL> |
|---|
| 61 | <DT><H3>Protected Fields</H3><DD><DT> |
|---|
| 62 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr<const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>> <B><A HREF="#DOC.2.9.23">_ga_t1</A></B> |
|---|
| 63 | <DT> |
|---|
| 64 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr<const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>> <B><A HREF="#DOC.2.9.24">_ga_t0</A></B> |
|---|
| 65 | <DT> |
|---|
| 66 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr<osg::Node> <B><A HREF="#DOC.2.9.25">_node</A></B> |
|---|
| 67 | <DT> |
|---|
| 68 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.26">_modelScale</A></B> |
|---|
| 69 | <DT> |
|---|
| 70 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.27">_velocity</A></B> |
|---|
| 71 | <DT> |
|---|
| 72 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.28">_heading</A></B> |
|---|
| 73 | <DT> |
|---|
| 74 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.29">_pitch</A></B> |
|---|
| 75 | <DT> |
|---|
| 76 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.30">_headingSpeed</A></B> |
|---|
| 77 | <DT> |
|---|
| 78 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.31">_pitchSpeed</A></B> |
|---|
| 79 | <DT> |
|---|
| 80 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.9.32">_moveRight</A></B> |
|---|
| 81 | <DT> |
|---|
| 82 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.9.33">_moveLeft</A></B> |
|---|
| 83 | <DT> |
|---|
| 84 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.9.34">_moveForward</A></B> |
|---|
| 85 | <DT> |
|---|
| 86 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.9.35">_moveBackward</A></B> |
|---|
| 87 | <DT> |
|---|
| 88 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.36">_leftRightSpeed</A></B> |
|---|
| 89 | <DT> |
|---|
| 90 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.37">_forwBackwSpeed</A></B> |
|---|
| 91 | <DT> |
|---|
| 92 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.38">_leftRightDefaultAcc</A></B> |
|---|
| 93 | <DT> |
|---|
| 94 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.39">_forwBackwDefaultAcc</A></B> |
|---|
| 95 | <DT> |
|---|
| 96 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.40">_leftRightDefaultBrake</A></B> |
|---|
| 97 | <DT> |
|---|
| 98 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.41">_forwBackwDefaultBrake</A></B> |
|---|
| 99 | <DT> |
|---|
| 100 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.42">_mouseFlyDefaultBrake</A></B> |
|---|
| 101 | <DT> |
|---|
| 102 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Vec3 <B><A HREF="#DOC.2.9.43">_eye</A></B> |
|---|
| 103 | <DT> |
|---|
| 104 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Quat <B><A HREF="#DOC.2.9.44">_rotation</A></B> |
|---|
| 105 | <DT> |
|---|
| 106 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Quat <B><A HREF="#DOC.2.9.45">_refRotation</A></B> |
|---|
| 107 | <DT> |
|---|
| 108 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.9.46">_distance</A></B> |
|---|
| 109 | </DL></P> |
|---|
| 110 | |
|---|
| 111 | <P><DL> |
|---|
| 112 | <DT><H3>Protected Methods</H3><DD><DT> |
|---|
| 113 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.9.15">~HoverManipulator</A></B>() |
|---|
| 114 | <DT> |
|---|
| 115 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.9.16">flushMouseEventStack</A></B>() |
|---|
| 116 | <DD><I>Reset the internal GUIEvent stack</I> |
|---|
| 117 | <DT> |
|---|
| 118 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.9.17">addMouseEvent</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea) |
|---|
| 119 | <DD><I>Add the current mouse GUIEvent to internal stack</I> |
|---|
| 120 | <DT> |
|---|
| 121 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.9.18">computePosition</A></B>(const osg::Vec3& eye, const osg::Vec3& lv, const osg::Vec3& up) |
|---|
| 122 | <DT> |
|---|
| 123 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.9.19">calcMovement</A></B>() |
|---|
| 124 | <DD><I>For the given mouse movement, calculate the movement of the camera.</I> |
|---|
| 125 | <DT> |
|---|
| 126 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.20">calcSpeedFromArrowKeys</A></B>(double dt) |
|---|
| 127 | <DT> |
|---|
| 128 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.9.21">calcSpeedFromMouseMotion</A></B>(double dt) |
|---|
| 129 | <DT> |
|---|
| 130 | <IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.9.22">updatePositionRotation</A></B>(float dt) |
|---|
| 131 | <DD><I>called each frame by calcMoveMent, updates eye position and rotation based on heading, pitch & velocity </I> |
|---|
| 132 | </DL></P> |
|---|
| 133 | |
|---|
| 134 | </DL> |
|---|
| 135 | <HR><H3>Inherited from <A HREF="MatrixManipulator.html">MatrixManipulator</A>:</H3> |
|---|
| 136 | <DL> |
|---|
| 137 | <P><DL> |
|---|
| 138 | <DT><H3>Public Classes</H3><DD><DT> |
|---|
| 139 | class <B><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A></B>: public osg::Referenced |
|---|
| 140 | <DD><I>callback class to use to allow matrix manipulators to querry the application for the local coordinate frame</I> |
|---|
| 141 | </DL></P> |
|---|
| 142 | |
|---|
| 143 | <P><DL> |
|---|
| 144 | <DT><H3>Public Methods</H3><DD><DT> |
|---|
| 145 | <IMG ALT="o" SRC=icon2.gif>virtual void <B>setMinimumDistance</B>(float minimumDistance) |
|---|
| 146 | <DT> |
|---|
| 147 | <IMG ALT="o" SRC=icon2.gif>float <B>getMinimumDistance</B>() const |
|---|
| 148 | <DT> |
|---|
| 149 | <IMG ALT="o" SRC=icon2.gif>virtual void <B>setCoordinateFrameCallback</B>(<!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>* cb) |
|---|
| 150 | <DT> |
|---|
| 151 | <IMG ALT="o" SRC=icon2.gif><!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>* <B>getCoordinateFrameCallback</B>() |
|---|
| 152 | <DT> |
|---|
| 153 | <IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>* <B>getCoordinateFrameCallback</B>() const |
|---|
| 154 | <DT> |
|---|
| 155 | <IMG ALT="o" SRC=icon2.gif>osg::CoordinateFrame <B>getCoordinateFrame</B>(const osg::Vec3d& position) const |
|---|
| 156 | <DT> |
|---|
| 157 | <IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>getSideVector</B>(const osg::CoordinateFrame& cf) const |
|---|
| 158 | <DT> |
|---|
| 159 | <IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>getFrontVector</B>(const osg::CoordinateFrame& cf) const |
|---|
| 160 | <DT> |
|---|
| 161 | <IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>getUpVector</B>(const osg::CoordinateFrame& cf) const |
|---|
| 162 | <DT> |
|---|
| 163 | <IMG ALT="o" SRC=icon2.gif>virtual osgUtil::SceneView::FusionDistanceMode <B>getFusionDistanceMode</B>() const |
|---|
| 164 | <DT> |
|---|
| 165 | <IMG ALT="o" SRC=icon2.gif>virtual float <B>getFusionDistanceValue</B>() const |
|---|
| 166 | <DT> |
|---|
| 167 | <IMG ALT="o" SRC=icon2.gif>virtual void <B>setHomePosition</B>(const osg::Vec3d& eye, const osg::Vec3d& center, const osg::Vec3d& up) |
|---|
| 168 | <DT> |
|---|
| 169 | <IMG ALT="o" SRC=icon2.gif>virtual void <B>getHomePosition</B>(osg::Vec3d& eye, osg::Vec3d& center, osg::Vec3d& up) |
|---|
| 170 | <DT> |
|---|
| 171 | <IMG ALT="o" SRC=icon2.gif>virtual void <B>setAutoComputeHomePosition</B>(bool flag) |
|---|
| 172 | <DT> |
|---|
| 173 | <IMG ALT="o" SRC=icon2.gif>bool <B>getAutoComputeHomePosition</B>() const |
|---|
| 174 | <DT> |
|---|
| 175 | <IMG ALT="o" SRC=icon2.gif>virtual void <B>computeHomePosition</B>() |
|---|
| 176 | <DT> |
|---|
| 177 | <IMG ALT="o" SRC=icon2.gif>virtual void <B>accept</B>(<!1><A HREF="GUIEventHandlerVisitor.html">GUIEventHandlerVisitor</A>& v) |
|---|
| 178 | </DL></P> |
|---|
| 179 | |
|---|
| 180 | <P><DL> |
|---|
| 181 | <DT><H3>Protected Fields</H3><DD><DT> |
|---|
| 182 | <IMG ALT="o" SRC=icon2.gif>double <B>_minimumDistance</B> |
|---|
| 183 | <DT> |
|---|
| 184 | <IMG ALT="o" SRC=icon2.gif>bool <B>_autoComputeHomePosition</B> |
|---|
| 185 | <DT> |
|---|
| 186 | <IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>_homeEye</B> |
|---|
| 187 | <DT> |
|---|
| 188 | <IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>_homeCenter</B> |
|---|
| 189 | <DT> |
|---|
| 190 | <IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>_homeUp</B> |
|---|
| 191 | <DT> |
|---|
| 192 | <IMG ALT="o" SRC=icon2.gif>osg::ref_ptr<<!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>> <B>_coordinateFrameCallback</B> |
|---|
| 193 | </DL></P> |
|---|
| 194 | |
|---|
| 195 | </DL> |
|---|
| 196 | <HR><H3>Inherited from <A HREF="GUIEventHandler.html">GUIEventHandler</A>:</H3> |
|---|
| 197 | <DL> |
|---|
| 198 | <P><DL> |
|---|
| 199 | <DT><H3>Public Methods</H3><DD><DT> |
|---|
| 200 | <IMG ALT="o" SRC=icon2.gif>META_Object <B>(osgGA, GUIEventHandler) const </B>() const |
|---|
| 201 | <DT> |
|---|
| 202 | <IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="CompositeGUIEventHandler.html">CompositeGUIEventHandler</A>* <B>getComposite</B>() |
|---|
| 203 | </DL></P> |
|---|
| 204 | |
|---|
| 205 | </DL> |
|---|
| 206 | |
|---|
| 207 | <A NAME="DOC.DOCU"></A> |
|---|
| 208 | <HR> |
|---|
| 209 | <H2>Documentation</H2> |
|---|
| 210 | <BLOCKQUOTE> |
|---|
| 211 | HoverManipulator is a MatrixManipulator which provides a camera motion model using mouse and keyboard, |
|---|
| 212 | designed for flythrough applications (eg. architectural visualisation). |
|---|
| 213 | This class was based on FlightManipulator and inspired by the OpenGL Performer (TM) 'fly' navigation mode. |
|---|
| 214 | |
|---|
| 215 | <P>Mouse input: |
|---|
| 216 | Dragging the middle mouse button changes the orientation of the camera. |
|---|
| 217 | While holding down the middle mouse button, you increase/decrease flying speed using the left and |
|---|
| 218 | right mouse buttons. Pressing the left and right buttons simultaneously works as a brake. |
|---|
| 219 | |
|---|
| 220 | <P>Keyboard input: |
|---|
| 221 | Space - stops all motion immediately |
|---|
| 222 | Arrow keys - move the camera parallel to the ground plane. Holding two 'opposing' arrow keys works as a |
|---|
| 223 | brake. |
|---|
| 224 | 'r' or 'R' - return the camera to the 'home' position |
|---|
| 225 | ------ |
|---|
| 226 | Martijn Kragtwijk, May 2004</BLOCKQUOTE> |
|---|
| 227 | <DL> |
|---|
| 228 | |
|---|
| 229 | <A NAME="HoverManipulator"></A> |
|---|
| 230 | <A NAME="DOC.2.9.1"></A> |
|---|
| 231 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> HoverManipulator()</B></TT> |
|---|
| 232 | <DL><DT><DD></DL><P> |
|---|
| 233 | <A NAME="className"></A> |
|---|
| 234 | <A NAME="DOC.2.9.2"></A> |
|---|
| 235 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* className() const </B></TT> |
|---|
| 236 | <DL><DT><DD></DL><P> |
|---|
| 237 | <A NAME="setByMatrix"></A> |
|---|
| 238 | <A NAME="DOC.2.9.3"></A> |
|---|
| 239 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setByMatrix(const osg::Matrixd& matrix)</B></TT> |
|---|
| 240 | <DD>set the position of the matrix manipulator using a 4x4 Matrix |
|---|
| 241 | <DL><DT><DD></DL><P> |
|---|
| 242 | <A NAME="setByInverseMatrix"></A> |
|---|
| 243 | <A NAME="DOC.2.9.4"></A> |
|---|
| 244 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setByInverseMatrix(const osg::Matrixd& matrix)</B></TT> |
|---|
| 245 | <DD>set the position of the matrix manipulator using a 4x4 Matrix |
|---|
| 246 | <DL><DT><DD></DL><P> |
|---|
| 247 | <A NAME="getMatrix"></A> |
|---|
| 248 | <A NAME="DOC.2.9.5"></A> |
|---|
| 249 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual osg::Matrixd getMatrix() const </B></TT> |
|---|
| 250 | <DD>get the position of the manipulator as 4x4 Matrix |
|---|
| 251 | <DL><DT><DD></DL><P> |
|---|
| 252 | <A NAME="getInverseMatrix"></A> |
|---|
| 253 | <A NAME="DOC.2.9.6"></A> |
|---|
| 254 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual osg::Matrixd getInverseMatrix() const </B></TT> |
|---|
| 255 | <DD>get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix |
|---|
| 256 | <DL><DT><DD></DL><P> |
|---|
| 257 | <A NAME="setNode"></A> |
|---|
| 258 | <A NAME="DOC.2.9.7"></A> |
|---|
| 259 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setNode(osg::Node*)</B></TT> |
|---|
| 260 | <DL><DT><DD></DL><P> |
|---|
| 261 | <A NAME="getNode"></A> |
|---|
| 262 | <A NAME="DOC.2.9.8"></A> |
|---|
| 263 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const osg::Node* getNode() const </B></TT> |
|---|
| 264 | <DL><DT><DD></DL><P> |
|---|
| 265 | <A NAME="getNode"></A> |
|---|
| 266 | <A NAME="DOC.2.9.9"></A> |
|---|
| 267 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual osg::Node* getNode()</B></TT> |
|---|
| 268 | <DL><DT><DD></DL><P> |
|---|
| 269 | <A NAME="home"></A> |
|---|
| 270 | <A NAME="DOC.2.9.10"></A> |
|---|
| 271 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void home(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>& us)</B></TT> |
|---|
| 272 | <DL><DT><DD></DL><P> |
|---|
| 273 | <A NAME="init"></A> |
|---|
| 274 | <A NAME="DOC.2.9.11"></A> |
|---|
| 275 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void init(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>& us)</B></TT> |
|---|
| 276 | <DL><DT><DD></DL><P> |
|---|
| 277 | <A NAME="handle"></A> |
|---|
| 278 | <A NAME="DOC.2.9.12"></A> |
|---|
| 279 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool handle(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>& us)</B></TT> |
|---|
| 280 | <DL><DT><DD></DL><P> |
|---|
| 281 | <A NAME="getUsage"></A> |
|---|
| 282 | <A NAME="DOC.2.9.13"></A> |
|---|
| 283 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void getUsage(osg::ApplicationUsage& usage) const </B></TT> |
|---|
| 284 | <DD>Get the keyboard and mouse usage of this manipulator |
|---|
| 285 | <DL><DT><DD></DL><P> |
|---|
| 286 | <A NAME="stopAllMotion"></A> |
|---|
| 287 | <A NAME="DOC.2.9.14"></A> |
|---|
| 288 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void stopAllMotion()</B></TT> |
|---|
| 289 | <DL><DT><DD></DL><P> |
|---|
| 290 | <A NAME="~HoverManipulator"></A> |
|---|
| 291 | <A NAME="DOC.2.9.15"></A> |
|---|
| 292 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~HoverManipulator()</B></TT> |
|---|
| 293 | <DL><DT><DD></DL><P> |
|---|
| 294 | <A NAME="flushMouseEventStack"></A> |
|---|
| 295 | <A NAME="DOC.2.9.16"></A> |
|---|
| 296 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void flushMouseEventStack()</B></TT> |
|---|
| 297 | <DD>Reset the internal GUIEvent stack |
|---|
| 298 | <DL><DT><DD></DL><P> |
|---|
| 299 | <A NAME="addMouseEvent"></A> |
|---|
| 300 | <A NAME="DOC.2.9.17"></A> |
|---|
| 301 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addMouseEvent(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>& ea)</B></TT> |
|---|
| 302 | <DD>Add the current mouse GUIEvent to internal stack |
|---|
| 303 | <DL><DT><DD></DL><P> |
|---|
| 304 | <A NAME="computePosition"></A> |
|---|
| 305 | <A NAME="DOC.2.9.18"></A> |
|---|
| 306 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void computePosition(const osg::Vec3& eye, const osg::Vec3& lv, const osg::Vec3& up)</B></TT> |
|---|
| 307 | <DL><DT><DD></DL><P> |
|---|
| 308 | <A NAME="calcMovement"></A> |
|---|
| 309 | <A NAME="DOC.2.9.19"></A> |
|---|
| 310 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool calcMovement()</B></TT> |
|---|
| 311 | <DD>For the given mouse movement, calculate the movement of the camera. |
|---|
| 312 | Return true is camera has moved and a redraw is required. |
|---|
| 313 | <DL><DT><DD></DL><P> |
|---|
| 314 | <A NAME="calcSpeedFromArrowKeys"></A> |
|---|
| 315 | <A NAME="DOC.2.9.20"></A> |
|---|
| 316 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void calcSpeedFromArrowKeys(double dt)</B></TT> |
|---|
| 317 | <DL><DT><DD></DL><P> |
|---|
| 318 | <A NAME="calcSpeedFromMouseMotion"></A> |
|---|
| 319 | <A NAME="DOC.2.9.21"></A> |
|---|
| 320 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void calcSpeedFromMouseMotion(double dt)</B></TT> |
|---|
| 321 | <DL><DT><DD></DL><P> |
|---|
| 322 | <A NAME="updatePositionRotation"></A> |
|---|
| 323 | <A NAME="DOC.2.9.22"></A> |
|---|
| 324 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool updatePositionRotation(float dt)</B></TT> |
|---|
| 325 | <DD>called each frame by calcMoveMent, updates eye position and rotation |
|---|
| 326 | based on heading, pitch & velocity |
|---|
| 327 | <DL><DT><DD></DL><P> |
|---|
| 328 | <A NAME="_ga_t1"></A> |
|---|
| 329 | <A NAME="DOC.2.9.23"></A> |
|---|
| 330 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr<const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>> _ga_t1</B></TT> |
|---|
| 331 | <DL><DT><DD></DL><P> |
|---|
| 332 | <A NAME="_ga_t0"></A> |
|---|
| 333 | <A NAME="DOC.2.9.24"></A> |
|---|
| 334 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr<const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>> _ga_t0</B></TT> |
|---|
| 335 | <DL><DT><DD></DL><P> |
|---|
| 336 | <A NAME="_node"></A> |
|---|
| 337 | <A NAME="DOC.2.9.25"></A> |
|---|
| 338 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr<osg::Node> _node</B></TT> |
|---|
| 339 | <DL><DT><DD></DL><P> |
|---|
| 340 | <A NAME="_modelScale"></A> |
|---|
| 341 | <A NAME="DOC.2.9.26"></A> |
|---|
| 342 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _modelScale</B></TT> |
|---|
| 343 | <DL><DT><DD></DL><P> |
|---|
| 344 | <A NAME="_velocity"></A> |
|---|
| 345 | <A NAME="DOC.2.9.27"></A> |
|---|
| 346 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _velocity</B></TT> |
|---|
| 347 | <DL><DT><DD></DL><P> |
|---|
| 348 | <A NAME="_heading"></A> |
|---|
| 349 | <A NAME="DOC.2.9.28"></A> |
|---|
| 350 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _heading</B></TT> |
|---|
| 351 | <DL><DT><DD></DL><P> |
|---|
| 352 | <A NAME="_pitch"></A> |
|---|
| 353 | <A NAME="DOC.2.9.29"></A> |
|---|
| 354 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _pitch</B></TT> |
|---|
| 355 | <DL><DT><DD></DL><P> |
|---|
| 356 | <A NAME="_headingSpeed"></A> |
|---|
| 357 | <A NAME="DOC.2.9.30"></A> |
|---|
| 358 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _headingSpeed</B></TT> |
|---|
| 359 | <DL><DT><DD></DL><P> |
|---|
| 360 | <A NAME="_pitchSpeed"></A> |
|---|
| 361 | <A NAME="DOC.2.9.31"></A> |
|---|
| 362 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _pitchSpeed</B></TT> |
|---|
| 363 | <DL><DT><DD></DL><P> |
|---|
| 364 | <A NAME="_moveRight"></A> |
|---|
| 365 | <A NAME="DOC.2.9.32"></A> |
|---|
| 366 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _moveRight</B></TT> |
|---|
| 367 | <DL><DT><DD></DL><P> |
|---|
| 368 | <A NAME="_moveLeft"></A> |
|---|
| 369 | <A NAME="DOC.2.9.33"></A> |
|---|
| 370 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _moveLeft</B></TT> |
|---|
| 371 | <DL><DT><DD></DL><P> |
|---|
| 372 | <A NAME="_moveForward"></A> |
|---|
| 373 | <A NAME="DOC.2.9.34"></A> |
|---|
| 374 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _moveForward</B></TT> |
|---|
| 375 | <DL><DT><DD></DL><P> |
|---|
| 376 | <A NAME="_moveBackward"></A> |
|---|
| 377 | <A NAME="DOC.2.9.35"></A> |
|---|
| 378 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _moveBackward</B></TT> |
|---|
| 379 | <DL><DT><DD></DL><P> |
|---|
| 380 | <A NAME="_leftRightSpeed"></A> |
|---|
| 381 | <A NAME="DOC.2.9.36"></A> |
|---|
| 382 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _leftRightSpeed</B></TT> |
|---|
| 383 | <DL><DT><DD></DL><P> |
|---|
| 384 | <A NAME="_forwBackwSpeed"></A> |
|---|
| 385 | <A NAME="DOC.2.9.37"></A> |
|---|
| 386 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _forwBackwSpeed</B></TT> |
|---|
| 387 | <DL><DT><DD></DL><P> |
|---|
| 388 | <A NAME="_leftRightDefaultAcc"></A> |
|---|
| 389 | <A NAME="DOC.2.9.38"></A> |
|---|
| 390 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _leftRightDefaultAcc</B></TT> |
|---|
| 391 | <DL><DT><DD></DL><P> |
|---|
| 392 | <A NAME="_forwBackwDefaultAcc"></A> |
|---|
| 393 | <A NAME="DOC.2.9.39"></A> |
|---|
| 394 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _forwBackwDefaultAcc</B></TT> |
|---|
| 395 | <DL><DT><DD></DL><P> |
|---|
| 396 | <A NAME="_leftRightDefaultBrake"></A> |
|---|
| 397 | <A NAME="DOC.2.9.40"></A> |
|---|
| 398 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _leftRightDefaultBrake</B></TT> |
|---|
| 399 | <DL><DT><DD></DL><P> |
|---|
| 400 | <A NAME="_forwBackwDefaultBrake"></A> |
|---|
| 401 | <A NAME="DOC.2.9.41"></A> |
|---|
| 402 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _forwBackwDefaultBrake</B></TT> |
|---|
| 403 | <DL><DT><DD></DL><P> |
|---|
| 404 | <A NAME="_mouseFlyDefaultBrake"></A> |
|---|
| 405 | <A NAME="DOC.2.9.42"></A> |
|---|
| 406 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _mouseFlyDefaultBrake</B></TT> |
|---|
| 407 | <DL><DT><DD></DL><P> |
|---|
| 408 | <A NAME="_eye"></A> |
|---|
| 409 | <A NAME="DOC.2.9.43"></A> |
|---|
| 410 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3 _eye</B></TT> |
|---|
| 411 | <DL><DT><DD></DL><P> |
|---|
| 412 | <A NAME="_rotation"></A> |
|---|
| 413 | <A NAME="DOC.2.9.44"></A> |
|---|
| 414 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Quat _rotation</B></TT> |
|---|
| 415 | <DL><DT><DD></DL><P> |
|---|
| 416 | <A NAME="_refRotation"></A> |
|---|
| 417 | <A NAME="DOC.2.9.45"></A> |
|---|
| 418 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Quat _refRotation</B></TT> |
|---|
| 419 | <DL><DT><DD></DL><P> |
|---|
| 420 | <A NAME="_distance"></A> |
|---|
| 421 | <A NAME="DOC.2.9.46"></A> |
|---|
| 422 | <DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float _distance</B></TT> |
|---|
| 423 | <DL><DT><DD></DL><P></DL> |
|---|
| 424 | |
|---|
| 425 | <HR><DL><DT><B>This class has no child classes.</B></DL> |
|---|
| 426 | |
|---|
| 427 | <DL><DT><DD></DL><P><P><I><A HREF="index.html">Alphabetic index</A></I> <I><A HREF="HIER.html">HTML hierarchy of classes</A> or <A HREF="HIERjava.html">Java</A></I></P><HR> |
|---|
| 428 | <BR> |
|---|
| 429 | This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>. |
|---|
| 430 | </BODY> |
|---|
| 431 | </HTML> |
|---|