Avogadro
1.1.0
|
Navigation functions to simplify common tasks. More...
#include <avogadro/navigate.h>
Public Member Functions | |
Navigate () | |
virtual | ~Navigate () |
Static Public Member Functions | |
static void | zoom (GLWidget *widget, const Eigen::Vector3d &goal, double delta) |
static void | translate (GLWidget *widget, const Eigen::Vector3d &what, const QPoint &from, const QPoint &to) |
static void | translate (GLWidget *widget, const Eigen::Vector3d &what, double deltaX, double deltaY) |
static void | rotate (GLWidget *widget, const Eigen::Vector3d ¢er, double deltaX, double deltaY) |
static void | tilt (GLWidget *widget, const Eigen::Vector3d ¢er, double delta) |
static void | rotate (GLWidget *widget, const Eigen::Vector3d ¢er, double deltaX, double deltaY, double deltaZ) |
Navigation functions to simplify common tasks.
This class contains navigation functions that are used by several tools.
Constructor.
Avogadro::Navigate::~Navigate | ( | ) | [virtual] |
Destructor.
void Avogadro::Navigate::rotate | ( | GLWidget * | widget, |
const Eigen::Vector3d & | center, | ||
double | deltaX, | ||
double | deltaY | ||
) | [static] |
Rotate about center by the amounts deltaX and deltaY in tha x and y axes.
widget | the GLWidget being operated on. |
center | the point at the center of rotation. |
deltaX | the amount to rotate about the x axis in degrees. |
deltaY | the amount to rotate about the y axis in degrees. |
void Avogadro::Navigate::rotate | ( | GLWidget * | widget, |
const Eigen::Vector3d & | center, | ||
double | deltaX, | ||
double | deltaY, | ||
double | deltaZ | ||
) | [static] |
Rotate about center by deltaX, deltaY, and deltaZ in the x, y and z axes A generalization of the rotate() and tilt() methods.
widget | the GLWidget being operated on. |
center | the point at the center of rotation. |
deltaX | the amount to rotate about the x axis in degrees. |
deltaY | the amount to rotate about the y axis in degrees. |
deltaZ | the amount to rotate about the z axis in degrees. |
References Avogadro::Camera::backTransformedXAxis(), Avogadro::Camera::backTransformedYAxis(), Avogadro::Camera::backTransformedZAxis(), Avogadro::GLWidget::camera(), Avogadro::Camera::rotate(), and Avogadro::Camera::translate().
void Avogadro::Navigate::tilt | ( | GLWidget * | widget, |
const Eigen::Vector3d & | center, | ||
double | delta | ||
) | [static] |
Tilt about center by the amount delta z axis.
widget | the GLWidget being operated on. |
center | the point at the center of rotation. |
delta | the amount to rotate about the z axis in degrees. |
void Avogadro::Navigate::translate | ( | GLWidget * | widget, |
const Eigen::Vector3d & | what, | ||
const QPoint & | from, | ||
const QPoint & | to | ||
) | [static] |
Translate between the from and to positions relative to what.
widget | the GLWidget being operated on. |
what | the point that is being translated about. |
from | the starting position. |
to | the ending position. |
References Avogadro::GLWidget::camera(), Avogadro::Camera::translate(), and Avogadro::Camera::unProject().
void Avogadro::Navigate::translate | ( | GLWidget * | widget, |
const Eigen::Vector3d & | what, | ||
double | deltaX, | ||
double | deltaY | ||
) | [static] |
Translate between the from and to positions relative to what.
widget | the GLWidget being operated on. |
what | the point that is being translated about. |
deltaX | the amount to translate the x axis. |
deltaY | the amount to translate the y axis. |
References Avogadro::GLWidget::camera(), Avogadro::Camera::translate(), and Avogadro::Camera::unProject().
void Avogadro::Navigate::zoom | ( | GLWidget * | widget, |
const Eigen::Vector3d & | goal, | ||
double | delta | ||
) | [static] |
Zooms toward a given point by the given amount.
widget | the GLWidget being operated on. |
goal | the point that is being zoomed toward. |
delta | the amount to zoom by. |
References Avogadro::GLWidget::camera(), Avogadro::Camera::modelview(), Avogadro::GLWidget::projection(), and Avogadro::Camera::scale().