Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
GLPreviewFrame.h
Go to the documentation of this file.
1 // -*- c-basic-offset: 4 -*-
23 #ifndef _GLPREVIEWFRAME_H
24 #define _GLPREVIEWFRAME_H
25 
26 class GLRenderer;
27 class wxToolBar;
28 class wxToggleButton;
29 class wxCheckBox;
30 class wxTextCtrl;
31 class wxBitmapButton;
32 class wxSpinButton;
33 class wxScrolledWindow;
34 class wxBoxSizer;
35 class wxStaticBoxSizer;
36 class wxStaticText;
37 class wxSlider;
38 class GLViewer;
39 class GLPreview;
40 class GLOverview;
41 class ViewState;
42 class wxSpinEvent;
43 class wxChoice;
44 //forward declaration for wxInfoBar works only for wxGTK
45 //for other systems wxInfoBar is defined as preprocessor macro and not as class
46 //class wxInfoBar;
47 #include <wx/infobar.h>
48 
49 class MeshManager;
50 
51 class ToolHelper;
52 class PreviewToolHelper;
55 class Tool;
56 class PreviewTool;
57 class PreviewCropTool;
58 class DragTool;
59 class OverviewDragTool;
62 class PreviewDragTool;
69 class PreviewEditCPTool;
70 class PreviewCameraTool;
71 
75 
78 
79 class PreviewGuideTool;
80 
81 class GLPreviewFrame;
82 
83 class GLwxAuiManager;
85 
86 #include <wx/string.h>
87 #include <wx/frame.h>
88 #include <wx/aui/aui.h>
89 #include <wx/clrpicker.h>
90 #include "hugin/GuiLevel.h"
91 #include "hugin/SplitButton.h"
92 
93 #include <iostream>
94 
95 // the image toggle buttons need a special event handler to trap mouse enter and
96 // leave events.
97 class ImageToogleButtonEventHandler : public wxEvtHandler
98 {
99 public:
101  wxToggleButton* identify_button_in,
103  void OnChange(wxCommandEvent &e);
104  void AddIdentifyTool(PreviewIdentifyTool** identify_tool_in);
105 protected:
106  void OnEnter(wxMouseEvent & e);
107  void OnLeave(wxMouseEvent & e);
108 private:
109  unsigned int image_number;
110  std::vector<PreviewIdentifyTool**> identify_tools;
111  wxToggleButton* m_identify_button;
113 };
114 
115 class ImageGroupButtonEventHandler : public wxEvtHandler
116 {
117 public:
119  void OnChange(wxCommandEvent &e);
120  void AddDragTool(DragTool** drag_tool_in);
121  void AddIdentifyTool(PreviewIdentifyTool** identify_tool_in);
122 protected:
123  void OnEnter(wxMouseEvent & e);
124  void OnLeave(wxMouseEvent & e);
125 private:
126  unsigned int image_number;
127  std::vector<DragTool**> drag_tools;
128  std::vector<PreviewIdentifyTool**> identify_tools;
131 };
132 
133 
137 class GLwxAuiFloatingFrame : public wxAuiFloatingFrame {
138 public:
139  GLwxAuiFloatingFrame(wxWindow* parent, GLwxAuiManager* owner_mgr, const wxAuiPaneInfo& pane, wxWindowID id = wxID_ANY,
140  long style = wxRESIZE_BORDER | wxSYSTEM_MENU | wxCAPTION | wxFRAME_FLOAT_ON_PARENT | wxCLIP_CHILDREN
141  );
142  void OnActivate(wxActivateEvent& evt);
143  void OnMoveFinished();
144 };
145 
150 class GLwxAuiManager : public wxAuiManager {
151 public:
152  GLwxAuiManager(GLPreviewFrame* frame, GLPreview * preview, GLOverview * overview) : frame(frame), preview(preview), overview(overview) {}
153  GLwxAuiFloatingFrame* CreateFloatingFrame(wxWindow* parent, const wxAuiPaneInfo& p);
157 
158 private:
162 };
163 
164 
165 
173 class GLPreviewFrame : public wxFrame, public HuginBase::PanoramaObserver
174 {
175 public:
176 
179  GLPreviewFrame(wxFrame * frame, HuginBase::Panorama &pano);
180 
183  virtual ~GLPreviewFrame();
185  void StorePositionAndSize();
186 
187  virtual void panoramaChanged(HuginBase::Panorama &pano);
188  virtual void panoramaImagesChanged(HuginBase::Panorama &pano, const HuginBase::UIntSet &changed);
189 
190  void MakePreviewTools(PreviewToolHelper * helper);
193 
194  void SetImageButtonColour(unsigned int image_nr, unsigned char red,
195  unsigned char green, unsigned char blue);
196  void SetStatusMessage(wxString message);
199  void FillBlendChoice();
201  void LoadOpenGLLayout();
203  void InitPreviews();
205  void SetGuiLevel(GuiLevel newLevel);
207  void AddUserDefinedSequence(int id, const wxString& desc, const wxString& help);
209  void AddUserDefinedAssistant(int id, const wxString& desc, const wxString& help);
210 
214 
215  void PauseResize();
216  void ContinueResize();
217  bool CanResize() {return GLresize;}
218 
225  void redrawPreview();
227  void ResetPreviewZoom();
229  void SetShowProjectionHints(bool new_value);
230  void OnShowEvent(wxShowEvent& e);
231 
232  bool individualDragging();
233  void ToggleImageInDragGroup(unsigned int image_nr, bool update_check_box = true);
234  void RemoveImageFromDragGroup(unsigned int image_nr, bool update_check_box = true);
235  void AddImageToDragGroup(unsigned int image_nr, bool update_check_box = true);
236  void SetDragGroupImages(HuginBase::UIntSet imageDragGroup_in, bool update_check_box = true);
238  void ClearDragGroupImages(bool update_check_box = true);
243  void UpdateGlobalWhiteBalance(double redFactor, double blueFactor);
244  void UpdateIdentifyTools(std::set<unsigned int> new_image_set);
245 
246  wxColour GetPreviewBackgroundColor();
247 
248 protected:
249 
250  bool GLresize = true;
251 
252  void OnClose(wxCloseEvent& e);
253 
254  void OnOverviewToggle(wxCommandEvent& e);
255 
256  void OnCenterHorizontally(wxCommandEvent & e);
257  void OnFitPano(wxCommandEvent& e);
258  void OnStraighten(wxCommandEvent & e);
259  void OnShowAll(wxCommandEvent & e);
260  void OnShowNone(wxCommandEvent & e);
261  void OnPhotometric(wxCommandEvent & e);
262  void OnIdentify(wxCommandEvent &e);
263  void OnAutocrop(wxCommandEvent &e);
264  void OnStackAutocrop(wxCommandEvent &e);
265  void OnAutocropOutside(wxCommandEvent& e);
266  void OnControlPoint(wxCommandEvent &e);
267  void OnNumTransform(wxCommandEvent & e);
268  void OnChangeProjectionParam(wxScrollEvent & e);
269  void OnTrackChangeProjectionParam(wxScrollEvent & e);
270  void OnExposureChanged(wxCommandEvent & e);
271  void OnProjParameterChanged(wxCommandEvent & e);
273  void OnProjParameterReset(wxCommandEvent & e);
275  void OnSwitchPreviewGrid(wxCommandEvent & e);
277  void OnUserExit(wxCommandEvent & e);
278 
279  void OnDefaultExposure( wxCommandEvent & e );
280  void OnDecreaseExposure( wxSpinEvent & e );
281  void OnIncreaseExposure( wxSpinEvent & e );
282  void OnRangeCompressionIncrease(wxSpinEvent & e);
283  void OnRangeCompressionDecrease(wxSpinEvent & e);
284  void OnRangeCompressionChanged(wxCommandEvent& e);
285 
286  void OnBlendChoice(wxCommandEvent & e);
287  void OnDragChoice(wxCommandEvent & e);
288 
289  void KeyDown(wxKeyEvent & e);
290  void KeyUp(wxKeyEvent & e);
291 
292  void DragChoiceLayout( int index );
293  void OnProjectionChoice(wxCommandEvent & e);
294  void OnOverviewModeChoice(wxCommandEvent & e);
296  void OnROIChanged(wxCommandEvent & e);
298  void OnResetCrop(wxCommandEvent & e);
300  void OnSetCropAspect(wxCommandEvent& e);
301  void OnHFOVChanged(wxCommandEvent & e);
302  void OnVFOVChanged(wxCommandEvent & e);
304  void OnHideProjectionHints(wxCommandEvent &e);
305  // No HDR display yet
306  // void OnOutputChoice(wxCommandEvent & e);
307  // update tools according to blend mode choice
308  void updateBlendMode();
310  void OnFullScreen(wxCommandEvent &e);
312  void OnSelectMode(wxNotebookEvent &e);
314  void OnToolModeChanging(wxNotebookEvent &e);
316  void OnLayoutScaleChange(wxCommandEvent &e);
318  void OnColorPicker(wxCommandEvent &e);
320  void OnEditCPTool(wxCommandEvent &e);
322  void OnPreviewBackgroundColorChanged(wxColourPickerEvent & e);
324  void OnGuideChanged(wxCommandEvent &e);
326  void OnShowMainFrame(wxCommandEvent &e);
327  // assistant related event handler
328  void OnLoadImages( wxCommandEvent & e );
329  void LoadImages(int preferredLensType);
330  void OnAlign( wxCommandEvent & e );
331  void OnCreate( wxCommandEvent & e );
333  void OnCreateCP(wxCommandEvent & e);
335  void OnRemoveCP(wxCommandEvent & e);
337  void OnSelectAllMenu(wxCommandEvent& e);
338  void OnSelectMedianMenu(wxCommandEvent& e);
339  void OnSelectDarkestMenu(wxCommandEvent& e);
340  void OnSelectBrightestMenu(wxCommandEvent& e);
341  void OnSelectKeepSelection(wxCommandEvent& e);
342  void OnSelectResetSelection(wxCommandEvent& e);
343 private:
347  void EnableGroupCheckboxes(bool isShown);
352  bool UpdateOverviewMode(int newMode);
357 
358  void SetMode(int newMode);
360 
363 
365 
367 
368  int m_mode;
370  wxToggleButton* m_identify_togglebutton;
371  wxToggleButton* m_colorpicker_togglebutton;
372  wxToggleButton* m_editCP_togglebutton;
373  wxNotebook* m_tool_notebook;
375  wxSlider * m_HFOVSlider;
376  wxSlider * m_VFOVSlider;
377  wxTextCtrl * m_HFOVText;
378  wxTextCtrl * m_VFOVText;
379  wxTextCtrl * m_ROILeftTxt;
380  wxTextCtrl * m_ROIRightTxt;
381  wxTextCtrl * m_ROITopTxt;
382  wxTextCtrl * m_ROIBottomTxt;
383  wxChoice * m_BlendModeChoice;
384  wxChoice * m_DragModeChoice;
385  wxChoice * m_ProjectionChoice;
387  wxChoice * m_GuideChoiceCrop;
388  wxChoice * m_GuideChoiceDrag;
389  wxChoice * m_GuideChoiceProj;
390  // No HDR display yet.
391  // wxChoice * m_outputModeChoice;
392  wxTextCtrl * m_exposureTextCtrl;
393  wxBitmapButton * m_defaultExposureBut;
394  wxSpinButton * m_exposureSpinBut;
398  wxInfoBar * m_infoBar;
399  //assistant related controls
407  {
412  };
415 
417 
419 
420  wxString m_choices[3];
422  // index of difference mode
424 
425  wxScrolledWindow * m_ButtonPanel;
426  wxBoxSizer * m_ButtonSizer;
427  wxStaticBoxSizer * m_ToggleButtonSizer;
428 
429  wxBoxSizer * m_topsizer;
430  wxBoxSizer * m_projParamSizer;
432  std::vector<wxStaticText *> m_projParamNamesLabel;
433  std::vector<wxTextCtrl *> m_projParamTextCtrl;
434  std::vector<wxSlider *> m_projParamSlider;
435 
436  std::vector<wxToggleButton *> m_ToggleButtons;
437  std::vector<wxCheckBox *> m_GroupToggleButtons;
438  std::vector<wxPanel *> m_ToggleButtonPanel;
439  std::vector<ImageToogleButtonEventHandler *> toogle_button_event_handlers;
440  std::vector<ImageGroupButtonEventHandler *> toggle_group_button_event_handlers;
441 
442  // tools
444 
451 
455 
459 
463 
465 
470 
474 
476 
478 
480 
483 
486 
488 
489  void TurnOffTools(std::set<Tool*> tools);
490 
491 #ifdef __WXGTK__
492  bool loadedLayout;
493 #endif
494 
501  void CleanButtonColours();
507  void ShowProjectionWarnings();
508 };
509 
510 
511 #endif // _GLPREVIEWFRAME_H
HuginBase::UIntSet GetDragGroupImages()
tool for the manipulation of the opengl &#39;camera&#39; properties It handles rotation of the camera positio...
wxSlider * m_HFOVSlider
wxTextCtrl * m_ROITopTxt
wxTextCtrl * m_rangeCompressionTextCtrl
PlaneOverviewCameraTool * plane_overview_camera_tool
SelectAllMode m_selectAllMode
Allow the user to change the cropping region by dragging it in the fast preview.
void OnRangeCompressionDecrease(wxSpinEvent &e)
wxSpinButton * m_exposureSpinBut
void AddDragTool(DragTool **drag_tool_in)
declaration of helper for work with different GuiLevels
std::vector< wxToggleButton * > m_ToggleButtons
void OnRemoveCP(wxCommandEvent &e)
handler to remove cp
PreviewCropTool * crop_tool
void OnControlPoint(wxCommandEvent &e)
PreviewDifferenceTool * panosphere_difference_tool
void OnCreate(wxCommandEvent &e)
PreviewIdentifyTool * identify_tool
void SetStatusMessage(wxString message)
The OpenGL preview frame.
void AddIdentifyTool(PreviewIdentifyTool **identify_tool_in)
void OnIdentify(wxCommandEvent &e)
ViewState * m_view_state
wxChoice * m_DragModeChoice
wxColour GetPreviewBackgroundColor()
void OnShowAll(wxCommandEvent &e)
void StorePositionAndSize()
store position and size of window in wxConfig
wxBoxSizer * m_topsizer
void AddUserDefinedAssistant(int id, const wxString &desc, const wxString &help)
adds the given user defined assistant to SplitButton menu
PreviewDragTool * drag_tool
GLwxAuiFloatingFrame * CreateFloatingFrame(wxWindow *parent, const wxAuiPaneInfo &p)
std::vector< ImageToogleButtonEventHandler * > toogle_button_event_handlers
PanosphereOverviewCameraTool * panosphere_overview_camera_tool
void OnColorPicker(wxCommandEvent &e)
event handler when starting color picker
tool for the manipulation of the opengl &#39;camera&#39; properties It handles zooming in/out of the main pre...
void ClearDragGroupImages(bool update_check_box=true)
GLPreview * getGLPreview()
void ToggleImageInDragGroup(unsigned int image_nr, bool update_check_box=true)
void OnVFOVChanged(wxCommandEvent &e)
GuiLevel m_guiLevel
ImageToogleButtonEventHandler(unsigned int image_number, wxToggleButton *identify_button_in, HuginBase::Panorama *m_pano)
wxPanel * m_overviewCommandPanel
void OnOverviewToggle(wxCommandEvent &e)
wxTextCtrl * m_ROIRightTxt
SplitButton * m_createButton
void OnDecreaseExposure(wxSpinEvent &e)
wxBitmapButton * m_defaultExposureBut
void OnEnter(wxMouseEvent &e)
GLOverview * overview
void OnSwitchPreviewGrid(wxCommandEvent &e)
event handler for switch on/off grid on preview
void OnShowMainFrame(wxCommandEvent &e)
event handler to show main frame
GLPreview * m_GLPreview
wxColour m_preview_background_color
PreviewLayoutLinesTool * m_plane_layoutLinesTool
std::vector< wxCheckBox * > m_GroupToggleButtons
void AddImageToDragGroup(unsigned int image_nr, bool update_check_box=true)
PreviewIdentifyTool * plane_overview_identify_tool
void OnSelectDarkestMenu(wxCommandEvent &e)
PreviewPanoMaskTool * pano_mask_tool
wxNotebook * m_tool_notebook
void InitPreviews()
init previews
wxString m_choices[3]
PreviewControlPointTool * preview_control_point_tool
std::vector< wxPanel * > m_ToggleButtonPanel
std::vector< PreviewIdentifyTool ** > identify_tools
void UpdateRoiDisplay(const HuginBase::PanoramaOptions opts)
update display of ROI
void OnPhotometric(wxCommandEvent &e)
wxTextCtrl * m_ROILeftTxt
PreviewDifferenceTool * plane_difference_tool
std::vector< PreviewIdentifyTool ** > identify_tools
void OnChange(wxCommandEvent &e)
void RemoveImageFromDragGroup(unsigned int image_nr, bool update_check_box=true)
wxChoice * m_GuideChoiceCrop
PanosphereOverviewOutlinesTool * overview_outlines_tool
PanosphereSphereTool * panosphere_sphere_tool
void FillBlendChoice()
fills the blend wxChoice with all valid blend modes and restore the last used one ...
void OnActivate(wxActivateEvent &evt)
wxChoice * m_GuideChoiceDrag
wxStaticBoxSizer * m_ToggleButtonSizer
void OnLeave(wxMouseEvent &e)
void OnSetCropAspect(wxCommandEvent &e)
event handler to set fixed aspect ratio of crop
void OnAutocropOutside(wxCommandEvent &e)
std::set< unsigned int > UIntSet
Definition: PanoramaData.h:51
GLwxAuiFloatingFrame(wxWindow *parent, GLwxAuiManager *owner_mgr, const wxAuiPaneInfo &pane, wxWindowID id=wxID_ANY, long style=wxRESIZE_BORDER|wxSYSTEM_MENU|wxCAPTION|wxFRAME_FLOAT_ON_PARENT|wxCLIP_CHILDREN)
void OnDefaultExposure(wxCommandEvent &e)
wxSlider * m_VFOVSlider
void OnOverviewModeChoice(wxCommandEvent &e)
void OnProjParameterChanged(wxCommandEvent &e)
Draws guide lines over the panorama in fast preview window.
void LoadOpenGLLayout()
loads the layout of the OpenGL windows and restores it
wxChoice * m_ProjectionChoice
Finds the topmost image underneath the mouse pontier, cancel it&#39;s normal drawing, and then subtract i...
Model for a panorama.
Definition: Panorama.h:152
wxSpinButton * m_rangeCompressionSpinBut
void OnHFOVChanged(wxCommandEvent &e)
void OnExposureChanged(wxCommandEvent &e)
wxMenu * m_filemenuSimple
wxBoxSizer * m_ButtonSizer
virtual ~GLPreviewFrame()
dtor.
PreviewLayoutLinesTool * m_panosphere_layoutLinesTool
void OnStackAutocrop(wxCommandEvent &e)
GLwxAuiManager * m_mgr
The dock manager.
void MakePreviewTools(PreviewToolHelper *helper)
void SetMode(int newMode)
GLOverview * getGLOverview()
virtual void panoramaImagesChanged(HuginBase::Panorama &pano, const HuginBase::UIntSet &changed)
notifies about changes to images
void OnFullScreen(wxCommandEvent &e)
event handler for full screen
void OnSelectMedianMenu(wxCommandEvent &e)
std::vector< wxSlider * > m_projParamSlider
wxScrolledWindow * m_ButtonPanel
void OnLayoutScaleChange(wxCommandEvent &e)
event handler for change scale of layout mode
void SetDragGroupImages(HuginBase::UIntSet imageDragGroup_in, bool update_check_box=true)
Definition: Tool.h:42
wxTextCtrl * m_VFOVText
The PreviewCropTool shows lines between the ends of control points in the fast preview.
void AddUserDefinedSequence(int id, const wxString &desc, const wxString &help)
adds the given user defined output sequence to SplitButton menu
void SetGuiLevel(GuiLevel newLevel)
sets the gui level
void OnEnter(wxMouseEvent &e)
SplitButton * m_selectAllButton
void AddIdentifyTool(PreviewIdentifyTool **identify_tool_in)
void redrawPreview()
Display an updated version of the preview images.
PreviewIdentifyTool * panosphere_overview_identify_tool
void OnSelectKeepSelection(wxCommandEvent &e)
wxMenu * m_filemenuAdvanced
The renderer handles drawing the opengl scene.
Definition: GLRenderer.h:47
PlaneOverviewOutlinesTool * plane_overview_outlines_tool
std::vector< wxTextCtrl * > m_projParamTextCtrl
HuginBase::Panorama * m_pano
wxInfoBar * m_infoBar
Bar for context sensitive projection information.
void OnToolModeChanging(wxNotebookEvent &e)
event handler for blocking changing mode when panorama contains no images
wxToggleButton * m_editCP_togglebutton
SplitButton * m_loadImagesButton
PreviewControlPointTool * plane_control_point_tool
wxPanel * m_projection_panel
void OnRangeCompressionChanged(wxCommandEvent &e)
void SetShowProjectionHints(bool new_value)
set status if projection hints should be shown or not
void UpdateIdentifyTools(std::set< unsigned int > new_image_set)
PanosphereOverviewToolHelper * panosphere_overview_helper
GLPreview * preview
void MakePanosphereOverviewTools(PanosphereOverviewToolHelper *helper)
GLPreviewFrame * getPreviewFrame()
std::vector< ImageGroupButtonEventHandler * > toggle_group_button_event_handlers
wxToggleButton * m_identify_togglebutton
GLwxAuiManager * getAuiManager()
void OnProjectionChoice(wxCommandEvent &e)
PreviewControlPointTool * panosphere_control_point_tool
PanosphereOverviewProjectionGridTool * overview_projection_grid
Tool to delete all cp in a selected rectangle.
void EnableGroupCheckboxes(bool isShown)
changes the visibility of the group check boxes
void OnSelectMode(wxNotebookEvent &e)
event handler for selection of new mode
void DragChoiceLayout(int index)
void OnSelectBrightestMenu(wxCommandEvent &e)
The PreviewLayoutLinesTool handles the lines connecting images in the layout view of the fast preview...
void MakePlaneOverviewTools(PlaneOverviewToolHelper *helper)
OverviewDragTool * overview_drag_tool
GLOverview * m_GLOverview
bool m_selectKeepSelection
GLPreviewFrame(wxFrame *frame, HuginBase::Panorama &pano)
ctor.
void OnCenterHorizontally(wxCommandEvent &e)
void OnROIChanged(wxCommandEvent &e)
event handler for changed roi
wxChoice * m_BlendModeChoice
std::vector< DragTool ** > drag_tools
wxBoxSizer * m_projParamSizer
tool to draw a whiteish transparent sphere for the panosphere
void OnLoadImages(wxCommandEvent &e)
void ShowProjectionWarnings()
Tell the user anything suspicious about the projection choice.
void OnUserExit(wxCommandEvent &e)
user wants to quit program
void OnGuideChanged(wxCommandEvent &e)
event handler when user selects different guide
GLwxAuiManager(GLPreviewFrame *frame, GLPreview *preview, GLOverview *overview)
void OnShowNone(wxCommandEvent &e)
void OnChangeProjectionParam(wxScrollEvent &e)
A MeshManager handles the graphics system representation of a remapping, by creating OpenGL display l...
Definition: MeshManager.h:37
void OnSelectAllMenu(wxCommandEvent &e)
handle all options of select all context menu
void OnSelectResetSelection(wxCommandEvent &e)
this handler class will receive change events from the Panorama.
Definition: PanoramaData.h:401
void OnResetCrop(wxCommandEvent &e)
event handler to reset crop area
PreviewToolHelper * preview_helper
wxTextCtrl * m_ROIBottomTxt
subclass for a floating frame of the dock manager
SplitButton * m_alignButton
wxToggleButton * m_identify_button
void OnChange(wxCommandEvent &e)
void OnIncreaseExposure(wxSpinEvent &e)
GLOverview * getOverview()
void OnTrackChangeProjectionParam(wxScrollEvent &e)
bool UpdateOverviewMode(int newMode)
updates the mode of the overview window
wxToggleButton * m_colorpicker_togglebutton
void OnRangeCompressionIncrease(wxSpinEvent &e)
bool m_showProjectionHints
void OnCreateCP(wxCommandEvent &e)
handler for creating cp in pano space
void OnPreviewBackgroundColorChanged(wxColourPickerEvent &e)
event handler when user changes background color
tool for manipulation of the opengl &#39;camera&#39; properties It handles the position of the camera in 3 di...
void OnDragChoice(wxCommandEvent &e)
PreviewColorPickerTool * color_picker_tool
void updateBlendMode()
Update tools and GUI elements according to blend mode choice.
bool HasNonZeroTranslationPlaneParameters()
check, if panorama has non-zero translation plane parameters
void OnEditCPTool(wxCommandEvent &e)
event handler when starting edit cp tool
PlaneOverviewToolHelper * plane_overview_helper
PreviewEditCPTool * edit_cp_tool
The PreviewColorPickerTool allows to select a region in the panorama which should be grey...
For projections where the output range is limited, but the approximatly remaped images can extend thi...
void OnBlendChoice(wxCommandEvent &e)
wxTextCtrl * m_exposureTextCtrl
void OnShowEvent(wxShowEvent &e)
GuiLevel
Definition: GuiLevel.h:31
void OnAutocrop(wxCommandEvent &e)
std::vector< wxStaticText * > m_projParamNamesLabel
GLPreview * getPreview()
PreviewProjectionGridTool * preview_projection_grid
customized subclass of the dock manager, created just for the purpose to create a workaround for the ...
void KeyDown(wxKeyEvent &e)
HuginBase::Panorama & m_pano
PreviewGuideTool * preview_guide_tool
Allows the user to change the yaw, pitch and roll of a connected component of images by dragging them...
Definition: DragTool.h:50
void ResetTranslationPlaneParameters()
resets all translation plane parameters to zero
virtual void panoramaChanged(HuginBase::Panorama &pano)
Notification about a Panorama change.
wxChoice * m_GuideChoiceProj
PreviewCameraTool * camera_tool
ImageGroupButtonEventHandler(unsigned int image_number, GLPreviewFrame *frame_in, HuginBase::Panorama *m_pano)
void OnStraighten(wxCommandEvent &e)
Panorama image options.
PreviewLayoutLinesTool * m_preview_layoutLinesTool
void UpdateGlobalWhiteBalance(double redFactor, double blueFactor)
updates the global white balance
void SetImageButtonColour(unsigned int image_nr, unsigned char red, unsigned char green, unsigned char blue)
void ResetPreviewZoom()
reset zoom level for preview window
void OnClose(wxCloseEvent &e)
HuginBase::UIntSet imageDragGroup
void OnNumTransform(wxCommandEvent &e)
void OnAlign(wxCommandEvent &e)
Visually connect the image numbers with the image on the preview.
wxTextCtrl * m_HFOVText
wxChoice * m_OverviewModeChoice
PreviewDifferenceTool * difference_tool
void OnHideProjectionHints(wxCommandEvent &e)
event handler when user hides the infobar
A wxWidget to display the fast preview.
Definition: GLViewer.h:51
void OnProjParameterReset(wxCommandEvent &e)
event handler for reset projection parameters
void TurnOffTools(std::set< Tool * > tools)
void LoadImages(int preferredLensType)
HuginBase::Panorama * m_pano
void KeyUp(wxKeyEvent &e)
GLPreviewFrame * frame
void OnLeave(wxMouseEvent &e)
void OnFitPano(wxCommandEvent &e)