23 #ifndef QGLVIEWER_MANIPULATED_FRAME_H
24 #define QGLVIEWER_MANIPULATED_FRAME_H
27 #include "mouseGrabber.h"
28 #include "qglviewer.h"
99 friend class ::QGLViewer;
236 virtual void startSpinning(
int updateInterval);
239 virtual void stopSpinning() { spinningTimer_.stop(); isSpinning_ =
false; }
249 virtual void mousePressEvent (QMouseEvent*
const event,
Camera*
const camera);
250 virtual void mouseMoveEvent (QMouseEvent*
const event,
Camera*
const camera);
251 virtual void mouseReleaseEvent (QMouseEvent*
const event,
Camera*
const camera);
252 virtual void mouseDoubleClickEvent(QMouseEvent*
const event,
Camera*
const camera);
253 virtual void wheelEvent (QWheelEvent*
const event,
Camera*
const camera);
259 bool isManipulated()
const;
274 virtual void checkIfGrabsMouse(
int x,
int y,
const Camera*
const camera);
280 virtual QDomElement domElement(
const QString& name, QDomDocument& document)
const;
282 virtual void initFromDOMElement(
const QDomElement& element);
287 Quaternion deformedBallQuaternion(
int x,
int y,
float cx,
float cy,
const Camera*
const camera);
292 virtual void startAction(
int ma,
bool withConstraint=
true);
293 void computeMouseSpeed(
const QMouseEvent*
const e);
294 int mouseOriginalDirection(
const QMouseEvent*
const e);
298 float deltaWithPrevPos(QMouseEvent*
const event,
Camera*
const camera)
const;
300 float wheelDelta(
const QWheelEvent* event)
const;
303 QPoint prevPos_, pressPos_;
306 void zoom(
float delta,
const Camera *
const camera);
312 float rotationSensitivity_;
313 float translationSensitivity_;
314 float spinningSensitivity_;
315 float wheelSensitivity_;
316 float zoomSensitivity_;
319 QTime last_move_time;
323 QTimer spinningTimer_;
330 bool keepsGrabbingMouse_;
335 #endif // QGLVIEWER_MANIPULATED_FRAME_H