Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 807a538c0f4abf81467b8a86879881d9 > files > 1460

OpenSceneGraph-devel-2.8.4-2.fc14.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>OpenSceneGraph: osgGA::TrackballManipulator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenSceneGraph&#160;<span id="projectnumber">2.8.4</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a01632.html">osgGA</a>      </li>
      <li class="navelem"><a class="el" href="a00918.html">TrackballManipulator</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">osgGA::TrackballManipulator Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="osgGA::TrackballManipulator" --><!-- doxytag: inherits="osgGA::MatrixManipulator" --><div class="dynheader">
Inheritance diagram for osgGA::TrackballManipulator:</div>
<div class="dyncontent">
<div class="center"><img src="a02467.png" border="0" usemap="#osgGA_1_1TrackballManipulator_inherit__map" alt="Inheritance graph"/></div>
<map name="osgGA_1_1TrackballManipulator_inherit__map" id="osgGA_1_1TrackballManipulator_inherit__map">
<area shape="rect" id="node2" href="a00462.html" title="MatrixManipulator is an abstract base class defining the interface, and a certain amount of default f..." alt="" coords="84,315,279,344"/><area shape="rect" id="node4" href="a00341.html" title="GUIEventHandler provides a basic interface for any class which wants to handle a GUI Events..." alt="" coords="87,237,276,267"/><area shape="rect" id="node6" href="a00493.html" title="osg::NodeCallback" alt="" coords="5,160,149,189"/><area shape="rect" id="node8" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="131,83,232,112"/><area shape="rect" id="node12" href="a00255.html" title="osg::Drawable::EventCallback" alt="" coords="173,160,397,189"/><area shape="rect" id="node10" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="115,5,248,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a02468.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#ab0b1f1d23e2058649d1a62ada1f9e223">TrackballManipulator</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#af3e3588565bbe36071f2be8507de207b">className</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the name of the object's class type.  <a href="#af3e3588565bbe36071f2be8507de207b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#aced106f8424edbc9863dcf1401172eff">setByMatrix</a> (const <a class="el" href="a00460.html">osg::Matrixd</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set the position of the matrix manipulator using a 4x4 Matrix.  <a href="#aced106f8424edbc9863dcf1401172eff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a4c1477934cf4e04e0265ca467c2acf57">setByInverseMatrix</a> (const <a class="el" href="a00460.html">osg::Matrixd</a> &amp;matrix)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set the position of the matrix manipulator using a 4x4 Matrix.  <a href="#a4c1477934cf4e04e0265ca467c2acf57"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00460.html">osg::Matrixd</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#ab30105f2977986ff345afd340202c4d9">getMatrix</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the position of the manipulator as 4x4 Matrix.  <a href="#ab30105f2977986ff345afd340202c4d9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00460.html">osg::Matrixd</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#afcc8f74e6c8f296ca465599b1bdba913">getInverseMatrix</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix.  <a href="#afcc8f74e6c8f296ca465599b1bdba913"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <br class="typebreak"/>
<a class="el" href="a00685.html#ab68def273205a069203e26ff6987d201">osgUtil::SceneView::FusionDistanceMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a7fb6f1b635a4acd68f6298af5151939f">getFusionDistanceMode</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the FusionDistanceMode.  <a href="#a7fb6f1b635a4acd68f6298af5151939f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a02f0fd6787f699410a4c7c1bdba9875d">getFusionDistanceValue</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the FusionDistanceValue.  <a href="#a02f0fd6787f699410a4c7c1bdba9875d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#afba01acb3960ff1ec84ce662f8a12697">setNode</a> (<a class="el" href="a00491.html">osg::Node</a> *)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach a node to the manipulator.  <a href="#afba01acb3960ff1ec84ce662f8a12697"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="a00491.html">osg::Node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a5e7b067abd7311b0a44192a9d55040e1">getNode</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return node if attached.  <a href="#a5e7b067abd7311b0a44192a9d55040e1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00491.html">osg::Node</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a030fe0567902e2cdab38c754d4dbd94c">getNode</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return node if attached.  <a href="#a030fe0567902e2cdab38c754d4dbd94c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#aa3fd8a9b1e3afbb9c4d60c7eb64749d3">home</a> (const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;ea, <a class="el" href="a00339.html">GUIActionAdapter</a> &amp;us)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the camera to the default position.  <a href="#aa3fd8a9b1e3afbb9c4d60c7eb64749d3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a7ba39d82a0ce97faa8f4f048e44508b1">home</a> (double)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Move the camera to the default position.  <a href="#a7ba39d82a0ce97faa8f4f048e44508b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#abad6451514aff67c5f65a5ae04d9d9e3">init</a> (const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;ea, <a class="el" href="a00339.html">GUIActionAdapter</a> &amp;us)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Start/restart the manipulator.  <a href="#abad6451514aff67c5f65a5ae04d9d9e3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#ad1a377fdced27c2eb787a672598091b1">handle</a> (const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;ea, <a class="el" href="a00339.html">GUIActionAdapter</a> &amp;us)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">handle events, return true if handled, false otherwise.  <a href="#ad1a377fdced27c2eb787a672598091b1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#aa67d1482c9b68c5d9f899270a0c678d4">getUsage</a> (<a class="el" href="a00028.html">osg::ApplicationUsage</a> &amp;usage) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the keyboard and mouse usage of this manipulator.  <a href="#aa67d1482c9b68c5d9f899270a0c678d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#aa042e4c2fa90c8f143ed9699ecd06aa8">setMinimumZoomScale</a> (double minimumZoomScale)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward.  <a href="#aa042e4c2fa90c8f143ed9699ecd06aa8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a6b19d26dffe5a767f2af9661bfbaae9c">getMinimumZoomScale</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the minimum distance (as ratio) the eye point can be zoomed in  <a href="#a6b19d26dffe5a767f2af9661bfbaae9c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a200a0d869b36af1c6248f3192fb70d9a">setCenter</a> (const <a class="el" href="a01067.html">osg::Vec3d</a> &amp;center)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the center of the trackball.  <a href="#a200a0d869b36af1c6248f3192fb70d9a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a01067.html">osg::Vec3d</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#ac6ccbcdbc2f5c8470a96b80ed89bc617">getCenter</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the center of the trackball.  <a href="#ac6ccbcdbc2f5c8470a96b80ed89bc617"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a7c25765403bfe671beb37c9b27995e3d">setRotation</a> (const <a class="el" href="a00608.html">osg::Quat</a> &amp;rotation)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the rotation of the trackball.  <a href="#a7c25765403bfe671beb37c9b27995e3d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00608.html">osg::Quat</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a7cc57417559b422d8799fb525c1b0b1a">getRotation</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the rotation of the trackball.  <a href="#a7cc57417559b422d8799fb525c1b0b1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a80035442e235cf02a220fed5ceefaecf">setDistance</a> (double distance)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the distance of the trackball.  <a href="#a80035442e235cf02a220fed5ceefaecf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a9ee8b0dd7ca68a974594c85df33ac47b">getDistance</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the distance of the trackball.  <a href="#a9ee8b0dd7ca68a974594c85df33ac47b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a30ecfee9eafe179bc96928942b623261">setTrackballSize</a> (float size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the size of the trackball.  <a href="#a30ecfee9eafe179bc96928942b623261"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a06f199d6c326adb44893924adae1fd69">getTrackballSize</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the size of the trackball.  <a href="#a06f199d6c326adb44893924adae1fd69"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a821b95921938a0f8b934d8fa792e13cd">~TrackballManipulator</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#aeef295f8aef71c6f91fa9200250167cb">flushMouseEventStack</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the internal GUIEvent stack.  <a href="#aeef295f8aef71c6f91fa9200250167cb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#af3705d0cdefe165e586545d305aa8b51">addMouseEvent</a> (const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;ea)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Add the current mouse GUIEvent to internal stack.  <a href="#af3705d0cdefe165e586545d305aa8b51"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a0720cd21f851a300f458ce8103bb2c55">computePosition</a> (const <a class="el" href="a01069.html">osg::Vec3</a> &amp;eye, const <a class="el" href="a01069.html">osg::Vec3</a> &amp;lv, const <a class="el" href="a01069.html">osg::Vec3</a> &amp;up)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a34663a15afadd9393fa6c098c95ee8ce">calcMovement</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">For the give mouse movement calculate the movement of the camera.  <a href="#a34663a15afadd9393fa6c098c95ee8ce"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a4f2b50fe4e44b408e90e8349b519bfab">trackball</a> (<a class="el" href="a01069.html">osg::Vec3</a> &amp;axis, float &amp;angle, float p1x, float p1y, float p2x, float p2y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a8ac138814d32c3809a93fbe829a9b737">tb_project_to_sphere</a> (float r, float x, float y)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a1e4549ad6d5a4d206cef73de2ad2f3f3">isMouseMoving</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Check the speed at which the mouse is moving.  <a href="#a1e4549ad6d5a4d206cef73de2ad2f3f3"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; const <br class="typebreak"/>
<a class="el" href="a00340.html">GUIEventAdapter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#aa70a51ef6854e6dbd118ef29a06a2afc">_ga_t1</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; const <br class="typebreak"/>
<a class="el" href="a00340.html">GUIEventAdapter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a7b47138836878bbfd67483e02b238976">_ga_t0</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00491.html">osg::Node</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a00dfd97728adf17861faf14904a5c1b4">_node</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a49a1050dc718e640f8660b9a8d886f3e">_modelScale</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a37be9cdca66189e2e16800907332f705">_minimumZoomScale</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a62359c366964276b8e788d4526d327c2">_thrown</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01067.html">osg::Vec3d</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a7bd8f06bddb8c01ea84b544511e8680c">_center</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00608.html">osg::Quat</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a162c611650a67ab086d27f088f2bd899">_rotation</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a324bb449ad28a0cfcd5028f04b5552d3">_distance</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00918.html#a032e8399d8ebb45072d2ef2aabd8254b">_trackballSize</a></td></tr>
</table>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="ab0b1f1d23e2058649d1a62ada1f9e223"></a><!-- doxytag: member="osgGA::TrackballManipulator::TrackballManipulator" ref="ab0b1f1d23e2058649d1a62ada1f9e223" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">osgGA::TrackballManipulator::TrackballManipulator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a821b95921938a0f8b934d8fa792e13cd"></a><!-- doxytag: member="osgGA::TrackballManipulator::~TrackballManipulator" ref="a821b95921938a0f8b934d8fa792e13cd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual osgGA::TrackballManipulator::~TrackballManipulator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="af3705d0cdefe165e586545d305aa8b51"></a><!-- doxytag: member="osgGA::TrackballManipulator::addMouseEvent" ref="af3705d0cdefe165e586545d305aa8b51" args="(const GUIEventAdapter &amp;ea)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::addMouseEvent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;&#160;</td>
          <td class="paramname"><em>ea</em></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Add the current mouse GUIEvent to internal stack. </p>

</div>
</div>
<a class="anchor" id="a34663a15afadd9393fa6c098c95ee8ce"></a><!-- doxytag: member="osgGA::TrackballManipulator::calcMovement" ref="a34663a15afadd9393fa6c098c95ee8ce" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool osgGA::TrackballManipulator::calcMovement </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>For the give mouse movement calculate the movement of the camera. </p>
<p>Return true is camera has moved and a redraw is required. </p>

</div>
</div>
<a class="anchor" id="af3e3588565bbe36071f2be8507de207b"></a><!-- doxytag: member="osgGA::TrackballManipulator::className" ref="af3e3588565bbe36071f2be8507de207b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* osgGA::TrackballManipulator::className </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the name of the object's class type. </p>
<p>Must be defined by derived classes. </p>

<p>Reimplemented from <a class="el" href="a00462.html#ab25243942ae95552bcde3effcf2e5dc0">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a0720cd21f851a300f458ce8103bb2c55"></a><!-- doxytag: member="osgGA::TrackballManipulator::computePosition" ref="a0720cd21f851a300f458ce8103bb2c55" args="(const osg::Vec3 &amp;eye, const osg::Vec3 &amp;lv, const osg::Vec3 &amp;up)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::computePosition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01069.html">osg::Vec3</a> &amp;&#160;</td>
          <td class="paramname"><em>eye</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a01069.html">osg::Vec3</a> &amp;&#160;</td>
          <td class="paramname"><em>lv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="a01069.html">osg::Vec3</a> &amp;&#160;</td>
          <td class="paramname"><em>up</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aeef295f8aef71c6f91fa9200250167cb"></a><!-- doxytag: member="osgGA::TrackballManipulator::flushMouseEventStack" ref="aeef295f8aef71c6f91fa9200250167cb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::flushMouseEventStack </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reset the internal GUIEvent stack. </p>

</div>
</div>
<a class="anchor" id="ac6ccbcdbc2f5c8470a96b80ed89bc617"></a><!-- doxytag: member="osgGA::TrackballManipulator::getCenter" ref="ac6ccbcdbc2f5c8470a96b80ed89bc617" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a01067.html">osg::Vec3d</a>&amp; osgGA::TrackballManipulator::getCenter </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the center of the trackball. </p>

</div>
</div>
<a class="anchor" id="a9ee8b0dd7ca68a974594c85df33ac47b"></a><!-- doxytag: member="osgGA::TrackballManipulator::getDistance" ref="a9ee8b0dd7ca68a974594c85df33ac47b" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double osgGA::TrackballManipulator::getDistance </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the distance of the trackball. </p>

</div>
</div>
<a class="anchor" id="a7fb6f1b635a4acd68f6298af5151939f"></a><!-- doxytag: member="osgGA::TrackballManipulator::getFusionDistanceMode" ref="a7fb6f1b635a4acd68f6298af5151939f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00685.html#ab68def273205a069203e26ff6987d201">osgUtil::SceneView::FusionDistanceMode</a> osgGA::TrackballManipulator::getFusionDistanceMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the FusionDistanceMode. </p>
<p>Used by SceneView for setting up stereo convergence. </p>

<p>Reimplemented from <a class="el" href="a00462.html#acd96a6c88898481dcb3433d4e9537f21">osgGA::MatrixManipulator</a>.</p>

<p>References <a class="el" href="a00685.html#ab68def273205a069203e26ff6987d201acec4bcf0618f8625b09cc8d72ed08b3b">osgUtil::SceneView::USE_FUSION_DISTANCE_VALUE</a>.</p>

</div>
</div>
<a class="anchor" id="a02f0fd6787f699410a4c7c1bdba9875d"></a><!-- doxytag: member="osgGA::TrackballManipulator::getFusionDistanceValue" ref="a02f0fd6787f699410a4c7c1bdba9875d" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual float osgGA::TrackballManipulator::getFusionDistanceValue </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the FusionDistanceValue. </p>
<p>Used by SceneView for setting up stereo convergence. </p>

<p>Reimplemented from <a class="el" href="a00462.html#a63a7b5f1e4a5fb20fb835af648864cf9">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="afcc8f74e6c8f296ca465599b1bdba913"></a><!-- doxytag: member="osgGA::TrackballManipulator::getInverseMatrix" ref="afcc8f74e6c8f296ca465599b1bdba913" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00460.html">osg::Matrixd</a> osgGA::TrackballManipulator::getInverseMatrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the position of the manipulator as a inverse matrix of the manipulator, typically used as a model view matrix. </p>

<p>Implements <a class="el" href="a00462.html#a792dc8f687777978cf71680c024e912c">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="ab30105f2977986ff345afd340202c4d9"></a><!-- doxytag: member="osgGA::TrackballManipulator::getMatrix" ref="ab30105f2977986ff345afd340202c4d9" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00460.html">osg::Matrixd</a> osgGA::TrackballManipulator::getMatrix </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the position of the manipulator as 4x4 Matrix. </p>

<p>Implements <a class="el" href="a00462.html#ae38df95f31e1aad8c7bc8d94414258bd">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a6b19d26dffe5a767f2af9661bfbaae9c"></a><!-- doxytag: member="osgGA::TrackballManipulator::getMinimumZoomScale" ref="a6b19d26dffe5a767f2af9661bfbaae9c" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double osgGA::TrackballManipulator::getMinimumZoomScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the minimum distance (as ratio) the eye point can be zoomed in </p>

</div>
</div>
<a class="anchor" id="a5e7b067abd7311b0a44192a9d55040e1"></a><!-- doxytag: member="osgGA::TrackballManipulator::getNode" ref="a5e7b067abd7311b0a44192a9d55040e1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="a00491.html">osg::Node</a>* osgGA::TrackballManipulator::getNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return node if attached. </p>

<p>Reimplemented from <a class="el" href="a00462.html#a6736aa73dc963eecb8738287df49c604">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a030fe0567902e2cdab38c754d4dbd94c"></a><!-- doxytag: member="osgGA::TrackballManipulator::getNode" ref="a030fe0567902e2cdab38c754d4dbd94c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00491.html">osg::Node</a>* osgGA::TrackballManipulator::getNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return node if attached. </p>

<p>Reimplemented from <a class="el" href="a00462.html#a24efa78c51b4b9944d177f8e5c0e098e">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a7cc57417559b422d8799fb525c1b0b1a"></a><!-- doxytag: member="osgGA::TrackballManipulator::getRotation" ref="a7cc57417559b422d8799fb525c1b0b1a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00608.html">osg::Quat</a>&amp; osgGA::TrackballManipulator::getRotation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the rotation of the trackball. </p>

</div>
</div>
<a class="anchor" id="a06f199d6c326adb44893924adae1fd69"></a><!-- doxytag: member="osgGA::TrackballManipulator::getTrackballSize" ref="a06f199d6c326adb44893924adae1fd69" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float osgGA::TrackballManipulator::getTrackballSize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the size of the trackball. </p>

</div>
</div>
<a class="anchor" id="aa67d1482c9b68c5d9f899270a0c678d4"></a><!-- doxytag: member="osgGA::TrackballManipulator::getUsage" ref="aa67d1482c9b68c5d9f899270a0c678d4" args="(osg::ApplicationUsage &amp;usage) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgGA::TrackballManipulator::getUsage </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00028.html">osg::ApplicationUsage</a> &amp;&#160;</td>
          <td class="paramname"><em>usage</em></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the keyboard and mouse usage of this manipulator. </p>

<p>Reimplemented from <a class="el" href="a00341.html#a957395588d98dfa26bbfc63738126176">osgGA::GUIEventHandler</a>.</p>

</div>
</div>
<a class="anchor" id="ad1a377fdced27c2eb787a672598091b1"></a><!-- doxytag: member="osgGA::TrackballManipulator::handle" ref="ad1a377fdced27c2eb787a672598091b1" args="(const GUIEventAdapter &amp;ea, GUIActionAdapter &amp;us)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool osgGA::TrackballManipulator::handle </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00339.html">GUIActionAdapter</a> &amp;&#160;</td>
          <td class="paramname"><em>us</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>handle events, return true if handled, false otherwise. </p>

<p>Reimplemented from <a class="el" href="a00462.html#a1d4a4c573106b61d7ff01a22d772c026">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="aa3fd8a9b1e3afbb9c4d60c7eb64749d3"></a><!-- doxytag: member="osgGA::TrackballManipulator::home" ref="aa3fd8a9b1e3afbb9c4d60c7eb64749d3" args="(const GUIEventAdapter &amp;ea, GUIActionAdapter &amp;us)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgGA::TrackballManipulator::home </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00339.html">GUIActionAdapter</a> &amp;&#160;</td>
          <td class="paramname"><em>us</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Move the camera to the default position. </p>
<p>May be ignored by manipulators if home functionality is not appropriate. </p>

<p>Reimplemented from <a class="el" href="a00462.html#a2a19da81c944e552f3e6b1d334010975">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a7ba39d82a0ce97faa8f4f048e44508b1"></a><!-- doxytag: member="osgGA::TrackballManipulator::home" ref="a7ba39d82a0ce97faa8f4f048e44508b1" args="(double)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgGA::TrackballManipulator::home </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Move the camera to the default position. </p>
<p>This version does not require <a class="el" href="a00340.html" title="Event class for storing Keyboard, mouse and window events.">GUIEventAdapter</a> and <a class="el" href="a00339.html" title="Abstract base class defining the interface by which GUIEventHandlers may request actions of the GUI s...">GUIActionAdapter</a> so may be called from somewhere other than a <a class="el" href="a00918.html#ad1a377fdced27c2eb787a672598091b1" title="handle events, return true if handled, false otherwise.">handle()</a> method in <a class="el" href="a00341.html" title="GUIEventHandler provides a basic interface for any class which wants to handle a GUI Events...">GUIEventHandler</a>. Application must be aware of implications. </p>

<p>Reimplemented from <a class="el" href="a00462.html#adc60fc59e1a2c48bbf149651bb02766c">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="abad6451514aff67c5f65a5ae04d9d9e3"></a><!-- doxytag: member="osgGA::TrackballManipulator::init" ref="abad6451514aff67c5f65a5ae04d9d9e3" args="(const GUIEventAdapter &amp;ea, GUIActionAdapter &amp;us)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgGA::TrackballManipulator::init </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00340.html">GUIEventAdapter</a> &amp;&#160;</td>
          <td class="paramname"><em>ea</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00339.html">GUIActionAdapter</a> &amp;&#160;</td>
          <td class="paramname"><em>us</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Start/restart the manipulator. </p>

<p>Reimplemented from <a class="el" href="a00462.html#a574e464ee738a91bd929c1bf5139df09">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a1e4549ad6d5a4d206cef73de2ad2f3f3"></a><!-- doxytag: member="osgGA::TrackballManipulator::isMouseMoving" ref="a1e4549ad6d5a4d206cef73de2ad2f3f3" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool osgGA::TrackballManipulator::isMouseMoving </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Check the speed at which the mouse is moving. </p>
<p>If speed is below a threshold then return false, otherwise return true. </p>

</div>
</div>
<a class="anchor" id="a4c1477934cf4e04e0265ca467c2acf57"></a><!-- doxytag: member="osgGA::TrackballManipulator::setByInverseMatrix" ref="a4c1477934cf4e04e0265ca467c2acf57" args="(const osg::Matrixd &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgGA::TrackballManipulator::setByInverseMatrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00460.html">osg::Matrixd</a> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the position of the matrix manipulator using a 4x4 Matrix. </p>

<p>Implements <a class="el" href="a00462.html#a6cf53a06ac040d99f28000dfe5cf701b">osgGA::MatrixManipulator</a>.</p>

<p>References <a class="el" href="a00460.html#ab79475ff719cc1d9111b0e60a9369232">osg::Matrixd::inverse()</a>.</p>

</div>
</div>
<a class="anchor" id="aced106f8424edbc9863dcf1401172eff"></a><!-- doxytag: member="osgGA::TrackballManipulator::setByMatrix" ref="aced106f8424edbc9863dcf1401172eff" args="(const osg::Matrixd &amp;matrix)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgGA::TrackballManipulator::setByMatrix </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00460.html">osg::Matrixd</a> &amp;&#160;</td>
          <td class="paramname"><em>matrix</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the position of the matrix manipulator using a 4x4 Matrix. </p>

<p>Implements <a class="el" href="a00462.html#a163aeb92af212718f5033c9c099aeaa5">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a200a0d869b36af1c6248f3192fb70d9a"></a><!-- doxytag: member="osgGA::TrackballManipulator::setCenter" ref="a200a0d869b36af1c6248f3192fb70d9a" args="(const osg::Vec3d &amp;center)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::setCenter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01067.html">osg::Vec3d</a> &amp;&#160;</td>
          <td class="paramname"><em>center</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the center of the trackball. </p>

</div>
</div>
<a class="anchor" id="a80035442e235cf02a220fed5ceefaecf"></a><!-- doxytag: member="osgGA::TrackballManipulator::setDistance" ref="a80035442e235cf02a220fed5ceefaecf" args="(double distance)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::setDistance </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>distance</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the distance of the trackball. </p>

</div>
</div>
<a class="anchor" id="aa042e4c2fa90c8f143ed9699ecd06aa8"></a><!-- doxytag: member="osgGA::TrackballManipulator::setMinimumZoomScale" ref="aa042e4c2fa90c8f143ed9699ecd06aa8" args="(double minimumZoomScale)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::setMinimumZoomScale </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>minimumZoomScale</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set the minimum distance (as ratio) the eye point can be zoomed in towards the center before the center is pushed forward. </p>

</div>
</div>
<a class="anchor" id="afba01acb3960ff1ec84ce662f8a12697"></a><!-- doxytag: member="osgGA::TrackballManipulator::setNode" ref="afba01acb3960ff1ec84ce662f8a12697" args="(osg::Node *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgGA::TrackballManipulator::setNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00491.html">osg::Node</a> *&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Attach a node to the manipulator. </p>
<p>Automatically detaches previously attached node. setNode(NULL) detaches previously nodes. Is ignored by manipulators which do not require a reference model. </p>

<p>Reimplemented from <a class="el" href="a00462.html#ab0943148913cfeafe6450f83e3cef789">osgGA::MatrixManipulator</a>.</p>

</div>
</div>
<a class="anchor" id="a7c25765403bfe671beb37c9b27995e3d"></a><!-- doxytag: member="osgGA::TrackballManipulator::setRotation" ref="a7c25765403bfe671beb37c9b27995e3d" args="(const osg::Quat &amp;rotation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::setRotation </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00608.html">osg::Quat</a> &amp;&#160;</td>
          <td class="paramname"><em>rotation</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the rotation of the trackball. </p>

</div>
</div>
<a class="anchor" id="a30ecfee9eafe179bc96928942b623261"></a><!-- doxytag: member="osgGA::TrackballManipulator::setTrackballSize" ref="a30ecfee9eafe179bc96928942b623261" args="(float size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::setTrackballSize </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the size of the trackball. </p>

</div>
</div>
<a class="anchor" id="a8ac138814d32c3809a93fbe829a9b737"></a><!-- doxytag: member="osgGA::TrackballManipulator::tb_project_to_sphere" ref="a8ac138814d32c3809a93fbe829a9b737" args="(float r, float x, float y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float osgGA::TrackballManipulator::tb_project_to_sphere </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a4f2b50fe4e44b408e90e8349b519bfab"></a><!-- doxytag: member="osgGA::TrackballManipulator::trackball" ref="a4f2b50fe4e44b408e90e8349b519bfab" args="(osg::Vec3 &amp;axis, float &amp;angle, float p1x, float p1y, float p2x, float p2y)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgGA::TrackballManipulator::trackball </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a01069.html">osg::Vec3</a> &amp;&#160;</td>
          <td class="paramname"><em>axis</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>angle</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>p1x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>p1y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>p2x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>p2y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a7bd8f06bddb8c01ea84b544511e8680c"></a><!-- doxytag: member="osgGA::TrackballManipulator::_center" ref="a7bd8f06bddb8c01ea84b544511e8680c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01067.html">osg::Vec3d</a> <a class="el" href="a00918.html#a7bd8f06bddb8c01ea84b544511e8680c">osgGA::TrackballManipulator::_center</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a324bb449ad28a0cfcd5028f04b5552d3"></a><!-- doxytag: member="osgGA::TrackballManipulator::_distance" ref="a324bb449ad28a0cfcd5028f04b5552d3" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="a00918.html#a324bb449ad28a0cfcd5028f04b5552d3">osgGA::TrackballManipulator::_distance</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7b47138836878bbfd67483e02b238976"></a><!-- doxytag: member="osgGA::TrackballManipulator::_ga_t0" ref="a7b47138836878bbfd67483e02b238976" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;const <a class="el" href="a00340.html">GUIEventAdapter</a>&gt; <a class="el" href="a00918.html#a7b47138836878bbfd67483e02b238976">osgGA::TrackballManipulator::_ga_t0</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa70a51ef6854e6dbd118ef29a06a2afc"></a><!-- doxytag: member="osgGA::TrackballManipulator::_ga_t1" ref="aa70a51ef6854e6dbd118ef29a06a2afc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;const <a class="el" href="a00340.html">GUIEventAdapter</a>&gt; <a class="el" href="a00918.html#aa70a51ef6854e6dbd118ef29a06a2afc">osgGA::TrackballManipulator::_ga_t1</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a37be9cdca66189e2e16800907332f705"></a><!-- doxytag: member="osgGA::TrackballManipulator::_minimumZoomScale" ref="a37be9cdca66189e2e16800907332f705" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="a00918.html#a37be9cdca66189e2e16800907332f705">osgGA::TrackballManipulator::_minimumZoomScale</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a49a1050dc718e640f8660b9a8d886f3e"></a><!-- doxytag: member="osgGA::TrackballManipulator::_modelScale" ref="a49a1050dc718e640f8660b9a8d886f3e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double <a class="el" href="a00918.html#a49a1050dc718e640f8660b9a8d886f3e">osgGA::TrackballManipulator::_modelScale</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a00dfd97728adf17861faf14904a5c1b4"></a><!-- doxytag: member="osgGA::TrackballManipulator::_node" ref="a00dfd97728adf17861faf14904a5c1b4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00491.html">osg::Node</a>&gt; <a class="el" href="a00918.html#a00dfd97728adf17861faf14904a5c1b4">osgGA::TrackballManipulator::_node</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a162c611650a67ab086d27f088f2bd899"></a><!-- doxytag: member="osgGA::TrackballManipulator::_rotation" ref="a162c611650a67ab086d27f088f2bd899" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00608.html">osg::Quat</a> <a class="el" href="a00918.html#a162c611650a67ab086d27f088f2bd899">osgGA::TrackballManipulator::_rotation</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a62359c366964276b8e788d4526d327c2"></a><!-- doxytag: member="osgGA::TrackballManipulator::_thrown" ref="a62359c366964276b8e788d4526d327c2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="a00918.html#a62359c366964276b8e788d4526d327c2">osgGA::TrackballManipulator::_thrown</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a032e8399d8ebb45072d2ef2aabd8254b"></a><!-- doxytag: member="osgGA::TrackballManipulator::_trackballSize" ref="a032e8399d8ebb45072d2ef2aabd8254b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="a00918.html#a032e8399d8ebb45072d2ef2aabd8254b">osgGA::TrackballManipulator::_trackballSize</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>osgGA/<a class="el" href="a01408.html">TrackballManipulator</a></li>
</ul>
</div>
<hr>
<table border="0"><tr><td>
  <img src="osg32-32.png" alt="osg logo" />
</td><td>
  <address><small>Generated at Tue May 31 2011 04:19:35 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a>
by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address>
<!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph -->
</td></tr></table>
</body>
</html>