Hugintrunk
0.1
|
tool for manipulation of the opengl 'camera' properties It handles the position of the camera in 3 dimensions. More...
#include <OverviewCameraTool.h>
Public Member Functions | |
PlaneOverviewCameraTool (PlaneOverviewToolHelper *helper) | |
virtual | ~PlaneOverviewCameraTool () |
void | Activate () |
Switch on a tool. More... | |
void | MouseMoveEvent (double x, double y, wxMouseEvent &e) |
Notify when the mouse pointer has moved over the panorama preview. More... | |
void | MouseButtonEvent (wxMouseEvent &e) |
Notify of a mouse button press on the panorama preview. More... | |
void | MouseWheelEvent (wxMouseEvent &) |
Notify of a mouse wheel event on the panorama preview. More... | |
void | ChangeZoomLevel (bool zoomIn, double scale=1.1) |
void | KeypressEvent (int keycode, int modifiers, bool pressed) |
Notify of a Keypress event. More... | |
Public Member Functions inherited from PlaneOverviewTool | |
PlaneOverviewTool (PlaneOverviewToolHelper *helper) | |
virtual | ~PlaneOverviewTool () |
Public Member Functions inherited from OverviewTool | |
OverviewTool (OverviewToolHelper *helper) | |
virtual | ~OverviewTool () |
Public Member Functions inherited from Tool | |
Tool (ToolHelper *helper) | |
Construct keeping a pointer to a PreviewToolHelper. More... | |
virtual | ~Tool () |
virtual void | ImagesUnderMouseChangedEvent () |
Notify when the images directly underneath the mouse pointer have changed. More... | |
virtual void | BeforeDrawImagesEvent () |
Draw using OpenGL anything the tool requires underneath the images. More... | |
virtual void | AfterDrawImagesEvent () |
Draw (using OpenGL) images above the others. More... | |
virtual void | ReallyAfterDrawImagesEvent () |
Draw (using OpenGL) the overlays, e.g. crop highlights, guides. More... | |
virtual bool | BeforeDrawImageEvent (unsigned int image) |
Draw what the tool requires just before a given image is drawn. More... | |
virtual void | AfterDrawImageEvent (unsigned int image) |
Notification called just after the image was drawn normally. More... | |
virtual void | MarkDirty () |
Private Attributes | |
int | counter |
bool | down |
double | start_x |
double | start_y |
double | start_pos_x |
double | start_pos_y |
Additional Inherited Members | |
Protected Attributes inherited from Tool | |
ToolHelper * | helper |
The PreviewToolHelper that uses the same preview window and panorama as the tool should. More... | |
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 72 of file OverviewCameraTool.h.
|
inlineexplicit |
Definition at line 75 of file OverviewCameraTool.h.
|
inlinevirtual |
Definition at line 76 of file OverviewCameraTool.h.
|
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 185 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 256 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().
|
virtual |
Notify of a Keypress event.
Currently unused as the preview cannot get keyboard input focus.
Reimplemented from Tool.
Definition at line 275 of file OverviewCameraTool.cpp.
References ChangeZoomLevel().
|
virtual |
Notify of a mouse button press on the panorama preview.
e | The event created by wxWidgets. |
Reimplemented from Tool.
Definition at line 237 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.
|
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.
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 193 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.
|
virtual |
Notify of a mouse wheel event on the panorama preview.
e | The event created by wxWidgets. |
Reimplemented from Tool.
Definition at line 268 of file OverviewCameraTool.cpp.
References ChangeZoomLevel().
|
private |
Definition at line 89 of file OverviewCameraTool.h.
|
private |
Definition at line 90 of file OverviewCameraTool.h.
Referenced by Activate(), MouseButtonEvent(), and MouseMoveEvent().
|
private |
Definition at line 94 of file OverviewCameraTool.h.
Referenced by MouseButtonEvent(), and MouseMoveEvent().
|
private |
Definition at line 94 of file OverviewCameraTool.h.
Referenced by MouseButtonEvent(), and MouseMoveEvent().
|
private |
Definition at line 92 of file OverviewCameraTool.h.
Referenced by MouseButtonEvent(), and MouseMoveEvent().
|
private |
Definition at line 92 of file OverviewCameraTool.h.
Referenced by MouseButtonEvent(), and MouseMoveEvent().