Sophie

Sophie

distrib > Fedora > 13 > i386 > by-pkgid > cd34bbe24503efb80ebebb7e33511ba0 > files > 117

libQGLViewer-doc-2.3.1-10.fc12.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>libQGLViewer: ManipulatedFrame Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link rel="shortcut icon" href="../images/qglviewer.ico" type="image/x-icon" /><link rel="icon" href="../images/qglviewer.icon.png" type="image/png" />
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="../index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>

    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
    </ul>
  </div>
  </div>
</div>
<div class="contents">
<h1>ManipulatedFrame Class Reference</h1><!-- doxytag: class="qglviewer::ManipulatedFrame" --><!-- doxytag: inherits="qglviewer::Frame,qglviewer::MouseGrabber" -->A <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is a <a class="el" href="classqglviewer_1_1Frame.html" title="The Frame class represents a coordinate system, defined by a position and an orientation...">Frame</a> that can be rotated and translated using the mouse.  
<a href="#_details">More...</a>
<p>
Inherits <a class="el" href="classqglviewer_1_1Frame.html">Frame</a>, and <a class="el" href="classqglviewer_1_1MouseGrabber.html">MouseGrabber</a>.
<p>
Inherited by <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html">ManipulatedCameraFrame</a>.
<p>

<p>
<a href="classqglviewer_1_1ManipulatedFrame-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Manipulation sensitivity</h2></td></tr>
<tr><td colspan="2"><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#4573c3414e63c10dec06a3064d37532f">rotationSensitivity</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d9e7fc4134c9733e8cfecf8bf80dbd44">wheelSensitivity</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#239ba71eaf212e169fe31918ed2d9c11">setRotationSensitivity</a> (float sensitivity)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#c0cdf6be7c1443e2e984012490569871">setTranslationSensitivity</a> (float sensitivity)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#a319d217b34f0a861e30d90b78a5c39b">setSpinningSensitivity</a> (float sensitivity)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#fd6cb097279239492a3401893d317499">setWheelSensitivity</a> (float sensitivity)</td></tr>

<tr><td colspan="2"><br><h2>Spinning</h2></td></tr>
<tr><td colspan="2"><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#975dfbf6b972b7128520b30a4ffe11dd">isSpinning</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classqglviewer_1_1Quaternion.html">Quaternion</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#7b8b14da64c84fed1cbdb8d98191d276">spinningQuaternion</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#aa23ed0375ee472156f439eaee070ec9">setSpinningQuaternion</a> (const <a class="el" href="classqglviewer_1_1Quaternion.html">Quaternion</a> &amp;spinningQuaternion)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9942b6eab3fb197805f7af7e0edfdccf">startSpinning</a> (int updateInterval)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9dc6e4b2c4c4a3ae195dfc39bb2ce8ac">stopSpinning</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#f87828117d0582d0031f563933f97bfd">spin</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Current state</h2></td></tr>
<tr><td colspan="2"><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#032c48e2e7cdced01dea0cb7eca14022">isManipulated</a> () const </td></tr>

<tr><td colspan="2"><br><h2>MouseGrabber implementation</h2></td></tr>
<tr><td colspan="2"><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#be537c0091ddf3c907ca0e32861d701d">checkIfGrabsMouse</a> (int x, int y, const <a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const camera)</td></tr>

<tr><td colspan="2"><br><h2>XML representation</h2></td></tr>
<tr><td colspan="2"><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QDomElement&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#48e0e2dd26cd96418c8b889ceabe80f6">domElement</a> (const QString &amp;name, QDomDocument &amp;document) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#cd13d2ddeca530cb9f26ead47f7d25d3">initFromDOMElement</a> (const QDomElement &amp;element)</td></tr>

<tr><td colspan="2"><br><h2>Mouse event handlers</h2></td></tr>
<tr><td colspan="2"><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9b4cce9d77e0495202100a8f1055f1f3">mousePressEvent</a> (QMouseEvent *const event, <a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const camera)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#609d287c3721aff697068efa3dfc4b4c">mouseMoveEvent</a> (QMouseEvent *const event, <a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const camera)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#ec95b0f05a05c1cdfc940ef4621d5db3">mouseReleaseEvent</a> (QMouseEvent *const event, <a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const camera)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#866619719201540ace1f05a1f8b1f156">mouseDoubleClickEvent</a> (QMouseEvent *const event, <a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const camera)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#e5e5914dbdcba274fc9f58c558ba6a36">wheelEvent</a> (QWheelEvent *const event, <a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const camera)</td></tr>

<tr><td colspan="2"><br><h2>Signals</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#841d6d550acbe6e9103c32ac3b75c0c2">manipulated</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#8e3a52ff9f948f42269cab711bb92b5c">spun</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1e9e849ecaeee6226bfb615d7a74a091">ManipulatedFrame</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#e2ffc5f93122c6628e80dc254977c4cf">~ManipulatedFrame</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9b1534a226c056993bc9ed594de9cc7e">ManipulatedFrame</a> (const ManipulatedFrame &amp;mf)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">ManipulatedFrame &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d6d13eba8611869fe824da2dab500f50">operator=</a> (const ManipulatedFrame &amp;mf)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
A <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is a <a class="el" href="classqglviewer_1_1Frame.html" title="The Frame class represents a coordinate system, defined by a position and an orientation...">Frame</a> that can be rotated and translated using the mouse. 
<p>
It converts the mouse motion into a translation and an orientation updates. A <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is used to move an object in the scene. Combined with object selection, its <a class="el" href="classqglviewer_1_1MouseGrabber.html" title="Abstract class for objects that grab mouse focus in a QGLViewer.">MouseGrabber</a> properties and a dynamic update of the scene, the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> introduces a great reactivity in your applications.<p>
A <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is attached to a <a class="el" href="classQGLViewer.html" title="A versatile 3D OpenGL viewer based on QGLWidget.">QGLViewer</a> using <a class="el" href="classQGLViewer.html#c6964ec1ebb2f42464313e0c43e767a3">QGLViewer::setManipulatedFrame()</a>: <div class="fragment"><pre class="fragment">  init() { setManipulatedFrame( <span class="keyword">new</span> <a class="code" href="classqglviewer_1_1ManipulatedFrame.html#1e9e849ecaeee6226bfb615d7a74a091">ManipulatedFrame</a>() ); }

  draw()
  {
    glPushMatrix();
    glMultMatrixd(manipulatedFrame()-&gt;<a class="code" href="classqglviewer_1_1Frame.html#a12123cf45f68b9f7fe0526b70ab0047">matrix</a>());
    <span class="comment">// draw the manipulated object here</span>
    glPopMatrix();
  }
</pre></div> See the <a href="../examples/manipulatedFrame.html">manipulatedFrame example</a> for a complete application.<p>
Mouse events are normally sent to the <a class="el" href="classQGLViewer.html#27a9e97573822d296b48e1c408b74042">QGLViewer::camera()</a>. You have to press the <a class="el" href="classQGLViewer.html#5b90ab220b7700ca28db5ecf3217325d200c1bcf1eaa8635daa3cbb5fdd2ebb6">FRAME</a> state key (default is <code>Control</code>) to move the <a class="el" href="classQGLViewer.html#ba8c9c519574192fb7197bdbad8049db">QGLViewer::manipulatedFrame()</a> instead. See the <a href="../mouse.html">mouse page</a> for a description of mouse button bindings.<p>
<h3>Inherited functionalities</h3>
<p>
A <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is an overloaded instance of a <a class="el" href="classqglviewer_1_1Frame.html" title="The Frame class represents a coordinate system, defined by a position and an orientation...">Frame</a>. The powerful coordinate system transformation functions (<a class="el" href="classqglviewer_1_1Frame.html#c706b338b08d9d7b511fd84d0b6ecf96">Frame::coordinatesOf()</a>, <a class="el" href="classqglviewer_1_1Frame.html#05a3e18419f02427366a95b1e299f12e">Frame::transformOf()</a>, ...) can hence be applied to a <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a>.<p>
A <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is also a <a class="el" href="classqglviewer_1_1MouseGrabber.html" title="Abstract class for objects that grab mouse focus in a QGLViewer.">MouseGrabber</a>. If the mouse cursor gets within a distance of 10 pixels from the projected position of the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a>, the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> becomes the new <a class="el" href="classQGLViewer.html#6c834adafd727025b63741dd27cb6925">QGLViewer::mouseGrabber()</a>. It can then be manipulated directly, without any specific state key, object selection or GUI intervention. This is very convenient to directly move some objects in the scene (typically a light). See the <a href="../examples/mouseGrabber.html">mouseGrabber example</a> as an illustration. Note that QWidget::setMouseTracking() needs to be enabled in order to use this feature (see the <a class="el" href="classqglviewer_1_1MouseGrabber.html" title="Abstract class for objects that grab mouse focus in a QGLViewer.">MouseGrabber</a> documentation).<p>
<h3>Advanced functionalities</h3>
<p>
A <a class="el" href="classQGLViewer.html" title="A versatile 3D OpenGL viewer based on QGLWidget.">QGLViewer</a> can handle at most one <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> at a time. If you want to move several objects in the scene, you simply have to keep a list of the different ManipulatedFrames, and to activate the right one (using <a class="el" href="classQGLViewer.html#c6964ec1ebb2f42464313e0c43e767a3">QGLViewer::setManipulatedFrame()</a>) when needed. This can for instance be done according to an object selection: see the <a href="../examples/luxo.html">luxo example</a> for an illustration.<p>
When the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is being manipulated using the mouse (mouse pressed and not yet released), <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#032c48e2e7cdced01dea0cb7eca14022">isManipulated()</a> returns <code>true</code>. This might be used to trigger a specific action or display (as is done with <a class="el" href="classQGLViewer.html#8b6601997fe7a83e7cd041104d4b21d2">QGLViewer::fastDraw()</a>).<p>
The <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> also emits a <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#841d6d550acbe6e9103c32ac3b75c0c2">manipulated()</a> signal each time its state is modified by the mouse. This signal is automatically connected to the <a class="el" href="classQGLViewer.html#e12b7378efbffabc24a133ca1deb19ae">QGLViewer::updateGL()</a> slot when the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is attached to a viewer using <a class="el" href="classQGLViewer.html#c6964ec1ebb2f42464313e0c43e767a3">QGLViewer::setManipulatedFrame()</a>.<p>
You can make the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#f87828117d0582d0031f563933f97bfd">spin()</a> if you release the rotation mouse button while moving the mouse fast enough (see <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity()</a>). See also <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#4573c3414e63c10dec06a3064d37532f">rotationSensitivity()</a> for sensitivity tuning. <hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="1e9e849ecaeee6226bfb615d7a74a091"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::ManipulatedFrame" ref="1e9e849ecaeee6226bfb615d7a74a091" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ManipulatedFrame           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default constructor.<p>
The translation is set to (0,0,0), with an identity rotation (0,0,0,1) (see <a class="el" href="classqglviewer_1_1Frame.html" title="The Frame class represents a coordinate system, defined by a position and an orientation...">Frame</a> constructor for details).<p>
The different sensitivities are set to their default values (see <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#4573c3414e63c10dec06a3064d37532f">rotationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d9e7fc4134c9733e8cfecf8bf80dbd44">wheelSensitivity()</a>). 
</div>
</div><p>
<a class="anchor" name="e2ffc5f93122c6628e80dc254977c4cf"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::~ManipulatedFrame" ref="e2ffc5f93122c6628e80dc254977c4cf" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ~ManipulatedFrame           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Virtual destructor. Empty. 
</div>
</div><p>
<a class="anchor" name="9b1534a226c056993bc9ed594de9cc7e"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::ManipulatedFrame" ref="9b1534a226c056993bc9ed594de9cc7e" args="(const ManipulatedFrame &amp;mf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ManipulatedFrame           </td>
          <td>(</td>
          <td class="paramtype">const ManipulatedFrame &amp;&nbsp;</td>
          <td class="paramname"> <em>mf</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor. Performs a deep copy of all attributes using <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d6d13eba8611869fe824da2dab500f50">operator=()</a>. 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="d6d13eba8611869fe824da2dab500f50"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::operator=" ref="d6d13eba8611869fe824da2dab500f50" args="(const ManipulatedFrame &amp;mf)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ManipulatedFrame &amp; operator=           </td>
          <td>(</td>
          <td class="paramtype">const ManipulatedFrame &amp;&nbsp;</td>
          <td class="paramname"> <em>mf</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Equal operator. Calls <a class="el" href="classqglviewer_1_1Frame.html#eb0f5ceffbb62f990b89b200d6ce728c">Frame::operator=()</a> and then copy attributes. 
</div>
</div><p>
<a class="anchor" name="841d6d550acbe6e9103c32ac3b75c0c2"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::manipulated" ref="841d6d550acbe6e9103c32ac3b75c0c2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void manipulated           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This signal is emitted when ever the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is manipulated (i.e. rotated or translated) using the mouse. Connect this signal to any object that should be notified.<p>
Note that this signal is automatically connected to the <a class="el" href="classQGLViewer.html#e12b7378efbffabc24a133ca1deb19ae">QGLViewer::updateGL()</a> slot, when the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is attached to a viewer using <a class="el" href="classQGLViewer.html#c6964ec1ebb2f42464313e0c43e767a3">QGLViewer::setManipulatedFrame()</a>, which is probably all you need.<p>
Use the <a class="el" href="classQGLViewer.html#32d7a506084c50fd97a24f94d9ca4864">QGLViewer::QGLViewerPool()</a> if you need to connect this signal to all the viewers.<p>
See also the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#8e3a52ff9f948f42269cab711bb92b5c">spun()</a>, <a class="el" href="classqglviewer_1_1Frame.html#b6722375e68e03d151762ebfc83c5459">modified()</a>, <a class="el" href="classqglviewer_1_1Frame.html#b55c2a4f1732b90057fae4b6037399de">interpolated()</a> and <a class="el" href="classqglviewer_1_1KeyFrameInterpolator.html#b55c2a4f1732b90057fae4b6037399de">KeyFrameInterpolator::interpolated()</a> signals' documentations. 
</div>
</div><p>
<a class="anchor" name="8e3a52ff9f948f42269cab711bb92b5c"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::spun" ref="8e3a52ff9f948f42269cab711bb92b5c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void spun           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [signal]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This signal is emitted when the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#975dfbf6b972b7128520b30a4ffe11dd">isSpinning()</a>.<p>
Note that for the <a class="el" href="classQGLViewer.html#ba8c9c519574192fb7197bdbad8049db">QGLViewer::manipulatedFrame()</a>, this signal is automatically connected to the <a class="el" href="classQGLViewer.html#e12b7378efbffabc24a133ca1deb19ae">QGLViewer::updateGL()</a> slot.<p>
Connect this signal to any object that should be notified. Use the <a class="el" href="classQGLViewer.html#32d7a506084c50fd97a24f94d9ca4864">QGLViewer::QGLViewerPool()</a> if you need to connect this signal to all the viewers.<p>
See also the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#841d6d550acbe6e9103c32ac3b75c0c2">manipulated()</a>, <a class="el" href="classqglviewer_1_1Frame.html#b6722375e68e03d151762ebfc83c5459">modified()</a>, <a class="el" href="classqglviewer_1_1Frame.html#b55c2a4f1732b90057fae4b6037399de">interpolated()</a> and <a class="el" href="classqglviewer_1_1KeyFrameInterpolator.html#b55c2a4f1732b90057fae4b6037399de">KeyFrameInterpolator::interpolated()</a> signals' documentations. 
</div>
</div><p>
<a class="anchor" name="239ba71eaf212e169fe31918ed2d9c11"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::setRotationSensitivity" ref="239ba71eaf212e169fe31918ed2d9c11" args="(float sensitivity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setRotationSensitivity           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>sensitivity</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Defines the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#4573c3414e63c10dec06a3064d37532f">rotationSensitivity()</a>. 
</div>
</div><p>
<a class="anchor" name="c0cdf6be7c1443e2e984012490569871"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::setTranslationSensitivity" ref="c0cdf6be7c1443e2e984012490569871" args="(float sensitivity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setTranslationSensitivity           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>sensitivity</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Defines the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity()</a>. 
</div>
</div><p>
<a class="anchor" name="a319d217b34f0a861e30d90b78a5c39b"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::setSpinningSensitivity" ref="a319d217b34f0a861e30d90b78a5c39b" args="(float sensitivity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setSpinningSensitivity           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>sensitivity</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Defines the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity()</a>, in pixels per milliseconds. 
</div>
</div><p>
<a class="anchor" name="fd6cb097279239492a3401893d317499"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::setWheelSensitivity" ref="fd6cb097279239492a3401893d317499" args="(float sensitivity)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setWheelSensitivity           </td>
          <td>(</td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>sensitivity</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Defines the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d9e7fc4134c9733e8cfecf8bf80dbd44">wheelSensitivity()</a>. 
</div>
</div><p>
<a class="anchor" name="4573c3414e63c10dec06a3064d37532f"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::rotationSensitivity" ref="4573c3414e63c10dec06a3064d37532f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float rotationSensitivity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the influence of a mouse displacement on the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> rotation.<p>
Default value is 1.0. With an identical mouse displacement, a higher value will generate a larger rotation (and inversely for lower values). A 0.0 value will forbid <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> mouse rotation (see also <a class="el" href="classqglviewer_1_1Frame.html#0974dfe336ed84a20adb8c6cdf8dedd9">constraint()</a>).<p>
See also <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#239ba71eaf212e169fe31918ed2d9c11">setRotationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d9e7fc4134c9733e8cfecf8bf80dbd44">wheelSensitivity()</a>. 
</div>
</div><p>
<a class="anchor" name="28fd6b0ca560be97bb899e1a7e3c821a"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::translationSensitivity" ref="28fd6b0ca560be97bb899e1a7e3c821a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float translationSensitivity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the influence of a mouse displacement on the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> translation.<p>
Default value is 1.0. You should not have to modify this value, since with 1.0 the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> precisely stays under the mouse cursor.<p>
With an identical mouse displacement, a higher value will generate a larger translation (and inversely for lower values). A 0.0 value will forbid <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> mouse translation (see also <a class="el" href="classqglviewer_1_1Frame.html#0974dfe336ed84a20adb8c6cdf8dedd9">constraint()</a>).<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>When the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is used to move a <em><a class="el" href="classqglviewer_1_1Camera.html" title="A perspective or orthographic camera.">Camera</a></em> (see the <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html" title="The ManipulatedCameraFrame class represents a ManipulatedFrame with Camera specific...">ManipulatedCameraFrame</a> class documentation), after zooming on a small region of your scene, the camera may translate too fast. For a camera, it is the <a class="el" href="classqglviewer_1_1Camera.html#fd168442e2a05bd41881936fb722b5fe">Camera::revolveAroundPoint()</a> that exactly matches the mouse displacement. Hence, instead of changing the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity()</a>, solve the problem by (temporarily) setting the <a class="el" href="classqglviewer_1_1Camera.html#fd168442e2a05bd41881936fb722b5fe">Camera::revolveAroundPoint()</a> to a point on the zoomed region (see the <a class="el" href="classQGLViewer.html#85fe75121d351785616b75b2c5661d8f6423101303db857a4217e8e66606128a">RAP_FROM_PIXEL</a> mouse binding in the <a href="../mouse.html">mouse page</a>).</dd></dl>
See also <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#c0cdf6be7c1443e2e984012490569871">setTranslationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#4573c3414e63c10dec06a3064d37532f">rotationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d9e7fc4134c9733e8cfecf8bf80dbd44">wheelSensitivity()</a>. 
</div>
</div><p>
<a class="anchor" name="1025480797d5dd046d6d717de59ffbca"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::spinningSensitivity" ref="1025480797d5dd046d6d717de59ffbca" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float spinningSensitivity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the minimum mouse speed required (at button release) to make the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#f87828117d0582d0031f563933f97bfd">spin()</a>.<p>
See <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#f87828117d0582d0031f563933f97bfd">spin()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#7b8b14da64c84fed1cbdb8d98191d276">spinningQuaternion()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9942b6eab3fb197805f7af7e0edfdccf">startSpinning()</a> for details.<p>
Mouse speed is expressed in pixels per milliseconds. Default value is 0.3 (300 pixels per second). Use <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#a319d217b34f0a861e30d90b78a5c39b">setSpinningSensitivity()</a> to tune this value. A higher value will make spinning more difficult (a value of 100.0 forbids spinning in practice).<p>
See also <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#a319d217b34f0a861e30d90b78a5c39b">setSpinningSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#4573c3414e63c10dec06a3064d37532f">rotationSensitivity()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#d9e7fc4134c9733e8cfecf8bf80dbd44">wheelSensitivity()</a>. 
</div>
</div><p>
<a class="anchor" name="d9e7fc4134c9733e8cfecf8bf80dbd44"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::wheelSensitivity" ref="d9e7fc4134c9733e8cfecf8bf80dbd44" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float wheelSensitivity           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the mouse wheel sensitivity.<p>
Default value is 1.0. A higher value will make the wheel action more efficient (usually meaning a faster zoom). Use a negative value to invert the zoom in and out directions.<p>
See also <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#fd6cb097279239492a3401893d317499">setWheelSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#28fd6b0ca560be97bb899e1a7e3c821a">translationSensitivity()</a>, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#4573c3414e63c10dec06a3064d37532f">rotationSensitivity()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity()</a>. 
</div>
</div><p>
<a class="anchor" name="975dfbf6b972b7128520b30a4ffe11dd"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::isSpinning" ref="975dfbf6b972b7128520b30a4ffe11dd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isSpinning           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns <code>true</code> when the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is spinning.<p>
During spinning, <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#f87828117d0582d0031f563933f97bfd">spin()</a> rotates the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> by its <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#7b8b14da64c84fed1cbdb8d98191d276">spinningQuaternion()</a> at a frequency defined when the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9942b6eab3fb197805f7af7e0edfdccf">startSpinning()</a>.<p>
Use <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9942b6eab3fb197805f7af7e0edfdccf">startSpinning()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9dc6e4b2c4c4a3ae195dfc39bb2ce8ac">stopSpinning()</a> to change this state. Default value is <code>false</code>. 
</div>
</div><p>
<a class="anchor" name="7b8b14da64c84fed1cbdb8d98191d276"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::spinningQuaternion" ref="7b8b14da64c84fed1cbdb8d98191d276" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classqglviewer_1_1Quaternion.html">Quaternion</a> spinningQuaternion           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the incremental rotation that is applied by <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#f87828117d0582d0031f563933f97bfd">spin()</a> to the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> orientation when it <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#975dfbf6b972b7128520b30a4ffe11dd">isSpinning()</a>.<p>
Default value is a null rotation (identity <a class="el" href="classqglviewer_1_1Quaternion.html" title="The Quaternion class represents 3D rotations and orientations.">Quaternion</a>). Use <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#aa23ed0375ee472156f439eaee070ec9">setSpinningQuaternion()</a> to change this value.<p>
The <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#7b8b14da64c84fed1cbdb8d98191d276">spinningQuaternion()</a> axis is defined in the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> coordinate system. You can use <a class="el" href="classqglviewer_1_1Frame.html#3416ca5a53c1f2d932fca1906ec1c6c7">Frame::transformOfFrom()</a> to convert this axis from an other <a class="el" href="classqglviewer_1_1Frame.html" title="The Frame class represents a coordinate system, defined by a position and an orientation...">Frame</a> coordinate system. 
</div>
</div><p>
<a class="anchor" name="aa23ed0375ee472156f439eaee070ec9"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::setSpinningQuaternion" ref="aa23ed0375ee472156f439eaee070ec9" args="(const Quaternion &amp;spinningQuaternion)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setSpinningQuaternion           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classqglviewer_1_1Quaternion.html">Quaternion</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>spinningQuaternion</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Defines the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#7b8b14da64c84fed1cbdb8d98191d276">spinningQuaternion()</a>. Its axis is defined in the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> coordinate system. 
</div>
</div><p>
<a class="anchor" name="9942b6eab3fb197805f7af7e0edfdccf"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::startSpinning" ref="9942b6eab3fb197805f7af7e0edfdccf" args="(int updateInterval)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void startSpinning           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>updateInterval</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Starts the spinning of the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a>.<p>
This method starts a timer that will call <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#f87828117d0582d0031f563933f97bfd">spin()</a> every <code>updateInterval</code> milliseconds. The <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#975dfbf6b972b7128520b30a4ffe11dd">isSpinning()</a> until you call <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9dc6e4b2c4c4a3ae195dfc39bb2ce8ac">stopSpinning()</a>. 
</div>
</div><p>
<a class="anchor" name="9dc6e4b2c4c4a3ae195dfc39bb2ce8ac"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::stopSpinning" ref="9dc6e4b2c4c4a3ae195dfc39bb2ce8ac" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void stopSpinning           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stops the spinning motion started using <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9942b6eab3fb197805f7af7e0edfdccf">startSpinning()</a>. <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#975dfbf6b972b7128520b30a4ffe11dd">isSpinning()</a> will return <code>false</code> after this call. 
</div>
</div><p>
<a class="anchor" name="f87828117d0582d0031f563933f97bfd"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::spin" ref="f87828117d0582d0031f563933f97bfd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void spin           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Rotates the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> by its <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#7b8b14da64c84fed1cbdb8d98191d276">spinningQuaternion()</a>. Called by a timer when the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#975dfbf6b972b7128520b30a4ffe11dd">isSpinning()</a>. 
<p>Reimplemented in <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html#f87828117d0582d0031f563933f97bfd">ManipulatedCameraFrame</a>.</p>

</div>
</div><p>
<a class="anchor" name="9b4cce9d77e0495202100a8f1055f1f3"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::mousePressEvent" ref="9b4cce9d77e0495202100a8f1055f1f3" args="(QMouseEvent *const event, Camera *const camera)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mousePressEvent           </td>
          <td>(</td>
          <td class="paramtype">QMouseEvent *const &nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const &nbsp;</td>
          <td class="paramname"> <em>camera</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initiates the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> mouse manipulation.<p>
Overloading of <a class="el" href="classqglviewer_1_1MouseGrabber.html#56df172a6eff56ecc1a99d2e7d548d31">MouseGrabber::mousePressEvent()</a>. See also <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#609d287c3721aff697068efa3dfc4b4c">mouseMoveEvent()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#ec95b0f05a05c1cdfc940ef4621d5db3">mouseReleaseEvent()</a>.<p>
The mouse behavior depends on which button is pressed. See the <a href="../mouse.html">QGLViewer mouse page</a> for details. 
<p>Reimplemented from <a class="el" href="classqglviewer_1_1MouseGrabber.html#56df172a6eff56ecc1a99d2e7d548d31">MouseGrabber</a>.</p>

</div>
</div><p>
<a class="anchor" name="609d287c3721aff697068efa3dfc4b4c"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::mouseMoveEvent" ref="609d287c3721aff697068efa3dfc4b4c" args="(QMouseEvent *const event, Camera *const camera)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mouseMoveEvent           </td>
          <td>(</td>
          <td class="paramtype">QMouseEvent *const &nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const &nbsp;</td>
          <td class="paramname"> <em>camera</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modifies the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> according to the mouse motion.<p>
Actual behavior depends on mouse bindings. See the <a class="el" href="classQGLViewer.html#ded669cb17515ea2b5971496f9aef875">QGLViewer::MouseAction</a> enum and the <a href="../mouse.html">QGLViewer mouse page</a> for details.<p>
The <code>camera</code> is used to fit the mouse motion with the display parameters (see <a class="el" href="classqglviewer_1_1Camera.html#80386c5943505b915246563262825d8e">Camera::screenWidth()</a>, <a class="el" href="classqglviewer_1_1Camera.html#9fb925ffbf82e93898ae6db366a8d794">Camera::screenHeight()</a>, <a class="el" href="classqglviewer_1_1Camera.html#89f1a2e62f7edf51de2d1c077ea5d330">Camera::fieldOfView()</a>).<p>
Emits the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#841d6d550acbe6e9103c32ac3b75c0c2">manipulated()</a> signal. 
<p>Reimplemented from <a class="el" href="classqglviewer_1_1MouseGrabber.html#6e2baf9735a27e4c8a928518cc273d5c">MouseGrabber</a>.</p>

<p>Reimplemented in <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html#609d287c3721aff697068efa3dfc4b4c">ManipulatedCameraFrame</a>.</p>

</div>
</div><p>
<a class="anchor" name="ec95b0f05a05c1cdfc940ef4621d5db3"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::mouseReleaseEvent" ref="ec95b0f05a05c1cdfc940ef4621d5db3" args="(QMouseEvent *const event, Camera *const camera)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mouseReleaseEvent           </td>
          <td>(</td>
          <td class="paramtype">QMouseEvent *const &nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const &nbsp;</td>
          <td class="paramname"> <em>camera</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Stops the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> mouse manipulation.<p>
Overloading of <a class="el" href="classqglviewer_1_1MouseGrabber.html#2e07bf5f7c6c96f40e7f1d1fdb031b0c">MouseGrabber::mouseReleaseEvent()</a>.<p>
If the action was a <a class="el" href="classQGLViewer.html#ded669cb17515ea2b5971496f9aef8753dcfe0046eb5876e287dbf0914819b16">ROTATE</a> <a class="el" href="classQGLViewer.html#ded669cb17515ea2b5971496f9aef875">QGLViewer::MouseAction</a>, a continuous spinning is possible if the speed of the mouse cursor is larger than <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1025480797d5dd046d6d717de59ffbca">spinningSensitivity()</a> when the button is released. Press the rotate button again to stop spinning. See <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#9942b6eab3fb197805f7af7e0edfdccf">startSpinning()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#975dfbf6b972b7128520b30a4ffe11dd">isSpinning()</a>. 
<p>Reimplemented from <a class="el" href="classqglviewer_1_1MouseGrabber.html#2e07bf5f7c6c96f40e7f1d1fdb031b0c">MouseGrabber</a>.</p>

<p>Reimplemented in <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html#ec95b0f05a05c1cdfc940ef4621d5db3">ManipulatedCameraFrame</a>.</p>

</div>
</div><p>
<a class="anchor" name="866619719201540ace1f05a1f8b1f156"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::mouseDoubleClickEvent" ref="866619719201540ace1f05a1f8b1f156" args="(QMouseEvent *const event, Camera *const camera)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void mouseDoubleClickEvent           </td>
          <td>(</td>
          <td class="paramtype">QMouseEvent *const &nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const &nbsp;</td>
          <td class="paramname"> <em>camera</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Overloading of <a class="el" href="classqglviewer_1_1MouseGrabber.html#7c092390bad31d7f73ea474667159859">MouseGrabber::mouseDoubleClickEvent()</a>.<p>
Left button double click aligns the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> with the <code>camera</code> axis (see <a class="el" href="classqglviewer_1_1Frame.html#352fc1d1f806653677eabcdb8a5eb898">alignWithFrame()</a> and <a class="el" href="classQGLViewer.html#85fe75121d351785616b75b2c5661d8f3d318f59bc81979e3922c7e716085304">ALIGN_FRAME</a>). Right button projects the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> on the <code>camera</code> view direction. 
<p>Reimplemented from <a class="el" href="classqglviewer_1_1MouseGrabber.html#7c092390bad31d7f73ea474667159859">MouseGrabber</a>.</p>

</div>
</div><p>
<a class="anchor" name="e5e5914dbdcba274fc9f58c558ba6a36"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::wheelEvent" ref="e5e5914dbdcba274fc9f58c558ba6a36" args="(QWheelEvent *const event, Camera *const camera)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void wheelEvent           </td>
          <td>(</td>
          <td class="paramtype">QWheelEvent *const &nbsp;</td>
          <td class="paramname"> <em>event</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const &nbsp;</td>
          <td class="paramname"> <em>camera</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Overloading of <a class="el" href="classqglviewer_1_1MouseGrabber.html#07a7d880d107f0b532ef779b29884e08">MouseGrabber::wheelEvent()</a>.<p>
Using the wheel is equivalent to a <a class="el" href="classQGLViewer.html#ded669cb17515ea2b5971496f9aef875604adefe799fe794cab6b76ed1108201">ZOOM</a> <a class="el" href="classQGLViewer.html#ded669cb17515ea2b5971496f9aef875">QGLViewer::MouseAction</a>. See <a class="el" href="classQGLViewer.html#4198b3b668c342e39752bade04f78c64">QGLViewer::setWheelBinding()</a> and <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#fd6cb097279239492a3401893d317499">setWheelSensitivity()</a>. 
<p>Reimplemented from <a class="el" href="classqglviewer_1_1MouseGrabber.html#07a7d880d107f0b532ef779b29884e08">MouseGrabber</a>.</p>

<p>Reimplemented in <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html#e5e5914dbdcba274fc9f58c558ba6a36">ManipulatedCameraFrame</a>.</p>

</div>
</div><p>
<a class="anchor" name="032c48e2e7cdced01dea0cb7eca14022"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::isManipulated" ref="032c48e2e7cdced01dea0cb7eca14022" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isManipulated           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns <code>true</code> when the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> is being manipulated with the mouse.<p>
Can be used to change the display of the manipulated object during manipulation.<p>
When <a class="el" href="classqglviewer_1_1Camera.html#d367db656b03fe0bc87b021801d66b75">Camera::frame()</a> of the <a class="el" href="classQGLViewer.html#27a9e97573822d296b48e1c408b74042">QGLViewer::camera()</a> <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#032c48e2e7cdced01dea0cb7eca14022">isManipulated()</a>, <a class="el" href="classQGLViewer.html#8b6601997fe7a83e7cd041104d4b21d2">QGLViewer::fastDraw()</a> is used in place of <a class="el" href="classQGLViewer.html#bc45d04e5f5ce1fbd68f920fcdb2d0e0">QGLViewer::draw()</a> for scene rendering. A simplified drawing will then allow for interactive camera displacements. 
</div>
</div><p>
<a class="anchor" name="be537c0091ddf3c907ca0e32861d701d"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::checkIfGrabsMouse" ref="be537c0091ddf3c907ca0e32861d701d" args="(int x, int y, const Camera *const camera)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void checkIfGrabsMouse           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classqglviewer_1_1Camera.html">Camera</a> *const &nbsp;</td>
          <td class="paramname"> <em>camera</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Implementation of the <a class="el" href="classqglviewer_1_1MouseGrabber.html" title="Abstract class for objects that grab mouse focus in a QGLViewer.">MouseGrabber</a> main method.<p>
The <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> <a class="el" href="classqglviewer_1_1MouseGrabber.html#4eb7e14d035ae255b77ac1711aef039e">grabsMouse()</a> when the mouse is within a 10 pixels region around its <a class="el" href="classqglviewer_1_1Camera.html#c4dc649d17bd2ae8664a7f4fdd50360f">Camera::projectedCoordinatesOf()</a> <a class="el" href="classqglviewer_1_1Frame.html#bc38a05a597e07c9ff525122682adc50">position()</a>.<p>
See the <a href="../examples/mouseGrabber.html">mouseGrabber example</a> for an illustration. 
<p>Implements <a class="el" href="classqglviewer_1_1MouseGrabber.html#6110636d4e031373ecebd42c6ea838ea">MouseGrabber</a>.</p>

</div>
</div><p>
<a class="anchor" name="48e0e2dd26cd96418c8b889ceabe80f6"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::domElement" ref="48e0e2dd26cd96418c8b889ceabe80f6" args="(const QString &amp;name, QDomDocument &amp;document) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QDomElement domElement           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">QDomDocument &amp;&nbsp;</td>
          <td class="paramname"> <em>document</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns an XML <code>QDomElement</code> that represents the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a>.<p>
Adds to the <a class="el" href="classqglviewer_1_1Frame.html#48e0e2dd26cd96418c8b889ceabe80f6">Frame::domElement()</a> the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> specific informations in a <code>ManipulatedParameters</code> child QDomElement.<p>
<code>name</code> is the name of the QDomElement tag. <code>doc</code> is the <code>QDomDocument</code> factory used to create QDomElement.<p>
Use <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#cd13d2ddeca530cb9f26ead47f7d25d3">initFromDOMElement()</a> to restore the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> state from the resulting <code>QDomElement</code>.<p>
See <a class="el" href="classqglviewer_1_1Vec.html#48e0e2dd26cd96418c8b889ceabe80f6">Vec::domElement()</a> for a complete example. See also <a class="el" href="classqglviewer_1_1Quaternion.html#48e0e2dd26cd96418c8b889ceabe80f6">Quaternion::domElement()</a>, <a class="el" href="classqglviewer_1_1Camera.html#48e0e2dd26cd96418c8b889ceabe80f6">Camera::domElement()</a>... 
<p>Reimplemented from <a class="el" href="classqglviewer_1_1Frame.html#48e0e2dd26cd96418c8b889ceabe80f6">Frame</a>.</p>

<p>Reimplemented in <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html#48e0e2dd26cd96418c8b889ceabe80f6">ManipulatedCameraFrame</a>.</p>

</div>
</div><p>
<a class="anchor" name="cd13d2ddeca530cb9f26ead47f7d25d3"></a><!-- doxytag: member="qglviewer::ManipulatedFrame::initFromDOMElement" ref="cd13d2ddeca530cb9f26ead47f7d25d3" args="(const QDomElement &amp;element)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void initFromDOMElement           </td>
          <td>(</td>
          <td class="paramtype">const QDomElement &amp;&nbsp;</td>
          <td class="paramname"> <em>element</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual, slot]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Restores the <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> state from a <code>QDomElement</code> created by <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#48e0e2dd26cd96418c8b889ceabe80f6">domElement()</a>.<p>
Fields that are not described in <code>element</code> are set to their default values (see <a class="el" href="classqglviewer_1_1ManipulatedFrame.html#1e9e849ecaeee6226bfb615d7a74a091">ManipulatedFrame()</a>).<p>
First calls <a class="el" href="classqglviewer_1_1Frame.html#cd13d2ddeca530cb9f26ead47f7d25d3">Frame::initFromDOMElement()</a> and then initializes <a class="el" href="classqglviewer_1_1ManipulatedFrame.html" title="A ManipulatedFrame is a Frame that can be rotated and translated using the mouse...">ManipulatedFrame</a> specific parameters. Note that <a class="el" href="classqglviewer_1_1Frame.html#0974dfe336ed84a20adb8c6cdf8dedd9">constraint()</a> and <a class="el" href="classqglviewer_1_1Frame.html#9794b079db5f492e8804631d3d23baec">referenceFrame()</a> are not restored and are left unchanged.<p>
See <a class="el" href="classqglviewer_1_1Vec.html#cd13d2ddeca530cb9f26ead47f7d25d3">Vec::initFromDOMElement()</a> for a complete code example. 
<p>Reimplemented from <a class="el" href="classqglviewer_1_1Frame.html#cd13d2ddeca530cb9f26ead47f7d25d3">Frame</a>.</p>

<p>Reimplemented in <a class="el" href="classqglviewer_1_1ManipulatedCameraFrame.html#cd13d2ddeca530cb9f26ead47f7d25d3">ManipulatedCameraFrame</a>.</p>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>libQGLViewer 2.3.1 documentation generated by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>