Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | Static Private Attributes | List of all members
PanosphereOverviewCameraTool Class Reference

tool for the manipulation of the opengl 'camera' properties It handles rotation of the camera position around the panosphere and zooming in/out (i.e. More...

#include <OverviewCameraTool.h>

Inheritance diagram for PanosphereOverviewCameraTool:
Inheritance graph

Public Member Functions

 PanosphereOverviewCameraTool (PanosphereOverviewToolHelper *helper)
 
virtual ~PanosphereOverviewCameraTool ()
 
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 ChangeFOV (bool zoomIn)
 
void KeypressEvent (int keycode, int modifiers, bool pressed)
 Notify of a Keypress event. More...
 
- Public Member Functions inherited from PanosphereOverviewTool
 PanosphereOverviewTool (PanosphereOverviewToolHelper *helper)
 
virtual ~PanosphereOverviewTool ()
 
virtual void BeforeDrawImagesBackEvent ()
 Draw using opengl anything before drawing the front face culled images. More...
 
virtual void AfterDrawImagesBackEvent ()
 Draw using opengl anything after drawing the front face culled images. More...
 
virtual void BeforeDrawImagesFrontEvent ()
 Draw using opengl anything before drawing the back face culled images. More...
 
virtual void AfterDrawImagesFrontEvent ()
 Draw using opengl anything after drawing the back face culled images. More...
 
- 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

bool down
 
double start_x
 
double start_y
 
double start_angx
 
double start_angy
 

Static Private Attributes

static const double limit_low = 1.2
 
static const double limit_high = 5.0
 

Additional Inherited Members

- Protected Attributes inherited from Tool
ToolHelperhelper
 The PreviewToolHelper that uses the same preview window and panorama as the tool should. More...
 

Detailed Description

tool for the manipulation of the opengl 'camera' properties It handles rotation of the camera position around the panosphere and zooming in/out (i.e.

moving the camera closer or further away from the panosphere) TODO add manipulation of the FOV of the camera, i.e. the perspective

Definition at line 36 of file OverviewCameraTool.h.

Constructor & Destructor Documentation

PanosphereOverviewCameraTool::PanosphereOverviewCameraTool ( PanosphereOverviewToolHelper helper)
inlineexplicit

Definition at line 39 of file OverviewCameraTool.h.

virtual PanosphereOverviewCameraTool::~PanosphereOverviewCameraTool ( )
inlinevirtual

Definition at line 40 of file OverviewCameraTool.h.

Member Function Documentation

void PanosphereOverviewCameraTool::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 32 of file OverviewCameraTool.cpp.

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

void PanosphereOverviewCameraTool::ChangeFOV ( bool  zoomIn)
void PanosphereOverviewCameraTool::ChangeZoomLevel ( bool  zoomIn,
double  scale = 1.1 
)
void PanosphereOverviewCameraTool::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 171 of file OverviewCameraTool.cpp.

References ChangeZoomLevel().

void PanosphereOverviewCameraTool::MouseButtonEvent ( wxMouseEvent &  e)
virtual
void PanosphereOverviewCameraTool::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
xThe horizontal position of the mouse pointer in panorama pixels.
yThe vertical position of the mouse pointer in panorama pixels.
eThe event created by wxWidgets.

Reimplemented from Tool.

Definition at line 43 of file OverviewCameraTool.cpp.

References down, ToolHelper::GetMouseScreenPosition(), PanosphereOverviewVisualizationState::getR(), PanosphereOverviewVisualizationState::getSphereRadius(), ToolHelper::GetVisualizationStatePtr(), Tool::helper, PanosphereOverviewVisualizationState::isInsideView(), M_PI, VisualizationState::Redraw(), PanosphereOverviewVisualizationState::setAngX(), PanosphereOverviewVisualizationState::setAngY(), start_angx, start_angy, start_x, start_y, hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.

void PanosphereOverviewCameraTool::MouseWheelEvent ( wxMouseEvent &  e)
virtual

Notify of a mouse wheel event on the panorama preview.

Parameters
eThe event created by wxWidgets.

Reimplemented from Tool.

Definition at line 156 of file OverviewCameraTool.cpp.

References ChangeFOV(), ChangeZoomLevel(), ToolHelper::GetVisualizationStatePtr(), and Tool::helper.

Member Data Documentation

bool PanosphereOverviewCameraTool::down
private

Definition at line 59 of file OverviewCameraTool.h.

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

const double PanosphereOverviewCameraTool::limit_high = 5.0
staticprivate

Definition at line 57 of file OverviewCameraTool.h.

Referenced by ChangeZoomLevel().

const double PanosphereOverviewCameraTool::limit_low = 1.2
staticprivate

Definition at line 55 of file OverviewCameraTool.h.

Referenced by ChangeZoomLevel().

double PanosphereOverviewCameraTool::start_angx
private

Definition at line 63 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().

double PanosphereOverviewCameraTool::start_angy
private

Definition at line 63 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().

double PanosphereOverviewCameraTool::start_x
private

Definition at line 61 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().

double PanosphereOverviewCameraTool::start_y
private

Definition at line 61 of file OverviewCameraTool.h.

Referenced by MouseButtonEvent(), and MouseMoveEvent().


The documentation for this class was generated from the following files: