PlaneOverviewCameraTool Class Reference

tool for manipulation of the opengl 'camera' properties It handles the position of the camera in 3 dimensions. More...

#include <OverviewCameraTool.h>

Inheritance diagram for PlaneOverviewCameraTool:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PlaneOverviewCameraTool (PlaneOverviewToolHelper *helper)
virtual ~PlaneOverviewCameraTool ()
void Activate ()
 Switch on a tool.
void MouseMoveEvent (double x, double y, wxMouseEvent &e)
 Notify when the mouse pointer has moved over the panorama preview.
void MouseButtonEvent (wxMouseEvent &e)
 Notify of a mouse button press on the panorama preview.
void MouseWheelEvent (wxMouseEvent &)
 Notify of a mouse wheel event on the panorama preview.
void ChangeZoomLevel (bool zoomIn, double scale=1.1)
void KeypressEvent (int keycode, int modifiers, bool pressed)
 Notify of a Keypress event.

Private Attributes

int counter
bool down
double start_x
double start_y
double start_pos_x
double start_pos_y

Detailed Description

tool for manipulation of the opengl 'camera' properties It handles the position of the camera in 3 dimensions.

dragging with middle click or ctrl + left click for adjusting the XY position and mouse wheel for adjusting Z position (zooming in/out)

Definition at line 71 of file OverviewCameraTool.h.


Constructor & Destructor Documentation

PlaneOverviewCameraTool::PlaneOverviewCameraTool ( PlaneOverviewToolHelper helper  )  [inline]

Definition at line 74 of file OverviewCameraTool.h.

virtual PlaneOverviewCameraTool::~PlaneOverviewCameraTool (  )  [inline, virtual]

Definition at line 75 of file OverviewCameraTool.h.


Member Function Documentation

void PlaneOverviewCameraTool::Activate (  )  [virtual]

Switch on a tool.

Inherited classes also register events they want to respond to with the PreviewToolHelper. As events are lost when the tool is deactivated without notification to the PreviewTool, things from the last activation can be cleaned up here too.

Implements Tool.

Definition at line 120 of file OverviewCameraTool.cpp.

References down, Tool::helper, ToolHelper::MOUSE_MOVE, ToolHelper::MOUSE_PRESS, ToolHelper::MOUSE_WHEEL, and ToolHelper::NotifyMe().

void PlaneOverviewCameraTool::ChangeZoomLevel ( bool  zoomIn,
double  scale = 1.1 
)

Definition at line 192 of file OverviewCameraTool.cpp.

References VisualizationState::ForceRequireRedraw(), PlaneOverviewVisualizationState::getR(), ToolHelper::GetVisualizationStatePtr(), Tool::helper, VisualizationState::Redraw(), VisualizationState::SetDirtyViewport(), and PlaneOverviewVisualizationState::setR().

Referenced by KeypressEvent(), and MouseWheelEvent().

void PlaneOverviewCameraTool::KeypressEvent ( int  keycode,
int  modifiers,
bool  pressed 
) [virtual]

Notify of a Keypress event.

Currently unused as the preview cannot get keyboard input focus.

Reimplemented from Tool.

Definition at line 211 of file OverviewCameraTool.cpp.

References ChangeZoomLevel().

void PlaneOverviewCameraTool::MouseButtonEvent ( wxMouseEvent &  e  )  [virtual]

Notify of a mouse button press on the panorama preview.

Parameters:
e The event created by wxWidgets.

Reimplemented from Tool.

Definition at line 173 of file OverviewCameraTool.cpp.

References down, PlaneOverviewToolHelper::getPlaneX(), PlaneOverviewToolHelper::getPlaneY(), ToolHelper::GetVisualizationStatePtr(), PlaneOverviewVisualizationState::getX(), PlaneOverviewVisualizationState::getY(), Tool::helper, start_pos_x, start_pos_y, start_x, and start_y.

void PlaneOverviewCameraTool::MouseMoveEvent ( double  x,
double  y,
wxMouseEvent &  e 
) [virtual]

Notify when the mouse pointer has moved over the panorama preview.

The coordinates are in the space of the panorama output at full size, with no output cropping.

Parameters:
x The horizontal position of the mouse pointer in panorama pixels.
y The vertical position of the mouse pointer in panorama pixels.
e The event created by wxWidgets.

Reimplemented from Tool.

Definition at line 128 of file OverviewCameraTool.cpp.

References DEG_TO_RAD, down, VisualizationState::ForceRequireRedraw(), PlaneOverviewVisualizationState::getFOV(), PlaneOverviewVisualizationState::getR(), VisualizationState::GetViewer(), ToolHelper::GetVisualizationStatePtr(), Tool::helper, VisualizationState::Redraw(), PlaneOverviewVisualizationState::setX(), PlaneOverviewVisualizationState::setY(), start_pos_x, start_pos_y, start_x, and start_y.

void PlaneOverviewCameraTool::MouseWheelEvent ( wxMouseEvent &  e  )  [virtual]

Notify of a mouse wheel event on the panorama preview.

Parameters:
e The event created by wxWidgets.

Reimplemented from Tool.

Definition at line 204 of file OverviewCameraTool.cpp.

References ChangeZoomLevel().


Member Data Documentation

int PlaneOverviewCameraTool::counter [private]

Definition at line 88 of file OverviewCameraTool.h.

bool PlaneOverviewCameraTool::down [private]

Definition at line 89 of file OverviewCameraTool.h.

Referenced by Activate(), MouseButtonEvent(), and MouseMoveEvent().

double PlaneOverviewCameraTool::start_pos_x [private]

Definition at line 93 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().

double PlaneOverviewCameraTool::start_pos_y [private]

Definition at line 93 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().

double PlaneOverviewCameraTool::start_x [private]

Definition at line 91 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().

double PlaneOverviewCameraTool::start_y [private]

Definition at line 91 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().


The documentation for this class was generated from the following files:
Generated on 5 Dec 2014 for Hugintrunk by  doxygen 1.4.7