OpenSceneGraph/doc/doc++/osgGA/TrackballManipulator.html

363 lines
18 KiB
HTML
Raw Normal View History

2003-04-18 00:22:51 +08:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>class OSGGA_EXPORT osgGA::TrackballManipulator</TITLE>
2004-08-06 14:53:36 +08:00
<META NAME="GENERATOR" CONTENT="DOC++ 3.4.6">
2003-04-18 00:22:51 +08:00
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>class OSGGA_EXPORT <A HREF="#DOC.DOCU">osgGA::TrackballManipulator</A></H2></H2><HR>
<H2>Inheritance:</H2>
<APPLET CODE="ClassGraph.class" WIDTH=600 HEIGHT=125>
2003-07-23 19:27:31 +08:00
<param name=classes value="Mosg::Object,M,CGUIEventHandler,MGUIEventHandler.html,CMatrixManipulator,MMatrixManipulator.html,CTrackballManipulator,MTrackballManipulator.html">
2003-04-18 00:22:51 +08:00
<param name=before value="M,M,M,M">
<param name=after value="Md_SPSP,Md_SP,Md_,M">
<param name=indent value="0,1,2,3">
<param name=arrowdir value="down">
</APPLET>
<HR>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif> <B><A HREF="#DOC.2.15.1">TrackballManipulator</A></B>()
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const char* <B><A HREF="#DOC.2.15.2">className</A></B>() const
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.15.3">setMinimumZoomScale</A></B>(float minimumZoomScale)
2004-08-06 14:53:36 +08:00
<DD><I>set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.15.4">getMinimumZoomScale</A></B>() const
2004-08-06 14:53:36 +08:00
<DD><I>get the minimum distance (as ratio) the eye point can be zoomed in </I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.15.5">setByMatrix</A></B>(const osg::Matrixd&amp; matrix)
2003-07-23 19:27:31 +08:00
<DD><I>set the position of the matrix manipulator using a 4x4 Matrix</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.15.6">setByInverseMatrix</A></B>(const osg::Matrixd&amp; matrix)
2003-07-23 19:27:31 +08:00
<DD><I>set the position of the matrix manipulator using a 4x4 Matrix</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual osg::Matrixd <B><A HREF="#DOC.2.15.7">getMatrix</A></B>() const
2003-07-23 19:27:31 +08:00
<DD><I>get the position of the manipulator as 4x4 Matrix</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual osg::Matrixd <B><A HREF="#DOC.2.15.8">getInverseMatrix</A></B>() const
2003-07-23 19:27:31 +08:00
<DD><I>get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual osgUtil::SceneView::FusionDistanceMode <B><A HREF="#DOC.2.15.9">getFusionDistanceMode</A></B>() const
2003-07-23 19:27:31 +08:00
<DD><I>Get the FusionDistanceMode.</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual float <B><A HREF="#DOC.2.15.10">getFusionDistanceValue</A></B>() const
2003-07-23 19:27:31 +08:00
<DD><I>Get the FusionDistanceValue.</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.15.11">setNode</A></B>(osg::Node*)
2003-04-18 00:22:51 +08:00
<DD><I>Attach a node to the manipulator.</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual const osg::Node* <B><A HREF="#DOC.2.15.12">getNode</A></B>() const
2003-04-18 00:22:51 +08:00
<DD><I>Return node if attached</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual osg::Node* <B><A HREF="#DOC.2.15.13">getNode</A></B>()
2003-04-18 00:22:51 +08:00
<DD><I>Return node if attached</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.15.14">home</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
2003-04-18 00:22:51 +08:00
<DD><I>Move the camera to the default position.</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.15.15">init</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
2003-04-18 00:22:51 +08:00
<DD><I>Start/restart the manipulator</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual bool <B><A HREF="#DOC.2.15.16">handle</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)
2003-04-18 00:22:51 +08:00
<DD><I>handle events, return true if handled, false otherwise</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual void <B><A HREF="#DOC.2.15.17">getUsage</A></B>(osg::ApplicationUsage&amp; usage) const
2003-04-18 00:22:51 +08:00
<DD><I>Get the keyboard and mouse usage of this manipulator</I>
</DL></P>
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&gt; <B><A HREF="#DOC.2.15.26">_ga_t1</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&gt; <B><A HREF="#DOC.2.15.27">_ga_t0</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::ref_ptr&lt;osg::Node&gt; <B><A HREF="#DOC.2.15.28">_node</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>double <B><A HREF="#DOC.2.15.29">_modelScale</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>double <B><A HREF="#DOC.2.15.30">_minimumZoomScale</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.15.31">_thrown</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Vec3d <B><A HREF="#DOC.2.15.32">_center</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>osg::Quat <B><A HREF="#DOC.2.15.33">_rotation</A></B>
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>double <B><A HREF="#DOC.2.15.34">_distance</A></B>
2003-04-18 00:22:51 +08:00
</DL></P>
<P><DL>
<DT><H3>Protected Methods</H3><DD><DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>virtual <B><A HREF="#DOC.2.15.18">~TrackballManipulator</A></B>()
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.15.19">flushMouseEventStack</A></B>()
2003-04-18 00:22:51 +08:00
<DD><I>Reset the internal GUIEvent stack</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.15.20">addMouseEvent</A></B>(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea)
2003-04-18 00:22:51 +08:00
<DD><I>Add the current mouse GUIEvent to internal stack</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.15.21">computePosition</A></B>(const osg::Vec3&amp; eye, const osg::Vec3&amp; lv, const osg::Vec3&amp; up)
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.15.22">calcMovement</A></B>()
2003-04-18 00:22:51 +08:00
<DD><I>For the give mouse movement calculate the movement of the camera.</I>
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>void <B><A HREF="#DOC.2.15.23">trackball</A></B>(osg::Vec3&amp; axis, float&amp; angle, float p1x, float p1y, float p2x, float p2y)
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>float <B><A HREF="#DOC.2.15.24">tb_project_to_sphere</A></B>(float r, float x, float y)
2003-04-18 00:22:51 +08:00
<DT>
2004-08-24 18:58:51 +08:00
<IMG ALT="[more]" BORDER=0 SRC=icon1.gif>bool <B><A HREF="#DOC.2.15.25">isMouseMoving</A></B>()
2003-04-18 00:22:51 +08:00
<DD><I>Check the speed at which the mouse is moving.</I>
</DL></P>
</DL>
2003-07-23 19:27:31 +08:00
<HR><H3>Inherited from <A HREF="MatrixManipulator.html">MatrixManipulator</A>:</H3>
2003-04-18 00:22:51 +08:00
<DL>
2004-08-06 14:53:36 +08:00
<P><DL>
<DT><H3>Public Classes</H3><DD><DT>
class <B><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A></B>: public osg::Referenced
<DD><I>callback class to use to allow matrix manipulators to querry the application for the local coordinate frame</I>
</DL></P>
2003-04-18 00:22:51 +08:00
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
2004-08-06 14:53:36 +08:00
<IMG ALT="o" SRC=icon2.gif>virtual void <B>setMinimumDistance</B>(float minimumDistance)
<DT>
<IMG ALT="o" SRC=icon2.gif>float <B>getMinimumDistance</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>setCoordinateFrameCallback</B>(<!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>* cb)
<DT>
<IMG ALT="o" SRC=icon2.gif><!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>* <B>getCoordinateFrameCallback</B>()
<DT>
<IMG ALT="o" SRC=icon2.gif>const <!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>* <B>getCoordinateFrameCallback</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::CoordinateFrame <B>getCoordinateFrame</B>(const osg::Vec3d&amp; position) const
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>getSideVector</B>(const osg::CoordinateFrame&amp; cf) const
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>getFrontVector</B>(const osg::CoordinateFrame&amp; cf) const
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>getUpVector</B>(const osg::CoordinateFrame&amp; cf) const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>setHomePosition</B>(const osg::Vec3d&amp; eye, const osg::Vec3d&amp; center, const osg::Vec3d&amp; up)
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>getHomePosition</B>(osg::Vec3d&amp; eye, osg::Vec3d&amp; center, osg::Vec3d&amp; up)
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>setAutoComputeHomePosition</B>(bool flag)
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>getAutoComputeHomePosition</B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual void <B>computeHomePosition</B>()
<DT>
2003-04-18 00:22:51 +08:00
<IMG ALT="o" SRC=icon2.gif>virtual void <B>accept</B>(<!1><A HREF="GUIEventHandlerVisitor.html">GUIEventHandlerVisitor</A>&amp; v)
</DL></P>
2004-08-06 14:53:36 +08:00
<P><DL>
<DT><H3>Protected Fields</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>double <B>_minimumDistance</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>bool <B>_autoComputeHomePosition</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>_homeEye</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>_homeCenter</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::Vec3d <B>_homeUp</B>
<DT>
<IMG ALT="o" SRC=icon2.gif>osg::ref_ptr&lt;<!1><A HREF="CoordinateFrameCallback.html">CoordinateFrameCallback</A>&gt; <B>_coordinateFrameCallback</B>
</DL></P>
2003-04-18 00:22:51 +08:00
</DL>
<HR><H3>Inherited from <A HREF="GUIEventHandler.html">GUIEventHandler</A>:</H3>
<DL>
<P><DL>
<DT><H3>Public Methods</H3><DD><DT>
<IMG ALT="o" SRC=icon2.gif>META_Object <B>(osgGA, GUIEventHandler) const </B>() const
<DT>
<IMG ALT="o" SRC=icon2.gif>virtual <!1><A HREF="CompositeGUIEventHandler.html">CompositeGUIEventHandler</A>* <B>getComposite</B>()
</DL></P>
</DL>
<A NAME="DOC.DOCU"></A>
<HR>
<H2>Documentation</H2>
<DL>
<A NAME="TrackballManipulator"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.1"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B> TrackballManipulator()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="className"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.2"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const char* className() const </B></TT>
<DL><DT><DD></DL><P>
2004-08-06 14:53:36 +08:00
<A NAME="setMinimumZoomScale"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.3"></A>
2004-08-06 14:53:36 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void setMinimumZoomScale(float minimumZoomScale)</B></TT>
<DD>set the minimum distance (as ratio) the eye point can be zoomed in towards the
center before the center is pushed forward
<DL><DT><DD></DL><P>
<A NAME="getMinimumZoomScale"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.4"></A>
2004-08-06 14:53:36 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float getMinimumZoomScale() const </B></TT>
<DD>get the minimum distance (as ratio) the eye point can be zoomed in
<DL><DT><DD></DL><P>
2003-07-23 19:27:31 +08:00
<A NAME="setByMatrix"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.5"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setByMatrix(const osg::Matrixd&amp; matrix)</B></TT>
2003-07-23 19:27:31 +08:00
<DD>set the position of the matrix manipulator using a 4x4 Matrix
<DL><DT><DD></DL><P>
<A NAME="setByInverseMatrix"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.6"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setByInverseMatrix(const osg::Matrixd&amp; matrix)</B></TT>
2003-07-23 19:27:31 +08:00
<DD>set the position of the matrix manipulator using a 4x4 Matrix
<DL><DT><DD></DL><P>
<A NAME="getMatrix"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.7"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual osg::Matrixd getMatrix() const </B></TT>
2003-07-23 19:27:31 +08:00
<DD>get the position of the manipulator as 4x4 Matrix
<DL><DT><DD></DL><P>
<A NAME="getInverseMatrix"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.8"></A>
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual osg::Matrixd getInverseMatrix() const </B></TT>
2003-07-23 19:27:31 +08:00
<DD>get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix
<DL><DT><DD></DL><P>
<A NAME="getFusionDistanceMode"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.9"></A>
2003-07-23 19:27:31 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual osgUtil::SceneView::FusionDistanceMode getFusionDistanceMode() const </B></TT>
<DD>Get the FusionDistanceMode. Used by SceneView for setting up setereo convergence.
<DL><DT><DD></DL><P>
<A NAME="getFusionDistanceValue"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.10"></A>
2003-07-23 19:27:31 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual float getFusionDistanceValue() const </B></TT>
<DD>Get the FusionDistanceValue. Used by SceneView for setting up setereo convergence.
<DL><DT><DD></DL><P>
<A NAME="setNode"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.11"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void setNode(osg::Node*)</B></TT>
<DD>Attach a node to the manipulator.
Automatically detaches previously attached node.
setNode(NULL) detaches previously nodes.
Is ignored by manipulators which do not require a reference model.
<DL><DT><DD></DL><P>
<A NAME="getNode"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.12"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual const osg::Node* getNode() const </B></TT>
<DD>Return node if attached
<DL><DT><DD></DL><P>
<A NAME="getNode"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.13"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual osg::Node* getNode()</B></TT>
<DD>Return node if attached
<DL><DT><DD></DL><P>
<A NAME="home"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.14"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void home(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
<DD>Move the camera to the default position.
May be ignored by manipulators if home functionality is not appropriate.
<DL><DT><DD></DL><P>
<A NAME="init"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.15"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void init(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
<DD>Start/restart the manipulator
<DL><DT><DD></DL><P>
<A NAME="handle"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.16"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual bool handle(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea, <!1><A HREF="GUIActionAdapter.html">GUIActionAdapter</A>&amp; us)</B></TT>
<DD>handle events, return true if handled, false otherwise
<DL><DT><DD></DL><P>
<A NAME="getUsage"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.17"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual void getUsage(osg::ApplicationUsage&amp; usage) const </B></TT>
<DD>Get the keyboard and mouse usage of this manipulator
<DL><DT><DD></DL><P>
<A NAME="~TrackballManipulator"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.18"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>virtual ~TrackballManipulator()</B></TT>
<DL><DT><DD></DL><P>
<A NAME="flushMouseEventStack"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.19"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void flushMouseEventStack()</B></TT>
<DD>Reset the internal GUIEvent stack
<DL><DT><DD></DL><P>
<A NAME="addMouseEvent"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.20"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void addMouseEvent(const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&amp; ea)</B></TT>
<DD>Add the current mouse GUIEvent to internal stack
<DL><DT><DD></DL><P>
2003-07-23 19:27:31 +08:00
<A NAME="computePosition"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.21"></A>
2003-07-23 19:27:31 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void computePosition(const osg::Vec3&amp; eye, const osg::Vec3&amp; lv, const osg::Vec3&amp; up)</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="calcMovement"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.22"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool calcMovement()</B></TT>
<DD>For the give mouse movement calculate the movement of the camera.
Return true is camera has moved and a redraw is required.
<DL><DT><DD></DL><P>
<A NAME="trackball"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.23"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>void trackball(osg::Vec3&amp; axis, float&amp; angle, float p1x, float p1y, float p2x, float p2y)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="tb_project_to_sphere"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.24"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>float tb_project_to_sphere(float r, float x, float y)</B></TT>
<DL><DT><DD></DL><P>
<A NAME="isMouseMoving"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.25"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool isMouseMoving()</B></TT>
<DD>Check the speed at which the mouse is moving.
If speed is below a threshold then return false, otherwise return true.
<DL><DT><DD></DL><P>
<A NAME="_ga_t1"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.26"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&gt; _ga_t1</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_ga_t0"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.27"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;const <!1><A HREF="GUIEventAdapter.html">GUIEventAdapter</A>&gt; _ga_t0</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_node"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.28"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::ref_ptr&lt;osg::Node&gt; _node</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_modelScale"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.29"></A>
2004-08-06 14:53:36 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double _modelScale</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="_minimumZoomScale"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.30"></A>
2004-08-06 14:53:36 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double _minimumZoomScale</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="_thrown"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.31"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>bool _thrown</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_center"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.32"></A>
2004-08-06 14:53:36 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Vec3d _center</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P>
<A NAME="_rotation"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.33"></A>
2003-04-18 00:22:51 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>osg::Quat _rotation</B></TT>
<DL><DT><DD></DL><P>
<A NAME="_distance"></A>
2004-08-24 18:58:51 +08:00
<A NAME="DOC.2.15.34"></A>
2004-08-06 14:53:36 +08:00
<DT><IMG ALT="o" BORDER=0 SRC=icon2.gif><TT><B>double _distance</B></TT>
2003-04-18 00:22:51 +08:00
<DL><DT><DD></DL><P></DL>
<HR><DL><DT><B>This class has no child classes.</B></DL>
<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>
<BR>
2004-08-06 14:53:36 +08:00
This page was generated with the help of <A HREF="http://www.linuxsupportline.com/~doc++">DOC++</A>.
2003-04-18 00:22:51 +08:00
</BODY>
</HTML>