Hugin trunk 0.1
Loading...
Searching...
No Matches
DragTool.h
Go to the documentation of this file.
1// -*- c-basic-offset: 4 -*-
23#ifndef _PREVIEWDRAGTOOL_H
24#define _PREVIEWDRAGTOOL_H
25
26#include "Tool.h"
27
28#include <map>
29#include <hugin_math/Matrix3.h>
30
50class DragTool : public Tool
51{
52public:
53 explicit DragTool(ToolHelper *helper);
54 void Activate();
55 void MouseMoveEvent(double x, double y, wxMouseEvent & e);
57
58 virtual void ReallyAfterDrawImagesEvent() = 0;
59
61 {
62 public:
63 double yaw, pitch, roll, TrX, TrY, TrZ, Tpy, Tpp;
65 void Move(Matrix3 *matrix,
66 double &yaw_out, double &pitch_out, double &roll_out, double &TrX_out, double &TrY_out, double &TrZ_out,
67 double &Tpy_out, double &Tpp_out);
68 };
69
70 //dragging mode
77
78 void getTranslationShift(double &delta_x, double &delta_y);
79
80protected:
81 std::map<unsigned int, ParamStore> image_params;
82 std::set<unsigned int> draging_images;
88 void SetRotationMatrix(double yaw_shift, double pitch_shift,
89 double roll_shift,
90 double yaw_start, double pitch_start,
91 double roll_start);
94};
95
97{
98public:
100
102
103};
104
106{
107public:
109
111
112};
113
114#endif
115
void Set(HuginBase::SrcPanoImage *img)
Definition DragTool.cpp:364
void Move(Matrix3 *matrix, double &yaw_out, double &pitch_out, double &roll_out, double &TrX_out, double &TrY_out, double &TrZ_out, double &Tpy_out, double &Tpp_out)
Definition DragTool.cpp:376
Allows the user to change the yaw, pitch and roll of a connected component of images by dragging them...
Definition DragTool.h:51
Matrix3 rotation_matrix
Definition DragTool.h:87
double shift_angle
Definition DragTool.h:84
bool control
Definition DragTool.h:86
bool drag_roll
Definition DragTool.h:83
@ drag_mode_normal
Definition DragTool.h:72
@ drag_mode_mosaic
Definition DragTool.h:73
void MouseMoveEvent(double x, double y, wxMouseEvent &e)
Notify when the mouse pointer has moved over the panorama preview.
Definition DragTool.cpp:81
void Activate()
Switch on a tool.
Definition DragTool.cpp:69
std::map< unsigned int, ParamStore > image_params
Definition DragTool.h:81
bool shift
Definition DragTool.h:86
void setDragMode(DragMode drag_mode)
Definition DragTool.cpp:47
hugin_utils::FDiff2D start_coordinates
Definition DragTool.h:85
void MouseButtonEvent(wxMouseEvent &e)
Notify of a mouse button press on the panorama preview.
Definition DragTool.cpp:161
hugin_utils::FDiff2D shift_coordinates
Definition DragTool.h:85
DragMode drag_mode
Definition DragTool.h:92
hugin_utils::FDiff2D centre
Definition DragTool.h:85
bool drag_pitch
Definition DragTool.h:83
DragMode getDragMode()
Definition DragTool.cpp:52
double start_angle
Definition DragTool.h:84
bool custom_drag
Definition DragTool.h:93
void SetRotationMatrix(double yaw_shift, double pitch_shift, double roll_shift, double yaw_start, double pitch_start, double roll_start)
Definition DragTool.cpp:417
virtual void ReallyAfterDrawImagesEvent()=0
Draw (using OpenGL) the overlays, e.g. crop highlights, guides.
void getTranslationShift(double &delta_x, double &delta_y)
Definition DragTool.cpp:58
std::set< unsigned int > draging_images
Definition DragTool.h:82
bool drag_yaw
Definition DragTool.h:83
All variables of a source image.
general : Matrix3 is a class for handling 3x3 Matrix manipulation.
Definition Matrix3.h:38
void ReallyAfterDrawImagesEvent()
Draw (using OpenGL) the overlays, e.g. crop highlights, guides.
Definition DragTool.cpp:496
OverviewDragTool(OverviewToolHelper *helper)
Definition DragTool.h:108
void ReallyAfterDrawImagesEvent()
Draw (using OpenGL) the overlays, e.g. crop highlights, guides.
Definition DragTool.cpp:435
PreviewDragTool(PreviewToolHelper *helper)
Definition DragTool.h:99
Definition Tool.h:43
ToolHelper * helper
The PreviewToolHelper that uses the same preview window and panorama as the tool should.
Definition Tool.h:109
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.
Definition threshold.h:41