Overview | Modules | Class Hierarchy | Classes | Members

Public Member Functions | Protected Slots | Protected Attributes
tlp::QtGlSceneZoomAndPanAnimator Class Reference

A convenient class to perform a Zoom and Pan animation on a GlMainWidget. More...

`#include <QtGlSceneZoomAndPanAnimator.h>`

Collaboration diagram for tlp::QtGlSceneZoomAndPanAnimator:
[legend]

List of all members.

## Public Member Functions

- QtGlSceneZoomAndPanAnimator (GlMainWidget *glWidget, const BoundingBox &boundingBox, const std::string &layerName="Main", const bool optimalPath=true, const double velocity=1.1, const double p=sqrt(1.6))
- void animateZoomAndPan ()
- void setDuration (const double duration)

## Protected Slots

- virtual void zoomAndPanAnimStepSlot (int animationStep)

## Protected Attributes

- GlMainWidget * glWidget
- double animationDurationMsec

## Detailed Description

A convenient class to perform a Zoom and Pan animation on a GlMainWidget.

This class allows to perform a Zoom and Pan animation on the Tulip OpenGL scene associated with a GlMainWidget The algorithm used to perform this task is the one published in : Jarke J. van Wijk and Wim A.A. Nuij, "Smooth and efficient zooming and panning" For more details, the paper can be downloaded at the following url : www.win.tue.nl/~vanwijk/zoompan.pdf

## Constructor & Destructor Documentation

tlp::QtGlSceneZoomAndPanAnimator::QtGlSceneZoomAndPanAnimator | ( | GlMainWidget * | glWidget,
|  | const BoundingBox & | boundingBox,
|  | const std::string & | layerName = `"Main"`,
|  | const bool | optimalPath = `true`,
|  | const double | velocity = `1.1`,
|  | const double | p = `sqrt(1.6)`
| ) |  |

QtGlSceneZoomAndPanAnimator constructor

Parameters:

  glWidget | The Tulip OpenGL widget on which to perform the animation *
  boundingBox | the bounding box in scene coordinates on which the Tulip OpenGL scene has to be zoomed and panned. At the end of the animation, the viewport will be zoomed and centered on the content of that bounding box.
  optimalPath | if true zooming and panning will be combined at each step of the animation, if false the scene will be zoomed out/in, panned then zoomed in/out
  layerName | name of the layer zoom animation should be done on
  velocity | animation speed parameter, adjust it according to your needs
  p | zoom/pan trade-off parameter, adjust it according to your needs

## Member Function Documentation

void tlp::QtGlSceneZoomAndPanAnimator::animateZoomAndPan | ( |  | ) |

Method to call to start the Zoom and Pan animation

void tlp::QtGlSceneZoomAndPanAnimator::setDuration | ( | const double | duration | ) |

virtual void tlp::QtGlSceneZoomAndPanAnimator::zoomAndPanAnimStepSlot | ( | int | animationStep | ) | `[protected, virtual, slot]`

## Member Data Documentation

double tlp::QtGlSceneZoomAndPanAnimator::animationDurationMsec`[protected]`

GlMainWidget* tlp::QtGlSceneZoomAndPanAnimator::glWidget`[protected]`

Tulip Software by LaBRI Visualization Team 2001 - 2012