Combines Mouse and Camera classes. More...
Classes | |
struct | xyPair |
Two-dimensional coordinate, used internally. More... | |
Public Member Functions | |
Trackball (const Camera &cam_=Camera(), float radius_=0.8f) | |
void | mouseClick (Mouse::Button, uint, uint) |
void | mouseRelease (Mouse::Button, uint, uint) |
void | mouseMove (uint, uint, uint, uint, float=1.f, float=1.f, float=1.f) |
Camera & | getCam () |
const Camera & | getCam () const |
Point | getEye () const |
Point | getLook () const |
Vector | getUp () const |
float | getFOV () const |
float | getNear () const |
float | getFar () const |
CameraMode | getMode () const |
void | setLookMode (CameraMode &mode) |
void | setFOV (float fov) |
void | reset () |
Private Attributes | |
Camera | cam |
Mouse | mouse |
float | radius |
uiCore::Trackball::Trackball | ( | const Camera & | cam_ = Camera() , |
float | radius_ = 0.8f |
||
) | [inline] |
Camera& uiCore::Trackball::getCam | ( | ) | [inline] |
References cam.
Referenced by rtVTK::MainWindow::initializePlugin(), and rtVTK::glWidget::slotRender().
const Camera& uiCore::Trackball::getCam | ( | ) | const [inline] |
References cam.
Point uiCore::Trackball::getEye | ( | ) | const [inline] |
References cam, and uiCore::Camera::getEye().
Referenced by rtVTK::MainWindow::slotSaveView().
float uiCore::Trackball::getFar | ( | ) | const [inline] |
References cam, and uiCore::Camera::getFar().
float uiCore::Trackball::getFOV | ( | ) | const [inline] |
References cam, and uiCore::Camera::getFOV().
Referenced by rtVTK::MainWindow::slotSaveView().
Point uiCore::Trackball::getLook | ( | ) | const [inline] |
References cam, and uiCore::Camera::getLook().
Referenced by rtVTK::MainWindow::slotSaveView().
CameraMode uiCore::Trackball::getMode | ( | ) | const [inline] |
References cam, and uiCore::Camera::getMode().
Referenced by rtVTK::glWidget::slotSetView().
float uiCore::Trackball::getNear | ( | ) | const [inline] |
References cam, and uiCore::Camera::getNear().
Vector uiCore::Trackball::getUp | ( | ) | const [inline] |
References cam, and uiCore::Camera::getUp().
Referenced by rtVTK::MainWindow::slotSaveView().
void uiCore::Trackball::mouseClick | ( | Mouse::Button | button, |
uint | x, | ||
uint | y | ||
) |
References uiCore::Mouse::click(), uiCore::Mouse::Down, and mouse.
Referenced by rtVTK::glWidget::mousePressEvent(), and rtVTK::glWidget::mouseReleaseEvent().
void uiCore::Trackball::mouseMove | ( | uint | x, |
uint | y, | ||
uint | xSize, | ||
uint | ySize, | ||
float | rspeed = 1.f , |
||
float | tspeed = 1.f , |
||
float | dspeed = 1.f |
||
) |
References uiCore::Mouse::button, uiCore::Mouse::c, cam, uiCore::Mouse::dragBegin(), uiCore::Mouse::dragEnd(), uiCore::Mouse::Left, uiCore::Mouse::Mid, mouse, uiCore::Camera::moveCam(), uiCore::Mouse::ButtonState::p, radius, uiCore::Mouse::Right, uiCore::Camera::rotateCam(), uiCore::Mouse::states, uiCore::Trackball::xyPair::x, and uiCore::Trackball::xyPair::y.
Referenced by rtVTK::glWidget::mouseMoveEvent().
void uiCore::Trackball::mouseRelease | ( | Mouse::Button | button, |
uint | x, | ||
uint | y | ||
) |
References uiCore::Mouse::click(), mouse, and uiCore::Mouse::Up.
void uiCore::Trackball::reset | ( | ) | [inline] |
References cam, and uiCore::Camera::reset().
Referenced by rtVTK::glWidget::slotResetView().
void uiCore::Trackball::setFOV | ( | float | fov | ) | [inline] |
References cam, and uiCore::Camera::setFOV().
Referenced by rtVTK::glWidget::slotSetFOV().
void uiCore::Trackball::setLookMode | ( | CameraMode & | mode | ) | [inline] |
References cam, and uiCore::Camera::setLookMode().
Referenced by rtVTK::glWidget::slotSetLookMode().
Camera uiCore::Trackball::cam [private] |
Mouse uiCore::Trackball::mouse [private] |
Referenced by mouseClick(), mouseMove(), and mouseRelease().
float uiCore::Trackball::radius [private] |
Referenced by mouseMove().