OptimizePhotometricPanel.h

Go to the documentation of this file.
00001 // -*- c-basic-offset: 4 -*-
00008 /*  This is free software; you can redistribute it and/or
00009  *  modify it under the terms of the GNU General Public
00010  *  License as published by the Free Software Foundation; either
00011  *  version 2 of the License, or (at your option) any later version.
00012  *
00013  *  This software is distributed in the hope that it will be useful,
00014  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00015  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00016  *  Lesser General Public License for more details.
00017  *
00018  *  You should have received a copy of the GNU General Public
00019  *  License along with this software. If not, see
00020  *  <http://www.gnu.org/licenses/>.
00021  *
00022  */
00023 
00024 #ifndef _OPTIMIZE_PHOTO_PANEL_H
00025 #define _OPTIMIZE_PHOTO_PANEL_H
00026 
00027 #include <panodata/Panorama.h>
00028 #include <panodata/StandardImageVariableGroups.h>
00029 #include "GuiLevel.h"
00030 
00031 class ImagesTreeCtrl;
00032 
00037 class OptimizePhotometricPanel : public wxPanel, public HuginBase::PanoramaObserver
00038 {
00039 
00040 
00041 public:
00042     OptimizePhotometricPanel();
00043 
00044     bool Create(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxT("panel"));
00045 
00046     void Init(HuginBase::Panorama * pano);
00047 
00048     virtual ~OptimizePhotometricPanel();
00049 
00051     virtual void panoramaChanged(HuginBase::Panorama & pano);
00053     virtual void panoramaImagesChanged(HuginBase::Panorama &pano, const HuginBase::UIntSet & imgNr);
00054 
00056     void OnOptimizeButton(wxCommandEvent & e);
00057     void SetGuiLevel(GuiLevel newGuiLevel);
00059     void SetOnlyActiveImages(const bool onlyActive);
00060 
00061 protected:
00062 
00063     void OnClose(wxCloseEvent& e);
00064     void OnReset(wxCommandEvent& e);
00066     void OnCheckOnlyActiveImages(wxCommandEvent &e);
00067 
00068     void runOptimizer(const HuginBase::UIntSet & img);
00069 
00070     wxCheckBox * m_only_active_images_cb;
00071 
00072     ImagesTreeCtrl* m_images_tree;
00073     ImagesTreeCtrl* m_lens_tree;
00074 
00075     HuginBase::Panorama * m_pano;
00076 
00077 private:
00078     DECLARE_EVENT_TABLE()
00079     DECLARE_DYNAMIC_CLASS(OptimizePhotometricPanel)
00080 };
00081 
00083 class OptimizePhotometricPanelXmlHandler : public wxXmlResourceHandler
00084 {
00085     DECLARE_DYNAMIC_CLASS(OptimizePhotometricPanelXmlHandler)
00086 
00087 public:
00088     OptimizePhotometricPanelXmlHandler();
00089     virtual wxObject *DoCreateResource();
00090     virtual bool CanHandle(wxXmlNode *node);
00091 };
00092 
00093 #endif // _WXPANOCOMMAND_H

Generated on 21 Sep 2017 for Hugintrunk by  doxygen 1.4.7