From: <gpa...@us...> - 2008-07-18 03:13:18
|
Revision: 3204 http://hugin.svn.sourceforge.net/hugin/?rev=3204&view=rev Author: gpatters1 Date: 2008-07-18 03:13:14 +0000 (Fri, 18 Jul 2008) Log Message: ----------- [2020915] Removed debug statement and unnecessary optimize panel checkboxes refresh. Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/MainFrame.cpp hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp Modified: hugin/trunk/src/hugin1/hugin/MainFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/MainFrame.cpp 2008-07-18 03:10:59 UTC (rev 3203) +++ hugin/trunk/src/hugin1/hugin/MainFrame.cpp 2008-07-18 03:13:14 UTC (rev 3204) @@ -641,7 +641,6 @@ new wxLoadPTProjectCmd(pano,file, (const char *)path.mb_str(HUGIN_CONV_FILENAME)) ); DEBUG_DEBUG("project contains " << pano.getNrOfImages() << " after load"); - opt_panel->setOptimizeVector(pano.getOptimizeVector()); opt_panel->setModeCustom(); SetStatusText(_("Project opened")); config->Write(wxT("/actualPath"), path); // remember for later Modified: hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp 2008-07-18 03:10:59 UTC (rev 3203) +++ hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp 2008-07-18 03:13:14 UTC (rev 3204) @@ -299,7 +299,6 @@ void OptimizePanel::panoramaImagesChanged(PT::Panorama &pano, const PT::UIntSet & imgNr) { - DEBUG_WARN("OptimizePanel::panoramaImageChanged()"); DEBUG_TRACE("nr of changed images: " << imgNr.size()); if (pano.getNrOfImages() == 0) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gpa...@us...> - 2008-07-25 15:03:18
|
Revision: 3237 http://hugin.svn.sourceforge.net/hugin/?rev=3237&view=rev Author: gpatters1 Date: 2008-07-25 15:03:16 +0000 (Fri, 25 Jul 2008) Log Message: ----------- [2027795] Prevent popups from hiding behind the application window. Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-07-25 03:21:38 UTC (rev 3236) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-07-25 15:03:16 UTC (rev 3237) @@ -278,7 +278,7 @@ AutoCtrlPointCreator matcher; CPVector cps = matcher.automatch(*pano, selImg, nFeatures); wxString msg; - wxMessageBox(wxString::Format(_("Added %d control points"), cps.size()), _("Autopano result")); + wxMessageBox(wxString::Format(_("Added %d control points"), cps.size()), _("Autopano result"),wxOK|wxICON_INFORMATION,this); GlobalCmdHist::getInstance().addCommand( new PT::AddCtrlPointsCmd(*pano, cps) ); Modified: hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp 2008-07-25 03:21:38 UTC (rev 3236) +++ hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp 2008-07-25 15:03:16 UTC (rev 3237) @@ -644,7 +644,7 @@ style = wxYES_NO | wxICON_EXCLAMATION; } - int id = wxMessageBox(msg,_("Optimization result"),style); + int id = wxMessageBox(msg,_("Optimization result"),style,this); return id == wxYES; } Modified: hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp 2008-07-25 03:21:38 UTC (rev 3236) +++ hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp 2008-07-25 15:03:16 UTC (rev 3237) @@ -549,7 +549,7 @@ // display information about the estimation process: int ret = wxMessageBox(wxString::Format(_("Photometric optimization results:\nAverage difference (RMSE) between overlapping pixels: %.2f gray values (0..255)\n\nApply results?"), error*255), - _("Photometric optimization finished"), wxYES_NO | wxICON_INFORMATION); + _("Photometric optimization finished"), wxYES_NO | wxICON_INFORMATION,this); if (ret == wxYES) { DEBUG_DEBUG("Applying vignetting corr"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ip...@us...> - 2008-08-21 04:42:45
|
Revision: 3344 http://hugin.svn.sourceforge.net/hugin/?rev=3344&view=rev Author: ippei Date: 2008-08-21 04:42:42 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Removed entirely the usage of scrolled window that makes little sense; seems to have had related bug on both mac and windows anyway. Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/CPEditorPanel.h hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.h hugin/trunk/src/hugin1/hugin/LensPanel.cpp hugin/trunk/src/hugin1/hugin/LensPanel.h hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc hugin/trunk/src/hugin1/hugin/xrc/images_panel.xrc hugin/trunk/src/hugin1/hugin/xrc/lens_panel.xrc Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2008-08-21 04:42:42 UTC (rev 3344) @@ -269,16 +269,8 @@ #endif // setup scroll window for the controls under the images - m_cp_ctrls = XRCCTRL(*this, "cp_controls_panel", wxScrolledWindow); + m_cp_ctrls = XRCCTRL(*this, "cp_controls_panel", wxPanel); DEBUG_ASSERT(m_cp_ctrls); - //m_cp_ctrls->SetSizeHints(20, 20); - m_cp_ctrls->FitInside(); - m_cp_ctrls->SetScrollRate(10, 10); - //wxSize minSize = m_cp_ctrls->GetVirtualSize(); - // TODO: force a minimum height for the - //DEBUG_DEBUG("minSize for Ctrlpoints :" << minSize.x << " " << minSize.y); - //minSize.x = -1; - //m_cp_ctrls->SetMinSize(minSize); wxConfigBase *config = wxConfigBase::Get(); Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.h =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.h 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.h 2008-08-21 04:42:42 UTC (rev 3344) @@ -276,7 +276,7 @@ wxCheckBox *m_autoAddCB; wxCheckBox *m_fineTuneCB; wxCheckBox *m_estimateCB; - wxScrolledWindow *m_cp_ctrls; + wxPanel *m_cp_ctrls; #ifdef HUGIN_CP_USE_SPLITTER wxSplitterWindow *m_cp_splitter; #endif Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-08-21 04:42:42 UTC (rev 3344) @@ -123,16 +123,9 @@ m_moveDownButton = XRCCTRL(*this, "images_move_image_down", wxButton); DEBUG_ASSERT(m_moveDownButton); - m_img_ctrls = XRCCTRL(*this, "image_control_panel", wxScrolledWindow); + m_img_ctrls = XRCCTRL(*this, "image_control_panel", wxPanel); DEBUG_ASSERT(m_img_ctrls); -// m_img_splitter = XRCCTRL(*this, "image_panel_splitter", wxSplitterWindow); -// DEBUG_ASSERT(m_img_splitter); - m_img_ctrls->FitInside(); - m_img_ctrls->SetScrollRate(10, 10); -// m_img_splitter->SetSashGravity(1); -// m_img_splitter->SetMinimumPaneSize(200); - // Image Preview m_smallImgCtrl = XRCCTRL(*this, "images_selected_image", wxStaticBitmap); DEBUG_ASSERT(m_smallImgCtrl); Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.h =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.h 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.h 2008-08-21 04:42:42 UTC (rev 3344) @@ -152,8 +152,7 @@ wxButton * m_matchingButton; wxButton * m_removeCPButton; - wxScrolledWindow *m_img_ctrls; - //wxSplitterWindow *m_img_splitter; + wxPanel *m_img_ctrls; int m_degDigits; Modified: hugin/trunk/src/hugin1/hugin/LensPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/LensPanel.cpp 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/LensPanel.cpp 2008-08-21 04:42:42 UTC (rev 3344) @@ -195,16 +195,9 @@ m_pixelDigits = wxConfigBase::Get()->Read(wxT("/General/PixelFractionalDigitsEdit"),2); m_distDigitsEdit = wxConfigBase::Get()->Read(wxT("/General/DistortionFractionalDigitsEdit"),5); - m_lens_ctrls = XRCCTRL(*this, "lens_control_panel", wxScrolledWindow); + m_lens_ctrls = XRCCTRL(*this, "lens_control_panel", wxPanel); DEBUG_ASSERT(m_lens_ctrls); -#ifndef __WXMSW__ - // make window scrollable. - // disabled on windows due to a bug in wxwidgets - m_lens_ctrls->FitInside(); - m_lens_ctrls->SetScrollRate(10, 10); -#endif - // dummy to disable controls wxListEvent ev; ListSelectionChanged(ev); Modified: hugin/trunk/src/hugin1/hugin/LensPanel.h =================================================================== --- hugin/trunk/src/hugin1/hugin/LensPanel.h 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/LensPanel.h 2008-08-21 04:42:42 UTC (rev 3344) @@ -135,7 +135,7 @@ int m_distDigitsEdit; int m_pixelDigits; - wxScrolledWindow *m_lens_ctrls; + wxPanel *m_lens_ctrls; bool m_restoreLayoutOnResize; Modified: hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc 2008-08-21 04:42:42 UTC (rev 3344) @@ -4,7 +4,7 @@ <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxScrolledWindow" name="cp_controls_panel"> + <object class="wxPanel" name="cp_controls_panel"> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> Modified: hugin/trunk/src/hugin1/hugin/xrc/images_panel.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/images_panel.xrc 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/xrc/images_panel.xrc 2008-08-21 04:42:42 UTC (rev 3344) @@ -5,7 +5,7 @@ <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxScrolledWindow" name="image_control_panel"> + <object class="wxPanel" name="image_control_panel"> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> Modified: hugin/trunk/src/hugin1/hugin/xrc/lens_panel.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/lens_panel.xrc 2008-08-21 02:47:04 UTC (rev 3343) +++ hugin/trunk/src/hugin1/hugin/xrc/lens_panel.xrc 2008-08-21 04:42:42 UTC (rev 3344) @@ -5,7 +5,7 @@ <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxScrolledWindow" name="lens_control_panel"> + <object class="wxPanel" name="lens_control_panel"> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> @@ -81,398 +81,235 @@ <flag>wxEXPAND</flag> </object> <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxNotebook"> - <object class="notebookpage"> - <label>Geometric</label> - <object class="wxPanel"> + <object class="wxNotebook"> + <object class="notebookpage"> + <label>Geometric</label> + <object class="wxPanel"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> + <orient>wxVERTICAL</orient> <object class="sizeritem"> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> + <object class="wxStaticText"> + <label>Lens</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <flag>wxBOTTOM</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> <object class="sizeritem"> <object class="wxStaticText"> - <label>Lens</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> + <label>Type:</label> + <style>wxALIGN_RIGHT</style> </object> - <flag>wxBOTTOM</flag> - <border>6</border> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Type:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="lens_val_projectionFormat"> - <content> - <item>Normal (rectilinear)</item> - <item>Panoramic (cylindrical)</item> - <item>Circular fisheye</item> - <item>Full frame fisheye</item> - <item>Equirectangular</item> - </content> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <cols>2</cols> - <hgap>6</hgap> - <growablecols>1</growablecols> + <object class="wxChoice" name="lens_val_projectionFormat"> + <content> + <item>Normal (rectilinear)</item> + <item>Panoramic (cylindrical)</item> + <item>Circular fisheye</item> + <item>Full frame fisheye</item> + <item>Equirectangular</item> + </content> </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> - <object class="spacer"> - <size>0,6</size> + <cols>2</cols> + <hgap>6</hgap> + <growablecols>1</growablecols> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> + </object> + <object class="spacer"> + <size>0,6</size> + </object> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> + <cols>3</cols> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>degrees of view (v):</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <cols>3</cols> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>degrees of view (v):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_v"> - <size>65,-1</size> - <tooltip>Horizontal Field of View</tooltip> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_v"> - <label>Link</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>focal length:</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_focalLength"> - <size>65,-1</size> - <tooltip>true focal length in mm</tooltip> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxEXPAND</flag> - </object> - <rows>3</rows> - <vgap>5</vgap> - <hgap>6</hgap> - <object class="spacer"> - <size>0,0</size> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>crop factor:</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_flFactor"> - <size>65,-1</size> - <style>wxTE_PROCESS_ENTER</style> - <tooltip>35mm film diameter / ccd diameter</tooltip> - </object> - <flag>wxEXPAND</flag> - </object> + <object class="wxTextCtrl" name="lens_val_v"> + <size>65,-1</size> + <tooltip>Horizontal Field of View</tooltip> + <style>wxTE_PROCESS_ENTER</style> </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> + <flag>wxEXPAND</flag> </object> + <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_v"> + <label>Link</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>focal length:</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_focalLength"> + <size>65,-1</size> + <tooltip>true focal length in mm</tooltip> + <style>wxTE_PROCESS_ENTER</style> + </object> + <flag>wxEXPAND</flag> + </object> + <rows>3</rows> + <vgap>5</vgap> + <hgap>6</hgap> <object class="spacer"> - <size>0,6</size> + <size>0,0</size> </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>crop factor:</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_flFactor"> + <size>65,-1</size> + <style>wxTE_PROCESS_ENTER</style> + <tooltip>35mm film diameter / ccd diameter</tooltip> + </object> + <flag>wxEXPAND</flag> + </object> </object> - <flag>wxTOP|wxLEFT|wxEXPAND</flag> - <border>6</border> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> </object> + <object class="spacer"> + <size>0,6</size> + </object> </object> + <flag>wxTOP|wxLEFT|wxEXPAND</flag> + <border>6</border> </object> + </object> + </object> + <object class="sizeritem"> + <object class="wxStaticLine"> + <style>wxLI_VERTICAL</style> + </object> + <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> + <border>10</border> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxStaticLine"> - <style>wxLI_VERTICAL</style> - </object> - <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> - <border>10</border> - </object> - <object class="sizeritem"> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> + <object class="wxStaticText"> + <label>Radial Distortion</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <flag>wxBOTTOM</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> + <cols>3</cols> <object class="sizeritem"> <object class="wxStaticText"> - <label>Radial Distortion</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> + <label>distortion (a):</label> </object> - <flag>wxBOTTOM</flag> - <border>6</border> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <cols>3</cols> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>distortion (a):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_a"> - <size>65,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_a"> - <label>Link</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>barrel (b):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_b"> - <size>65,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_b"> - <label>Link</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>distortion (c):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_c"> - <size>65,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_c"> - <label>Link</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <rows>3</rows> - <vgap>5</vgap> - <hgap>6</hgap> + <object class="wxTextCtrl" name="lens_val_a"> + <size>65,-1</size> + <style>wxTE_PROCESS_ENTER</style> </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> + <flag>wxEXPAND</flag> </object> - </object> - <flag>wxTOP|wxLEFT|wxEXPAND</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_a"> + <label>Link</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> <object class="wxStaticText"> - <label>Image Center Shift</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> + <label>barrel (b):</label> </object> - <flag>wxBOTTOM</flag> - <border>6</border> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <cols>3</cols> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>horizontal (d):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_d"> - <style>wxTE_PROCESS_ENTER</style> - <size>65,-1</size> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_d"> - <label>Link</label> - <style></style> - </object> - <style>wxALIGN_CENTRE_VERTICAL</style> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>vertical (e):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_e"> - <style>wxTE_PROCESS_ENTER</style> - <size>65,-1</size> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_e"> - <label>Link</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <rows>2</rows> - <vgap>5</vgap> - <hgap>6</hgap> + <object class="wxTextCtrl" name="lens_val_b"> + <size>65,-1</size> + <style>wxTE_PROCESS_ENTER</style> </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> + <flag>wxEXPAND</flag> </object> - </object> - <flag>wxALL</flag> - <border>6</border> - </object> - </object> - </object> - <object class="sizeritem"> - <object class="wxStaticLine"> - <style>wxLI_VERTICAL</style> - </object> - <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> - <border>10</border> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_b"> + <label>Link</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> <object class="wxStaticText"> - <label>Image Shearing</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> + <label>distortion (c):</label> </object> - <flag>wxBOTTOM</flag> - <border>6</border> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <cols>3</cols> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>horizontal (g):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_g"> - <style>wxTE_PROCESS_ENTER</style> - <size>65,-1</size> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_g"> - <label>Link</label> - </object> - <style>wxALIGN_CENTRE_VERTICAL</style> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>vertical (t):</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_t"> - <style>wxTE_PROCESS_ENTER</style> - <size>65,-1</size> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_t"> - <label>Link</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <rows>2</rows> - <vgap>5</vgap> - <hgap>6</hgap> + <object class="wxTextCtrl" name="lens_val_c"> + <size>65,-1</size> + <style>wxTE_PROCESS_ENTER</style> </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> + <flag>wxEXPAND</flag> </object> + <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_c"> + <label>Link</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <rows>3</rows> + <vgap>5</vgap> + <hgap>6</hgap> </object> - <flag>wxTOP|wxLEFT|wxRIGHT</flag> - <border>6</border> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> </object> </object> + <flag>wxTOP|wxLEFT|wxEXPAND</flag> + <border>6</border> </object> - </object> - <style>wxTAB_TRAVERSAL</style> - </object> - </object> - <object class="notebookpage"> - <label>Photometric</label> - <object class="wxPanel"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> <object class="sizeritem"> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> <object class="wxStaticText"> - <label>Exposure and Color</label> + <label>Image Center Shift</label> <font> <style platform="mac">normal</style> <family platform="mac">swiss</family> @@ -488,352 +325,509 @@ <cols>3</cols> <object class="sizeritem"> <object class="wxStaticText"> - <label>Exposure (EV)</label> + <label>horizontal (d):</label> </object> - <flag>wxTOP|wxALIGN_CENTRE_VERTICAL</flag> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_Eev"> + <object class="wxTextCtrl" name="lens_val_d"> <style>wxTE_PROCESS_ENTER</style> <size>65,-1</size> </object> - <flag>wxTOP|wxEXPAND</flag> + <flag>wxEXPAND</flag> </object> <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_Eev"> + <object class="wxCheckBox" name="lens_inherit_d"> <label>Link</label> + <style></style> </object> - <flag>wxTOP|wxALIGN_CENTRE_VERTICAL</flag> + <style>wxALIGN_CENTRE_VERTICAL</style> </object> <object class="sizeritem"> <object class="wxStaticText"> - <label>Red multiplier:</label> + <label>vertical (e):</label> </object> <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_Er"> + <object class="wxTextCtrl" name="lens_val_e"> <style>wxTE_PROCESS_ENTER</style> <size>65,-1</size> </object> <flag>wxEXPAND</flag> </object> <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_Er"> + <object class="wxCheckBox" name="lens_inherit_e"> <label>Link</label> </object> <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> + <rows>2</rows> + <vgap>5</vgap> + <hgap>6</hgap> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> + </object> + </object> + <flag>wxALL</flag> + <border>6</border> + </object> + </object> + </object> + <object class="sizeritem"> + <object class="wxStaticLine"> + <style>wxLI_VERTICAL</style> + </object> + <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> + <border>10</border> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Image Shearing</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <flag>wxBOTTOM</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> + <cols>3</cols> <object class="sizeritem"> <object class="wxStaticText"> - <label>Blue multiplier:</label> + <label>horizontal (g):</label> </object> <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_Eb"> + <object class="wxTextCtrl" name="lens_val_g"> <style>wxTE_PROCESS_ENTER</style> <size>65,-1</size> </object> <flag>wxEXPAND</flag> </object> <object class="sizeritem"> - <object class="wxCheckBox" name="lens_inherit_Eb"> + <object class="wxCheckBox" name="lens_inherit_g"> <label>Link</label> </object> + <style>wxALIGN_CENTRE_VERTICAL</style> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>vertical (t):</label> + </object> <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> - <rows>4</rows> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_t"> + <style>wxTE_PROCESS_ENTER</style> + <size>65,-1</size> + </object> + <flag>wxEXPAND</flag> + </object> + <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_t"> + <label>Link</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <rows>2</rows> <vgap>5</vgap> <hgap>6</hgap> </object> <flag>wxLEFT|wxEXPAND</flag> <border>12</border> </object> - <object class="spacer"> - <size>0,6</size> - </object> </object> - <flag>wxALL|wxEXPAND</flag> + <flag>wxTOP|wxLEFT|wxRIGHT</flag> <border>6</border> </object> + </object> + </object> + </object> + <style>wxTAB_TRAVERSAL</style> + </object> + </object> + <object class="notebookpage"> + <label>Photometric</label> + <object class="wxPanel"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxStaticLine"> - <style>wxLI_VERTICAL</style> + <object class="wxStaticText"> + <label>Exposure and Color</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> </object> - <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> - <border>10</border> + <flag>wxBOTTOM</flag> + <border>6</border> </object> <object class="sizeritem"> + <object class="wxFlexGridSizer"> + <cols>3</cols> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Exposure (EV)</label> + </object> + <flag>wxTOP|wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_Eev"> + <style>wxTE_PROCESS_ENTER</style> + <size>65,-1</size> + </object> + <flag>wxTOP|wxEXPAND</flag> + </object> + <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_Eev"> + <label>Link</label> + </object> + <flag>wxTOP|wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Red multiplier:</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_Er"> + <style>wxTE_PROCESS_ENTER</style> + <size>65,-1</size> + </object> + <flag>wxEXPAND</flag> + </object> + <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_Er"> + <label>Link</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Blue multiplier:</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_Eb"> + <style>wxTE_PROCESS_ENTER</style> + <size>65,-1</size> + </object> + <flag>wxEXPAND</flag> + </object> + <object class="sizeritem"> + <object class="wxCheckBox" name="lens_inherit_Eb"> + <label>Link</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <rows>4</rows> + <vgap>5</vgap> + <hgap>6</hgap> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> + </object> + <object class="spacer"> + <size>0,6</size> + </object> + </object> + <flag>wxALL|wxEXPAND</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxStaticLine"> + <style>wxLI_VERTICAL</style> + </object> + <flag>wxLEFT|wxRIGHT|wxEXPAND</flag> + <border>10</border> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> <object class="wxBoxSizer"> <orient>wxVERTICAL</orient> <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> + <object class="wxStaticText"> + <label>Vignetting</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <flag>wxBOTTOM</flag> + <border>6</border> + </object> + <object class="spacer"> + <size>0,6</size> + </object> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_Vb"/> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + <minsize>50,-1</minsize> + </object> + <object class="sizeritem"> <object class="wxStaticText"> - <label>Vignetting</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> + <label>* r^2</label> </object> - <flag>wxBOTTOM</flag> - <border>6</border> + <flag>wxALIGN_CENTRE_VERTICAL</flag> </object> - <object class="spacer"> - <size>0,6</size> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lens_val_Vc"/> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + <minsize>50,-1</minsize> </object> <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_Vb"/> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - <minsize>50,-1</minsize> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>* r^2</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lens_val_Vc"/> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - <minsiz... [truncated message content] |
From: <ip...@us...> - 2008-08-21 04:52:11
|
Revision: 3346 http://hugin.svn.sourceforge.net/hugin/?rev=3346&view=rev Author: ippei Date: 2008-08-21 04:52:08 +0000 (Thu, 21 Aug 2008) Log Message: ----------- Is the background colouring for debug build still necessary? Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/CropPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp hugin/trunk/src/hugin1/hugin/LensPanel.cpp hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2008-08-21 04:43:10 UTC (rev 3345) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2008-08-21 04:52:08 UTC (rev 3346) @@ -131,11 +131,6 @@ SetSizer( topsizer ); //topsizer->SetSizeHints( this ); -#ifdef DEBUG - SetBackgroundColour(wxTheColourDatabase->Find(wxT("RED"))); - panel->SetBackgroundColour(wxTheColourDatabase->Find(wxT("BLUE"))); -#endif - m_imagesText = XRCCTRL(*this, "ass_load_images_text", wxStaticText); DEBUG_ASSERT(m_imagesText); Modified: hugin/trunk/src/hugin1/hugin/CropPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CropPanel.cpp 2008-08-21 04:43:10 UTC (rev 3345) +++ hugin/trunk/src/hugin1/hugin/CropPanel.cpp 2008-08-21 04:52:08 UTC (rev 3346) @@ -83,11 +83,6 @@ topsizer->Add(panel, 1, wxEXPAND, 0); SetSizer(topsizer); -#ifdef DEBUG - SetBackgroundColour(wxTheColourDatabase->Find(wxT("RED"))); - panel->SetBackgroundColour(wxTheColourDatabase->Find(wxT("BLUE"))); -#endif - // get custom sub widgets m_imagesList = XRCCTRL(*this, "crop_list_unknown", ImagesListCrop); DEBUG_ASSERT(m_imagesList); Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-08-21 04:43:10 UTC (rev 3345) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-08-21 04:52:08 UTC (rev 3346) @@ -100,11 +100,6 @@ topsizer->Add(panel, 1, wxEXPAND, 0); SetSizer(topsizer); -#ifdef DEBUG - SetBackgroundColour(wxTheColourDatabase->Find(wxT("RED"))); - panel->SetBackgroundColour(wxTheColourDatabase->Find(wxT("BLUE"))); -#endif - DEBUG_TRACE(""); m_showImgNr = INT_MAX; Modified: hugin/trunk/src/hugin1/hugin/LensPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/LensPanel.cpp 2008-08-21 04:43:10 UTC (rev 3345) +++ hugin/trunk/src/hugin1/hugin/LensPanel.cpp 2008-08-21 04:52:08 UTC (rev 3346) @@ -148,11 +148,6 @@ SetSizer( topsizer ); //topsizer->SetSizeHints( panel ); -#ifdef DEBUG - SetBackgroundColour(wxTheColourDatabase->Find(wxT("RED"))); - panel->SetBackgroundColour(wxTheColourDatabase->Find(wxT("BLUE"))); -#endif - // The following control creates itself. We dont care about xrc loading. images_list = XRCCTRL(*this, "lenses_list_unknown", ImagesListLens); assert(images_list); Modified: hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp 2008-08-21 04:43:10 UTC (rev 3345) +++ hugin/trunk/src/hugin1/hugin/OptimizePanel.cpp 2008-08-21 04:52:08 UTC (rev 3346) @@ -98,10 +98,6 @@ topsizer->Add(panel, 1, wxEXPAND, 0); SetSizer( topsizer ); -#ifdef DEBUG - SetBackgroundColour(wxTheColourDatabase->Find(wxT("RED"))); - panel->SetBackgroundColour(wxTheColourDatabase->Find(wxT("BLUE"))); -#endif m_only_active_images_cb = XRCCTRL(*this, "optimizer_only_active_images", wxCheckBox); DEBUG_ASSERT(m_only_active_images_cb); m_only_active_images_cb->SetValue(wxConfigBase::Get()->Read(wxT("/OptimizePanel/OnlyActiveImages"),1l)); Modified: hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp 2008-08-21 04:43:10 UTC (rev 3345) +++ hugin/trunk/src/hugin1/hugin/OptimizePhotometricPanel.cpp 2008-08-21 04:52:08 UTC (rev 3346) @@ -88,11 +88,6 @@ topsizer->Add(panel, 1, wxEXPAND, 0); SetSizer(topsizer); -#ifdef DEBUG - SetBackgroundColour(wxTheColourDatabase->Find(wxT("RED"))); - panel->SetBackgroundColour(wxTheColourDatabase->Find(wxT("BLUE"))); -#endif - m_only_active_images_cb = XRCCTRL(*this, "optimize_photo_only_active_images", wxCheckBox); DEBUG_ASSERT(m_only_active_images_cb); m_only_active_images_cb->SetValue(wxConfigBase::Get()->Read(wxT("/OptimizeOptimizePhotometricPanelPanel/OnlyActiveImages"),1l)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ip...@us...> - 2008-08-23 02:41:34
|
Revision: 3351 http://hugin.svn.sourceforge.net/hugin/?rev=3351&view=rev Author: ippei Date: 2008-08-23 02:41:31 +0000 (Sat, 23 Aug 2008) Log Message: ----------- Stitcher panel UI adjustment Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/PanoPanel.cpp hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc Modified: hugin/trunk/src/hugin1/hugin/PanoPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2008-08-22 09:47:45 UTC (rev 3350) +++ hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2008-08-23 02:41:31 UTC (rev 3351) @@ -710,6 +710,7 @@ wxCheckBox * cropped_cb = XRCCTRL(dlg, "nona_save_cropped", wxCheckBox); interpol_choice->SetSelection(opt.interpolator); cropped_cb->SetValue(opt.tiff_saveROI); + dlg.CentreOnParent(); if (dlg.ShowModal() == wxID_OK) { int interpol = interpol_choice->GetSelection(); @@ -761,6 +762,7 @@ wxXmlResource::Get()->LoadDialog(&dlg, this, wxT("enblend_options_dialog")); wxTextCtrl * enblend_opts_text = XRCCTRL(dlg, "blender_arguments_text", wxTextCtrl); enblend_opts_text->SetValue(wxString(opt.enblendOptions.c_str(), wxConvLocal)); + dlg.CentreOnParent(); if (dlg.ShowModal() == wxID_OK) { if (enblend_opts_text->GetValue().length() > 0) { @@ -808,6 +810,7 @@ void PanoPanel::OnHDRMergeOptions(wxCommandEvent & e) { +#warning TODO: implementation before 0.7 release wxLogError(_("Not yet implemented")); } Modified: hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc 2008-08-22 09:47:45 UTC (rev 3350) +++ hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc 2008-08-23 02:41:31 UTC (rev 3351) @@ -1,971 +1,1018 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<resource> - <object class="wxDialog" name="nona_options_dialog"> - <object class="wxBoxSizer"> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Interpolator (i):</label> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="nona_choice_interpolator"> - <content> - <item>Poly3 (Bicubic)</item> - <item>Spline 16</item> - <item>Spline 36</item> - <item>Sinc 256</item> - <item>Spline 64</item> - <item>Bilinear</item> - <item>Nearest neighbor</item> - <item>Sinc 1024</item> - </content> - <selection>0</selection> - <tooltip>approximation of values between source pixels</tooltip> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - </object> - <flag>wxALL|wxEXPAND|wxADJUST_MINSIZE</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="nona_save_cropped"> - <label>Save cropped images</label> - <tooltip>Save cropped tiff output. Useful for enblend 2.4 and higher.</tooltip> - </object> - <flag>wxBOTTOM|wxLEFT|wxEXPAND|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="spacer"> - <size>10,10</size> - <option>1</option> - <flag></flag> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_OK"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_CANCEL"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>6</border> - </object> - </object> - <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> - <border>6</border> - </object> - </object> - <title>Nona Options</title> - </object> - <object class="wxDialog" name="enblend_options_dialog"> - <object class="wxBoxSizer"> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Command line options</label> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="blender_arguments_text"/> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - <minsize>300,-1</minsize> - </object> - </object> - <flag>wxALL|wxEXPAND|wxADJUST_MINSIZE</flag> - <border>6</border> - </object> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="spacer"> - <size>10,10</size> - <option>1</option> - <flag></flag> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_OK"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_CANCEL"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>6</border> - </object> - </object> - <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> - <border>6</border> - </object> - </object> - <title>Blender Options</title> - </object> - <object class="wxDialog" name="enfuse_options_dialog"> - <object class="wxBoxSizer"> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Command line options</label> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="enfuse_arguments_text"/> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - <minsize>300,-1</minsize> - </object> - </object> - <flag>wxALL|wxEXPAND|wxADJUST_MINSIZE</flag> - <border>6</border> - </object> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="spacer"> - <size>10,10</size> - <option>1</option> - <flag></flag> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_OK"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_CANCEL"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>6</border> - </object> - </object> - <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> - <border>6</border> - </object> - </object> - <title>Enfuse options</title> - </object> - <object class="wxPanel" name="panorama_panel"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxScrolledWindow" name="pano_controls_panel"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Panorama</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> - </object> - <flag></flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>projection (f):</label> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_pano_type"> - <content/> - <selection>2</selection> - </object> - <flag>wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - </object> - <flag>wxLEFT</flag> - <border>12</border> - </object> - <object class="sizeritem"> - <object class="wxGridBagSizer"> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Field of View</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> - </object> - <flag></flag> - <border>6</border> - <cellpos>0,0</cellpos> - <cellspan>0,4</cellspan> - </object> - <object class="sizeritem"> - <cellpos>1,0</cellpos> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <object class="wxStaticText"> - <label>horizontal (v):</label> - </object> - <border>6</border> - </object> - <object class="sizeritem"> - <cellpos>1,1</cellpos> - <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <object class="wxTextCtrl" name="pano_text_hfov"> - <size>60,-1</size> - </object> - </object> - <object class="sizeritem"> - <cellpos>1,2</cellpos> - <flag>wxRIGHT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <object class="wxStaticText"> - <label>vertical:</label> - </object> - </object> - <object class="sizeritem"> - <cellpos>1,3</cellpos> - <flag>wxRIGHT|wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <object class="wxTextCtrl" name="pano_text_vfov"> - <size>60,-1</size> - </object> - </object> - <object class="sizeritem"> - <cellpos>1,4</cellpos> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - <object class="wxButton" name="pano_button_calc_fov"> - <label>Calculate Field of View</label> - </object> - <border>6</border> - <flag>wxALL</flag> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Panorama Canvas Size</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> - </object> - <flag>wxTOP</flag> - <border>6</border> - <cellpos>2,0</cellpos> - <cellspan>0,4</cellspan> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>width:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - <cellpos>3,0</cellpos> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="pano_val_width"> - <size>60,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,1</cellpos> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>height:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,2</cellpos> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="pano_val_height"> - <size>60,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,3</cellpos> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_opt_width"> - <label>Calculate Optimal Size</label> - <tooltip>Calculate optimal image size, such that the resolution in the image center stays similar.</tooltip> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,4</cellpos> - </object> - <hgap>6</hgap> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Crop</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> - </object> - <flag>wxTOP</flag> - <border>6</border> - <cellpos>4,0</cellpos> - <cellspan>0,4</cellspan> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>left:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - <cellpos>3,0</cellpos> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="pano_val_roi_left"> - <size>60,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,1</cellpos> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>top:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,2</cellpos> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="pano_val_roi_top"> - <size>60,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,3</cellpos> - </object> - </object> - <flag>wxLEFT</flag> - <border>6</border> - <cellpos>5,0</cellpos> - <cellspan>0,2</cellspan> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>right:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,2</cellpos> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="pano_val_roi_right"> - <size>60,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,3</cellpos> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>bottom:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,2</cellpos> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="pano_val_roi_bottom"> - <size>60,-1</size> - <style>wxTE_PROCESS_ENTER</style> - </object> - <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> - <cellpos>3,3</cellpos> - </object> - </object> - <cellpos>5,2</cellpos> - <cellspan>0,3</cellspan> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Output</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> - </object> - <flag>wxTOP|wxBOTTOM</flag> - <border>6</border> - <cellpos>6,0</cellpos> - <cellspan>0,4</cellspan> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name=""> - <label>Normal</label> - <tooltip>For panoramas consisting of images with similar exposure</tooltip> - </object> - <flag>wxLEFT</flag> - <border>6</border> - <cellpos>7,0</cellpos> - <cellspan>0,2</cellspan> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name=""> - <label>Exposure Blending</label> - <tooltip>For panoramas consisting of images with varying exposure</tooltip> - </object> - <cellpos>7,2</cellpos> - <cellspan>0,2</cellspan> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name=""> - <label>Merge to HDR</label> - <tooltip>For panoramas consisting of images with varying exposure</tooltip> - </object> - <cellpos>7,4</cellpos> - <cellspan>0,2</cellspan> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_ldr_output_blended"> - <label>Blended panorama</label> - <tooltip>Blend all images into a seamless panorama. Use if all images have similar exposure</tooltip> - </object> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_ldr_output_layers"> - <label>Remapped images</label> - <tooltip>Output remapped images with exposure correction</tooltip> - </object> - </object> - </object> - <flag>wxLEFT</flag> - <border>12</border> - <cellpos>8,0</cellpos> - <cellspan>0,2</cellspan> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_ldr_output_exposure_blended"> - <label>Blended panorama (enfuse)</label> - <tooltip>Fully automatic exposure blending</tooltip> - </object> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_ldr_output_exposure_layers"> - <label>Blended exposure layers</label> - <tooltip>Output a complete blended panorama of each exposure. Useful for manual exposure blending, for example in Photoshop or Gimp</tooltip> - </object> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_ldr_output_exposure_remapped"> - <label>Remapped images</label> - <tooltip>Output remapped images with original exposure</tooltip> - </object> - </object> - </object> - <flag>wxLEFT</flag> - <border>12</border> - <cellpos>8,2</cellpos> - <cellspan>0,2</cellspan> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_hdr_output_blended"> - <label>Blended HDR panorama</label> - <tooltip>Output a blended high dynamic range panorama</tooltip> - </object> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_hdr_output_stacks"> - <label>Stacked HDR images</label> - <tooltip>Output the individual, remapped HDR stacks</tooltip> - </object> - </object> - <object class="sizeritem"> - <object class="wxCheckBox" name="pano_cb_hdr_output_layers"> - <label>Individual non merged images</label> - <tooltip>Output remapped images in a linear color space</tooltip> - </object> - </object> - </object> - <flag>wxLEFT</flag> - <border>12</border> - <cellpos>8,4</cellpos> - <cellspan>0,2</cellspan> - </object> - </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> - </object> - <object class="spacer"> - <size>0,12</size> - <option>0</option> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_stitch"> - <label>Stitch now!</label> - </object> - <flag>wxRIGHT</flag> - <border>12</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_batch"> - <label>Save project and send to batch</label> - <enabled>0</enabled> - </object> - </object> - </object> - </object> - <object class="spacer"> - <size>0,12</size> - <option>0</option> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Processing</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> - </object> - <flag>wxTOP</flag> - <border>6</border> - <cellpos>4,0</cellpos> - <cellspan>0,4</cellspan> - </object> - <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <cols>3</cols> - <rows>2</rows> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Remapper:</label> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_remapper"> - <content> - <item>Nona</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_remapper_opts"> - <label>Options</label> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name="pano_text_fusion"> - <label>Image fusion:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_fusion"> - <content> - <item>enfuse</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_fusion_opts"> - <label>Options</label> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name="pano_text_hdrmerge"> - <label>HDR merger:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_hdrmerge"> - <content> - <item>builtin</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_hdrmerge_opts"> - <label>Options</label> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name="pano_text_blender"> - <label>Blender:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_blender"> - <content> - <item>enblend</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_blender_opts"> - <label>Options</label> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - </object> - </object> - </object> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>File formats</label> - <font> - <style platform="mac">normal</style> - <family platform="mac">swiss</family> - <weight>bold</weight> - <size platform="mac">12</size> - </font> - </object> - <flag>wxTOP</flag> - <border>6</border> - <cellpos>4,0</cellpos> - <cellspan>0,4</cellspan> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <cols>3</cols> - <rows>2</rows> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Normal Output:</label> - </object> - <flag>wxLEFT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_file_format"> - <content> - <item>TIFF</item> - <item>JPEG</item> - <item>PNG</item> - <item>EXR</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxPanel" name="pano_output_normal_opts_jpeg"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Quality:</label> - </object> - <flag>wxLEFT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="pano_output_normal_opts_jpeg_quality"> - <value>100</value> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL|wxADJUST_MINSIZE</flag> - <border>6</border> - <minsize>60,-1</minsize> - </object> - </object> - </object> - <flag></flag> - </object> - <object class="sizeritem"> - <object class="wxPanel" name="pano_output_normal_opts_tiff"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Compression:</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_output_normal_opts_tiff_compression"> - <content> - <item>None</item> - <item>Packbits</item> - <item>LZW</item> - <item>Deflate</item> - </content> - </object> - <flag>wxLEFT|wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - </object> - </object> - </object> - </object> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>HDR Output:</label> - </object> - <flag>wxLEFT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_hdr_file_format"> - <content> - <item>EXR</item> - <item>TIFF</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxPanel" name="pano_output_hdr_opts_tiff"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Compression:</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_output_hdr_opts_tiff_compression"> - <content> - <item>None</item> - <item>Packbits</item> - <item>LZW</item> - <item>Deflate</item> - </content> - </object> - <flag>wxLEFT|wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - <flag>wxLEFT|wxEXPAND|wxADJUST_MINSIZE</flag> - <border>6</border> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - </object> - <style>wxTAB_TRAVERSAL</style> - </object> - <option>1</option> - <flag>wxTOP|wxLEFT|wxEXPAND</flag> - <border>10</border> - </object> - </object> - <style>wxTAB_TRAVERSAL</style> - </object> - <object class="wxDialog" name="workbench"> - <title></title> - <object class="wxFlexGridSizer"> - <cols>3</cols> - <rows>2</rows> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Remapper:</label> - </object> - <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_remapper"> - <content> - <item>Nona</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_remapper_opts"> - <label>Options</label> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name="pano_text_fusion"> - <label>Image fusion:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_fusion"> - <content> - <item>enfuse</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_fusion_opts"> - <label>Options</label> - <enabled>0</enabled> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name="pano_text_hdrmerge"> - <label>HDR merger:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_hdrmerge"> - <content> - <item>builtin</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_hdrmerge_opts"> - <label>Options</label> - <enabled>0</enabled> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name="pano_text_blender"> - <label>Blender:</label> - </object> - <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>14</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="pano_choice_blender"> - <content> - <item>enblend</item> - </content> - <selection>0</selection> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="pano_button_blender_opts"> - <label>Options</label> - <enabled>0</enabled> - </object> - <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - </object> - </object> -</resource> +<?xml version="1.0" encoding="ISO-8859-1"?> +<resource> + <object class="wxDialog" name="nona_options_dialog"> + <object class="wxBoxSizer"> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Interpolator (i):</label> + </object> + <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxChoice" name="nona_choice_interpolator"> + <content> + <item>Poly3 (Bicubic)</item> + <item>Spline 16</item> + <item>Spline 36</item> + <item>Sinc 256</item> + <item>Spline 64</item> + <item>Bilinear</item> + <item>Nearest neighbor</item> + <item>Sinc 1024</item> + </content> + <selection>0</selection> + <tooltip>approximation of values between source pixels</tooltip> + </object> + <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + </object> + </object> + <flag>wxALL|wxEXPAND|wxADJUST_MINSIZE</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxCheckBox" name="nona_save_cropped"> + <label>Save cropped images</label> + <tooltip>Save cropped tiff output. Useful for enblend 2.4 and higher.</tooltip> + </object> + <flag>wxBOTTOM|wxLEFT|wxEXPAND|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + </object> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="spacer"> + <size>10,10</size> + <option>1</option> + <flag></flag> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_OK"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_CANCEL"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>6</border> + </object> + </object> + <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>6</border> + </object> + </object> + <title>Nona Options</title> + </object> + <object class="wxDialog" name="enblend_options_dialog"> + <object class="wxBoxSizer"> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Command line options</label> + </object> + <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="blender_arguments_text"/> + <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + <minsize>300,-1</minsize> + </object> + </object> + <flag>wxALL|wxEXPAND|wxADJUST_MINSIZE</flag> + <border>6</border> + </object> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="spacer"> + <size>10,10</size> + <option>1</option> + <flag></flag> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_OK"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_CANCEL"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>6</border> + </object> + </object> + <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>6</border> + </object> + </object> + <title>Blender Options</title> + </object> + <object class="wxDialog" name="enfuse_options_dialog"> + <object class="wxBoxSizer"> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Command line options</label> + </object> + <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="enfuse_arguments_text"/> + <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + <minsize>300,-1</minsize> + </object> + </object> + <flag>wxALL|wxEXPAND|wxADJUST_MINSIZE</flag> + <border>6</border> + </object> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="spacer"> + <size>10,10</size> + <option>1</option> + <flag></flag> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_OK"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_CANCEL"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>6</border> + </object> + </object> + <flag>wxTOP|wxBOTTOM|wxEXPAND</flag> + <border>6</border> + </object> + </object> + <title>Enfuse options</title> + </object> + <object class="wxPanel" name="panorama_panel"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxScrolledWindow" name="pano_controls_panel"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Panorama</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <flag>wxALIGN_BOTTOM</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>projection (f):</label> + </object> + <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxChoice" name="pano_choice_pano_type"> + <content/> + <selection>2</selection> + </object> + <flag>wxRIGHT|wxTOP|wxBOTTOM|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + </object> + </object> + <flag>wxLEFT</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxGridBagSizer"> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Field of View</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <flag>wxALIGN_BOTTOM</flag> + <cellpos>0,0</cellpos> + <cellspan>0,4</cellspan> + </object> + <object class="sizeritem"> + <cellpos>1,0</cellpos> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> + <object class="wxStaticText"> + <label>horizontal (v):</label> + </object> + <border>6</border> + </object> + <object class="sizeritem"> + <cellpos>1,1</cellpos> + <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> + <object class="wxTextCtrl" name="pano_text_hfov"> + <size>60,-1</size> + </object> + </object> + <object class="sizeritem"> + <cellpos>1,2</cellpos> + <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> + <object class="wxStaticText"> + <label>vertical:</label> + </object> + </object> + <object class="sizeritem"> + <cellpos>1,3</cellpos> + <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> + <object class="wxTextCtrl" name="pano_text_vfov"> + <size>60,-1</size> + </object> + </object> + <object class="sizeritem"> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + <object class="wxButton" name="pano_button_calc_fov"> + <label>Calculate Field of View</label> + </object> + <flag>wxLEFT|wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + <cellpos>1,4</cellpos> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Panorama Canvas Size</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <flag>wxTOP|wxALIGN_BOTTOM</flag> + <border>3</border> + <cellpos>2,0</cellpos> + <cellspan>0,4</cellspan> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>width:</label> + </object> + <flag>wxLEFT|wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + <cellpos>3,0</cellpos> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="pano_val_width"> + <size>60,-1</size> + <style>wxTE_PROCESS_ENTER</style> + </object> + <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> + <cellpos>3,1</cellpos> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>height:</label> + <style>wxALIGN_RIGHT</style> + </object> + <flag>wxALIGN_RIGHT|wxALIGN_CENTRE_VERTICAL</flag> + <cellpos>3,2</cellpos> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="pano_val_height"> + <size>60,-1</size> + <style>wxTE_PROCESS_ENTER</style> + </object> + <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> + <cellpos>3,3</cellpos> + </object> + <object class="sizeritem"> + <object class="wxButton" name="pano_button_opt_width"> + <label>Calculate Optimal Size</label> + <tooltip>Calculate optimal image size, such that the resolution in the image center stays similar.</tooltip> + </object> + <flag>wxALIGN_LEFT|wxALIGN_CENTRE_VERTICAL</flag> + <cellpos>3,4</cellpos> + </object> + <vgap>5</vgap> + <hgap>6</hgap> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Crop</label> + <font> + <style platform="mac">normal</style> + <family platform="mac">swiss</family> + <weight>bold</weight> + <size platform="mac">12</size> + </font> + </object> + <cellpos>4,0</cellpos> + <cellspan>0,4</cellspan> + <flag>wxTOP|wxALIGN_BOTTOM</flag> + <bor... [truncated message content] |
From: <ip...@us...> - 2008-08-30 09:43:06
|
Revision: 3380 http://hugin.svn.sourceforge.net/hugin/?rev=3380&view=rev Author: ippei Date: 2008-08-30 09:43:02 +0000 (Sat, 30 Aug 2008) Log Message: ----------- remove scrolling from assistant panel Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/AssistantPanel.h hugin/trunk/src/hugin1/hugin/xrc/assistant_panel.xrc Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2008-08-30 06:16:13 UTC (rev 3379) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2008-08-30 09:43:02 UTC (rev 3380) @@ -168,11 +168,10 @@ m_druid->Update(m_pano); */ - m_panel = XRCCTRL(*this, "ass_control_panel", wxScrolledWindow); + m_panel = XRCCTRL(*this, "ass_control_panel", wxPanel); DEBUG_ASSERT(m_panel); m_panel->FitInside(); - m_panel->SetScrollRate(10, 10); // SetAutoLayout(false); Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.h =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.h 2008-08-30 06:16:13 UTC (rev 3379) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.h 2008-08-30 09:43:02 UTC (rev 3380) @@ -78,7 +78,7 @@ void OnFocalLengthChanged(wxCommandEvent & e); void OnCropFactorChanged(wxCommandEvent & e); - wxScrolledWindow * m_panel; + wxPanel * m_panel; wxStaticText * m_imagesText; wxButton * m_alignButton; wxStaticText * m_alignText; Modified: hugin/trunk/src/hugin1/hugin/xrc/assistant_panel.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/assistant_panel.xrc 2008-08-30 06:16:13 UTC (rev 3379) +++ hugin/trunk/src/hugin1/hugin/xrc/assistant_panel.xrc 2008-08-30 09:43:02 UTC (rev 3380) @@ -1,368 +1,369 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<resource> - <object class="wxPanel" name="assistant_panel"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="sizeritem"> - <object class="wxScrolledWindow" name="ass_control_panel"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="spacer"> - <size>0,12</size> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <object class="sizeritem"> - <object class="wxButton" name="ass_load_images_button"> - <label>1. Load images...</label> - <tooltip>load a series of photos</tooltip> - </object> - <flag>wxBOTTOM</flag> - <border>12</border> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxStaticText" name="ass_load_images_text"> - <label>no images loaded</label> - </object> - <flag>wxBOTTOM|wxEXPAND|wxADJUST_MINSIZE</flag> - <border>6</border> - </object> - </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>15</border> - </object> - <object class="sizeritem"> - <object class="wxStaticBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxCheckBox" name="ass_exif_cb"> - <label>Automatic (use EXIF data)</label> - <hidden>1</hidden> - </object> - <flag>wxTOP|wxBOTTOM</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxPanel" name="ass_lens_group"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Lens type:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="ass_lens_proj_choice"> - <content> - <item>Normal (rectilinear)</item> - <item>Panoramic (cylindrical)</item> - <item>Circular fisheye</item> - <item>Full frame fisheye</item> - <item>Equirectangular</item> - </content> - </object> - </object> - <cols>2</cols> - <hgap>6</hgap> - </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> - </object> - <object class="spacer"> - <size>0,6</size> - </object> - <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Focal length:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="ass_focallength_text"/> - <minsize>60,-1</minsize> - </object> - <cols>6</cols> - <hgap>6</hgap> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>mm</label> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Focal length multiplier:</label> - </object> - <flag>wxLEFT|wxALIGN_CENTRE_VERTICAL</flag> - <border>20</border> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="ass_cropfactor_text"/> - <minsize>60,-1</minsize> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>x</label> - </object> - <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> - </object> - <object class="spacer"> - <size>0,6</size> - </object> - <object class="sizeritem"> - <object class="wxButton" name="ass_load_lens_button"> - <label>Load lens...</label> - </object> - <flag>wxLEFT</flag> - <border>12</border> - </object> - </object> - </object> - <flag>wxEXPAND</flag> - </object> - <label>Camera and Lens</label> - </object> - <flag>wxLEFT</flag> - <border>15</border> - </object> - <object class="spacer"> - <size>0,20</size> - </object> - <object class="sizeritem"> - <object class="wxButton" name="ass_align_button"> - <label>2. Align...</label> - <tooltip>Align all images. Creates control points and optimizes the image positions</tooltip> - </object> - <flag>wxBOTTOM</flag> - <border>12</border> - </object> - <object class="sizeritem"> - <object class="wxStaticText" name="ass_align_text"> - <label></label> - <style></style> - </object> - <flag>wxLEFT|wxEXPAND|wxADJUST_MINSIZE</flag> - <border>15</border> - </object> - <object class="spacer"> - <size>0,20</size> - </object> - <object class="sizeritem"> - <object class="wxButton" name="ass_create_button"> - <label>3. Create panorama...</label> - <tooltip>Create a high resolution panorama.</tooltip> - </object> - </object> - <orient>wxVERTICAL</orient> - </object> - <option>1</option> - <flag>wxEXPAND</flag> - </object> - <object class="spacer"> - <size>0,12</size> - </object> - <object class="sizeritem"> - <object class="unknown" name="ass_druid"> - <hidden>1</hidden> - </object> - <flag>wxRIGHT</flag> - <border>10</border> - </object> - </object> - </object> - <option>1</option> - <flag>wxLEFT|wxEXPAND</flag> - <border>10</border> - </object> - </object> - </object> - <object class="wxDialog" name="dlg_focallength"> - <title>Camera and Lens data</title> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxVERTICAL</orient> - <object class="sizeritem"> - <object class="wxStaticText" name="lensdlg_message"> - <label>a0123456789012345678901234567890123456789 -b -c -d -e</label> - </object> - <flag>wxEXPAND|wxADJUST_MINSIZE</flag> - </object> - <object class="spacer"> - <size>0,10</size> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Lens type:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> - <border>6</border> - </object> - <object class="sizeritem"> - <object class="wxChoice" name="lensdlg_type_choice"> - <content> - <item>Normal (rectilinear)</item> - <item>Panoramic (cylindrical)</item> - <item>Circular fisheye</item> - <item>Full frame fisheye</item> - <item>Equirectangular</item> - </content> - <selection>0</selection> - </object> - </object> - <object class="spacer"> - <option>1</option> - <flag>wxEXPAND</flag> - </object> - <object class="sizeritem"> - <object class="wxButton" name="lensdlg_load_lens_button"> - <label>Load lens data...</label> - <style></style> - </object> - <flag>wxLEFT|wxALIGN_RIGHT</flag> - <border>12</border> - </object> - <orient>wxHORIZONTAL</orient> - </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> - </object> - <object class="spacer"> - <size>0,10</size> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Enter horizontal field of view (HFOV) or focal length and crop factor:</label> - </object> - <flag>wxEXPAND</flag> - </object> - <object class="spacer"> - <size>0,6</size> - </object> - <object class="sizeritem"> - <object class="wxFlexGridSizer"> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>HFOV (v):</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lensdlg_hfov_text"/> - <minsize>60,-1</minsize> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>degrees</label> - </object> - <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="spacer"> - <size>0,0</size> - </object> - <object class="spacer"> - <size>0,0</size> - </object> - <object class="spacer"> - <size>0,0</size> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Focal length:</label> - <style>wxALIGN_RIGHT</style> - </object> - <flag>wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lensdlg_focallength_text"/> - <minsize>60,-1</minsize> - </object> - <cols>6</cols> - <vgap>6</vgap> - <hgap>6</hgap> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>mm</label> - </object> - <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>Focal length multiplier:</label> - </object> - <flag>wxLEFT|wxALIGN_CENTRE_VERTICAL</flag> - <border>20</border> - </object> - <object class="sizeritem"> - <object class="wxTextCtrl" name="lensdlg_cropfactor_text"/> - <minsize>60,-1</minsize> - </object> - <object class="sizeritem"> - <object class="wxStaticText"> - <label>x</label> - </object> - <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> - </object> - </object> - <flag>wxLEFT|wxEXPAND</flag> - <border>12</border> - </object> - <object class="spacer"> - <size>0,6</size> - </object> - </object> - <flag>wxALL</flag> - <border>10</border> - </object> - <object class="sizeritem"> - <object class="wxBoxSizer"> - <orient>wxHORIZONTAL</orient> - <object class="spacer"> - <size>0,0</size> - <option>1</option> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_OK"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>8</border> - </object> - <object class="sizeritem"> - <object class="wxButton" name="wxID_CANCEL"> - <label></label> - </object> - <flag>wxRIGHT</flag> - <border>8</border> - </object> - </object> - <flag>wxALL|wxEXPAND</flag> - <border>5</border> - </object> - </object> - <style>wxCAPTION|wxRESIZE_BORDER</style> - </object> +<?xml version="1.0" encoding="ISO-8859-1"?> +<resource> + <object class="wxPanel" name="assistant_panel"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="sizeritem"> + <object class="wxPanel" name="ass_control_panel"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="spacer"> + <size>0,12</size> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <object class="sizeritem"> + <object class="wxButton" name="ass_load_images_button"> + <label>1. Load images...</label> + <tooltip>load a series of photos</tooltip> + </object> + <flag>wxBOTTOM</flag> + <border>12</border> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxStaticText" name="ass_load_images_text"> + <label>no images loaded</label> + </object> + <flag>wxBOTTOM|wxEXPAND|wxADJUST_MINSIZE</flag> + <border>6</border> + </object> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>15</border> + </object> + <object class="sizeritem"> + <object class="wxStaticBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxCheckBox" name="ass_exif_cb"> + <label>Automatic (use EXIF data)</label> + <hidden>1</hidden> + </object> + <flag>wxTOP|wxBOTTOM</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxPanel" name="ass_lens_group"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Lens type:</label> + <style>wxALIGN_RIGHT</style> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxChoice" name="ass_lens_proj_choice"> + <content> + <item>Normal (rectilinear)</item> + <item>Panoramic (cylindrical)</item> + <item>Circular fisheye</item> + <item>Full frame fisheye</item> + <item>Equirectangular</item> + </content> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <cols>2</cols> + <hgap>6</hgap> + </object> + <flag>wxTOP|wxEXPAND</flag> + <border>1</border> + </object> + <object class="spacer"> + <size>0,6</size> + </object> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Focal length:</label> + <style>wxALIGN_RIGHT</style> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="ass_focallength_text"/> + <minsize>60,-1</minsize> + </object> + <cols>6</cols> + <hgap>6</hgap> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>mm</label> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Focal length multiplier:</label> + </object> + <flag>wxLEFT|wxALIGN_CENTRE_VERTICAL</flag> + <border>20</border> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="ass_cropfactor_text"/> + <minsize>60,-1</minsize> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>x</label> + </object> + <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> + </object> + </object> + <flag>wxEXPAND</flag> + </object> + <object class="spacer"> + <size>0,6</size> + </object> + <object class="sizeritem"> + <object class="wxButton" name="ass_load_lens_button"> + <label>Load lens...</label> + </object> + <flag>wxBOTTOM</flag> + <border>3</border> + </object> + </object> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> + </object> + <label>Camera and Lens</label> + </object> + <flag>wxLEFT</flag> + <border>15</border> + </object> + <object class="spacer"> + <size>0,20</size> + </object> + <object class="sizeritem"> + <object class="wxButton" name="ass_align_button"> + <label>2. Align...</label> + <tooltip>Align all images. Creates control points and optimizes the image positions</tooltip> + </object> + <flag>wxBOTTOM</flag> + <border>12</border> + </object> + <object class="sizeritem"> + <object class="wxStaticText" name="ass_align_text"> + <label></label> + <style></style> + </object> + <flag>wxLEFT|wxEXPAND|wxADJUST_MINSIZE</flag> + <border>15</border> + </object> + <object class="spacer"> + <size>0,20</size> + </object> + <object class="sizeritem"> + <object class="wxButton" name="ass_create_button"> + <label>3. Create panorama...</label> + <tooltip>Create a high resolution panorama.</tooltip> + </object> + </object> + <orient>wxVERTICAL</orient> + </object> + <option>1</option> + <flag>wxLEFT|wxEXPAND</flag> + <border>10</border> + <ratio>1</ratio> + </object> + <object class="spacer"> + <size>0,12</size> + </object> + <object class="sizeritem"> + <object class="unknown" name="ass_druid"> + <hidden>1</hidden> + </object> + <flag>wxRIGHT</flag> + <border>10</border> + </object> + </object> + </object> + <flag>wxEXPAND</flag> + </object> + </object> + </object> + <object class="wxDialog" name="dlg_focallength"> + <title>Camera and Lens data</title> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxVERTICAL</orient> + <object class="sizeritem"> + <object class="wxStaticText" name="lensdlg_message"> + <label>a0123456789012345678901234567890123456789 +b +c +d +e</label> + </object> + <flag>wxEXPAND|wxADJUST_MINSIZE</flag> + </object> + <object class="spacer"> + <size>0,10</size> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Lens type:</label> + <style>wxALIGN_RIGHT</style> + </object> + <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> + <border>6</border> + </object> + <object class="sizeritem"> + <object class="wxChoice" name="lensdlg_type_choice"> + <content> + <item>Normal (rectilinear)</item> + <item>Panoramic (cylindrical)</item> + <item>Circular fisheye</item> + <item>Full frame fisheye</item> + <item>Equirectangular</item> + </content> + <selection>0</selection> + </object> + </object> + <object class="spacer"> + <option>1</option> + <flag>wxEXPAND</flag> + </object> + <object class="sizeritem"> + <object class="wxButton" name="lensdlg_load_lens_button"> + <label>Load lens data...</label> + <style></style> + </object> + <flag>wxLEFT|wxALIGN_RIGHT</flag> + <border>12</border> + </object> + <orient>wxHORIZONTAL</orient> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> + </object> + <object class="spacer"> + <size>0,10</size> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Enter horizontal field of view (HFOV) or focal length and crop factor:</label> + </object> + <flag>wxEXPAND</flag> + </object> + <object class="spacer"> + <size>0,6</size> + </object> + <object class="sizeritem"> + <object class="wxFlexGridSizer"> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>HFOV (v):</label> + <style>wxALIGN_RIGHT</style> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lensdlg_hfov_text"/> + <minsize>60,-1</minsize> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>degrees</label> + </object> + <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="spacer"> + <size>0,0</size> + </object> + <object class="spacer"> + <size>0,0</size> + </object> + <object class="spacer"> + <size>0,0</size> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Focal length:</label> + <style>wxALIGN_RIGHT</style> + </object> + <flag>wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lensdlg_focallength_text"/> + <minsize>60,-1</minsize> + </object> + <cols>6</cols> + <vgap>6</vgap> + <hgap>6</hgap> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>mm</label> + </object> + <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>Focal length multiplier:</label> + </object> + <flag>wxLEFT|wxALIGN_CENTRE_VERTICAL</flag> + <border>20</border> + </object> + <object class="sizeritem"> + <object class="wxTextCtrl" name="lensdlg_cropfactor_text"/> + <minsize>60,-1</minsize> + </object> + <object class="sizeritem"> + <object class="wxStaticText"> + <label>x</label> + </object> + <flag>wxRIGHT|wxALIGN_CENTRE_VERTICAL</flag> + </object> + </object> + <flag>wxLEFT|wxEXPAND</flag> + <border>12</border> + </object> + <object class="spacer"> + <size>0,6</size> + </object> + </object> + <flag>wxALL</flag> + <border>10</border> + </object> + <object class="sizeritem"> + <object class="wxBoxSizer"> + <orient>wxHORIZONTAL</orient> + <object class="spacer"> + <size>0,0</size> + <option>1</option> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_OK"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>8</border> + </object> + <object class="sizeritem"> + <object class="wxButton" name="wxID_CANCEL"> + <label></label> + </object> + <flag>wxRIGHT</flag> + <border>8</border> + </object> + </object> + <flag>wxALL|wxEXPAND</flag> + <border>5</border> + </object> + </object> + <style>wxCAPTION|wxRESIZE_BORDER</style> + </object> </resource> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ip...@us...> - 2008-08-30 09:50:42
|
Revision: 3381 http://hugin.svn.sourceforge.net/hugin/?rev=3381&view=rev Author: ippei Date: 2008-08-30 09:50:38 +0000 (Sat, 30 Aug 2008) Log Message: ----------- disabled HDR merger option button; the feature postponed for later release Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/PanoPanel.cpp hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc Modified: hugin/trunk/src/hugin1/hugin/PanoPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2008-08-30 09:43:02 UTC (rev 3380) +++ hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2008-08-30 09:50:38 UTC (rev 3381) @@ -828,9 +828,6 @@ void PanoPanel::OnHDRMergeOptions(wxCommandEvent & e) { -#ifndef __WXMSW__ -#warning TODO: implementation before 0.7 release -#endif wxLogError(_("Not yet implemented")); } Modified: hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc 2008-08-30 09:43:02 UTC (rev 3380) +++ hugin/trunk/src/hugin1/hugin/xrc/pano_panel.xrc 2008-08-30 09:50:38 UTC (rev 3381) @@ -701,6 +701,7 @@ <object class="sizeritem"> <object class="wxButton" name="pano_button_hdrmerge_opts"> <label>Options</label> + <enabled>0</enabled> </object> <flag>wxALL|wxALIGN_CENTRE_VERTICAL</flag> <border>6</border> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bru...@us...> - 2008-10-08 23:41:03
|
Revision: 3487 http://hugin.svn.sourceforge.net/hugin/?rev=3487&view=rev Author: brunopostle Date: 2008-10-08 23:40:56 +0000 (Wed, 08 Oct 2008) Log Message: ----------- Updated Makefile for generating qtvr etc... Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CMakeLists.txt Added Paths: ----------- hugin/trunk/src/hugin1/hugin/Makefile.equirect.mk Modified: hugin/trunk/src/hugin1/hugin/CMakeLists.txt =================================================================== --- hugin/trunk/src/hugin1/hugin/CMakeLists.txt 2008-10-08 22:44:10 UTC (rev 3486) +++ hugin/trunk/src/hugin1/hugin/CMakeLists.txt 2008-10-08 23:40:56 UTC (rev 3487) @@ -119,6 +119,7 @@ INSTALL(FILES hugin.desktop DESTINATION ${DATADIR}/applications) INSTALL(FILES gnome-mime-application-x-ptoptimizer-script.png DESTINATION ${DATADIR}/icons/gnome/48x48/mimetypes) INSTALL(FILES hugin.xml DESTINATION ${DATADIR}/mime/packages) + INSTALL(FILES Makefile.equirect.mk DESTINATION ${HUGINDATADIR}) ENDIF(UNIX) ENDIF(APPLE) Added: hugin/trunk/src/hugin1/hugin/Makefile.equirect.mk =================================================================== --- hugin/trunk/src/hugin1/hugin/Makefile.equirect.mk (rev 0) +++ hugin/trunk/src/hugin1/hugin/Makefile.equirect.mk 2008-10-08 23:40:56 UTC (rev 3487) @@ -0,0 +1,175 @@ +# Requires Panotools::Script +# Simple usage: +# make -f Makefile.equirect.mk equirect_all PTO=myproject.pto + +JPEG_QUALITY = 70 +GEOMETRY = 1280x1280 +CUBE_ROLL = 0.0 +CUBE_PITCH = 0.0 +CUBE_YAW = 0.0 +QTVR_NAME = 'Panorama created by hugin' +QTVR_PAN = 0.1 +QTVR_TILT = 0.1 +QTVR_FOV = 90.0 +FUSED_SUFFIX = _fused + +equirect_all : qtvr sky planet mercator + +include $(PTO).mk + +.PHONY: equirect_all qtvr sky planet mercator equirect_clean faces_clean sky_clean planet_clean mercator_clean +.SECONDARY: $(LDR_EXPOSURE_LAYERS_REMAPPED) $(LDR_STACKS) $(LDR_LAYERS) + +EQUIRECT_PREFIX = $(LDR_REMAPPED_PREFIX)$(FUSED_SUFFIX) +EQUIRECT_PREFIX_SHELL = $(LDR_REMAPPED_PREFIX_SHELL)$(FUSED_SUFFIX) + +# a set of cubefaces + +CUBE_PREFIX = $(EQUIRECT_PREFIX)_cube +CUBE_PREFIX_SHELL = $(EQUIRECT_PREFIX_SHELL)_cube + +CUBE_PROJECT = $(CUBE_PREFIX).pto +CUBE_PROJECT_SHELL = $(CUBE_PREFIX_SHELL).pto + +JPEG_FACE_0 = $(CUBE_PREFIX)0.jpg +JPEG_FACE_0_SHELL = $(CUBE_PREFIX_SHELL)0.jpg +JPEG_FACE_1 = $(CUBE_PREFIX)1.jpg +JPEG_FACE_1_SHELL = $(CUBE_PREFIX_SHELL)1.jpg +JPEG_FACE_2 = $(CUBE_PREFIX)2.jpg +JPEG_FACE_2_SHELL = $(CUBE_PREFIX_SHELL)2.jpg +JPEG_FACE_3 = $(CUBE_PREFIX)3.jpg +JPEG_FACE_3_SHELL = $(CUBE_PREFIX_SHELL)3.jpg +JPEG_FACE_4 = $(CUBE_PREFIX)4.jpg +JPEG_FACE_4_SHELL = $(CUBE_PREFIX_SHELL)4.jpg +JPEG_FACE_5 = $(CUBE_PREFIX)5.jpg +JPEG_FACE_5_SHELL = $(CUBE_PREFIX_SHELL)5.jpg + +JPEG_FACES = $(JPEG_FACE_0) $(JPEG_FACE_1) $(JPEG_FACE_2) \ + $(JPEG_FACE_3) $(JPEG_FACE_4) $(JPEG_FACE_5) +JPEG_FACES_SHELL = $(JPEG_FACE_0_SHELL) $(JPEG_FACE_1_SHELL) \ + $(JPEG_FACE_2_SHELL) $(JPEG_FACE_3_SHELL) \ + $(JPEG_FACE_4_SHELL) $(JPEG_FACE_5_SHELL) + + +$(CUBE_PROJECT) : $(EQUIRECT_PREFIX).tif + erect2cubic --erect=$(EQUIRECT_PREFIX_SHELL).tif --ptofile=$(CUBE_PROJECT_SHELL) \ + --filespec="JPEG q$(JPEG_QUALITY)" \ + --roll=$(CUBE_ROLL) --pitch=$(CUBE_PITCH) --yaw=$(CUBE_YAW) + +$(JPEG_FACE_0) : $(EQUIRECT_PREFIX).tif $(CUBE_PROJECT) + $(NONA) -p UINT8 -i 0 -o $(JPEG_FACE_0_SHELL) $(CUBE_PROJECT_SHELL) +$(JPEG_FACE_1) : $(EQUIRECT_PREFIX).tif $(CUBE_PROJECT) + $(NONA) -p UINT8 -i 1 -o $(JPEG_FACE_1_SHELL) $(CUBE_PROJECT_SHELL) +$(JPEG_FACE_2) : $(EQUIRECT_PREFIX).tif $(CUBE_PROJECT) + $(NONA) -p UINT8 -i 2 -o $(JPEG_FACE_2_SHELL) $(CUBE_PROJECT_SHELL) +$(JPEG_FACE_3) : $(EQUIRECT_PREFIX).tif $(CUBE_PROJECT) + $(NONA) -p UINT8 -i 3 -o $(JPEG_FACE_3_SHELL) $(CUBE_PROJECT_SHELL) +$(JPEG_FACE_4) : $(EQUIRECT_PREFIX).tif $(CUBE_PROJECT) + $(NONA) -p UINT8 -i 4 -o $(JPEG_FACE_4_SHELL) $(CUBE_PROJECT_SHELL) +$(JPEG_FACE_5) : $(EQUIRECT_PREFIX).tif $(CUBE_PROJECT) + $(NONA) -p UINT8 -i 5 -o $(JPEG_FACE_5_SHELL) $(CUBE_PROJECT_SHELL) + +# a qvtr file + +MOV = $(EQUIRECT_PREFIX).mov +MOV_SHELL = $(EQUIRECT_PREFIX_SHELL).mov + +$(MOV) : faces + jpeg2qtvr --outfile=$(MOV_SHELL) --prefix=$(CUBE_PREFIX_SHELL) --name=$(QTVR_NAME) \ + --pan=$(QTVR_PAN) --tilt=$(QTVR_TILT) --fov=$(QTVR_FOV) + +# a pto base for stereographic output + +PTO_SGRAPHIC = $(EQUIRECT_PREFIX)-sgraphic.pto +PTO_SGRAPHIC_SHELL = $(EQUIRECT_PREFIX_SHELL)-sgraphic.pto + +$(PTO_SGRAPHIC) : $(EQUIRECT_PREFIX).tif + erect2planet $(EQUIRECT_PREFIX_SHELL).tif + +# a stereographic view looking up + +SKY_PREFIX = $(EQUIRECT_PREFIX)-sky +SKY_PREFIX_SHELL = $(EQUIRECT_PREFIX_SHELL)-sky +PTO_SKY = $(SKY_PREFIX).pto +PTO_SKY_SHELL = $(SKY_PREFIX_SHELL).pto +TIFF_SKY = $(SKY_PREFIX)_0000.tif +TIFF_SKY_SHELL = $(SKY_PREFIX_SHELL)_0000.tif +JPEG_SKY = $(SKY_PREFIX).jpg +JPEG_SKY_SHELL = $(SKY_PREFIX_SHELL).jpg + +$(PTO_SKY) : $(PTO_SGRAPHIC) + transform-pano 0 -90 0 $(PTO_SGRAPHIC_SHELL) $(PTO_SKY_SHELL) + +$(TIFF_SKY) : $(PTO_SKY) + $(NONA) -r ldr -m TIFF_m -i 0 -o $(SKY_PREFIX_SHELL)_ $(PTO_SKY_SHELL) + +$(JPEG_SKY) : $(TIFF_SKY) + convert -geometry $(GEOMETRY) -quality $(JPEG_QUALITY) $(TIFF_SKY_SHELL) $(JPEG_SKY_SHELL) + $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) \ + $(EXIFTOOL_COPY_ARGS) $(JPEG_SKY_SHELL) + +# a stereographic view looking down + +PLANET_PREFIX = $(EQUIRECT_PREFIX)-planet +PLANET_PREFIX_SHELL = $(EQUIRECT_PREFIX_SHELL)-planet +PTO_PLANET = $(PLANET_PREFIX).pto +PTO_PLANET_SHELL = $(PLANET_PREFIX_SHELL).pto +TIFF_PLANET = $(PLANET_PREFIX)_0000.tif +TIFF_PLANET_SHELL = $(PLANET_PREFIX_SHELL)_0000.tif +JPEG_PLANET = $(PLANET_PREFIX).jpg +JPEG_PLANET_SHELL = $(PLANET_PREFIX_SHELL).jpg + +$(PTO_PLANET) : $(PTO_SGRAPHIC) + transform-pano 0 90 0 $(PTO_SGRAPHIC_SHELL) $(PTO_PLANET_SHELL) + +$(TIFF_PLANET) : $(PTO_PLANET) + $(NONA) -r ldr -m TIFF_m -i 0 -o $(PLANET_PREFIX_SHELL)_ $(PTO_PLANET_SHELL) + +$(JPEG_PLANET) : $(TIFF_PLANET) + convert -geometry $(GEOMETRY) -quality $(JPEG_QUALITY) $(TIFF_PLANET_SHELL) $(JPEG_PLANET_SHELL) + $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) \ + $(EXIFTOOL_COPY_ARGS) $(JPEG_PLANET_SHELL) + +# a mercator view + +MERCATOR_PREFIX = $(EQUIRECT_PREFIX)-mercator +MERCATOR_PREFIX_SHELL = $(EQUIRECT_PREFIX_SHELL)-mercator +PTO_MERCATOR = $(MERCATOR_PREFIX).pto +PTO_MERCATOR_SHELL = $(MERCATOR_PREFIX_SHELL).pto +TIFF_MERCATOR = $(MERCATOR_PREFIX)_0000.tif +TIFF_MERCATOR_SHELL = $(MERCATOR_PREFIX_SHELL)_0000.tif +JPEG_MERCATOR = $(MERCATOR_PREFIX).jpg +JPEG_MERCATOR_SHELL = $(MERCATOR_PREFIX_SHELL).jpg + +$(PTO_MERCATOR) : $(EQUIRECT_PREFIX).tif + erect2mercator $(EQUIRECT_PREFIX_SHELL).tif + +$(TIFF_MERCATOR) : $(PTO_MERCATOR) + $(NONA) -r ldr -m TIFF_m -i 0 -o $(MERCATOR_PREFIX_SHELL)_ $(PTO_MERCATOR_SHELL) + +$(JPEG_MERCATOR) : $(TIFF_MERCATOR) + convert -geometry $(GEOMETRY) -quality $(JPEG_QUALITY) $(TIFF_MERCATOR_SHELL) $(JPEG_MERCATOR_SHELL) + $(EXIFTOOL) -overwrite_original_in_place -TagsFromFile $(INPUT_IMAGE_1_SHELL) \ + $(EXIFTOOL_COPY_ARGS) $(JPEG_MERCATOR_SHELL) + +# some PHONY targets + +faces : $(JPEG_FACES) +qtvr : $(MOV) +sky : $(JPEG_SKY) +planet : $(JPEG_PLANET) +mercator : $(JPEG_MERCATOR) + +# cleanup + +equirect_clean : faces_clean sky_clean planet_clean mercator_clean + +faces_clean : + $(RM) -f $(JPEG_FACES_SHELL) $(CUBE_PROJECT_SHELL) +sky_clean : + $(RM) -f $(TIFF_SKY) +planet_clean : + $(RM) -f $(TIFF_PLANET) +mercator_clean : + $(RM) -f $(TIFF_MERCATOR) + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bl...@us...> - 2008-11-13 21:05:37
|
Revision: 3549 http://hugin.svn.sourceforge.net/hugin/?rev=3549&view=rev Author: blimbo Date: 2008-11-13 21:05:34 +0000 (Thu, 13 Nov 2008) Log Message: ----------- Added celeste progress dialogue and small bug fix in ImagesPanel Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2008-11-13 19:04:41 UTC (rev 3548) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2008-11-13 21:05:34 UTC (rev 3549) @@ -38,8 +38,8 @@ #include "hugin/CPEditorPanel.h" //#include "hugin/CPFineTuneFrame.h" #include "hugin/wxPanoCommand.h" +#include "base_wx/MyProgressDialog.h" - // more standard includes if needed #include <algorithm> #include <float.h> @@ -2118,10 +2118,12 @@ { if (currentPoints.size() == 0) { - DEBUG_WARN("Cannot run celeste without at least one point"); - cout << "Celeste: Cannot run celeste without at least one point" << endl; + DEBUG_WARN("Cannot run celeste without at least one control point connecting the two images"); + cout << "Cannot run celeste without at least one control point connecting the two images" << endl; }else{ + ProgressReporterDialog progress(3, _("Running Celeste"), _("Running Celeste"),this); + // set numeric locale to C, for correct number output char * old_locale = setlocale(LC_NUMERIC,NULL); setlocale(LC_NUMERIC,"C"); @@ -2185,6 +2187,8 @@ DEBUG_TRACE("Running Celeste"); cout << "Running Celeste" << endl; + + progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); // Get responses bool verbose = true; @@ -2192,6 +2196,8 @@ unsigned int mask = 0; get_gabor_response(imagefile,mask,modelfile,threshold,mask_format,svm_responses); + progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + // Print SVM results unsigned int removed = 0; for (unsigned int c = 0; c < svm_responses.size(); c++){ Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-11-13 19:04:41 UTC (rev 3548) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-11-13 21:05:34 UTC (rev 3549) @@ -46,6 +46,7 @@ #include "hugin/huginApp.h" #include "hugin/AutoCtrlPointCreator.h" #include "hugin/config_defaults.h" +#include "base_wx/MyProgressDialog.h" // Celeste header #include "Celeste.h" @@ -735,6 +736,8 @@ DEBUG_WARN("Cannot run celeste without at least one point"); }else{ + ProgressReporterDialog progress(selImg.size()+1, _("Running Celeste"), _("Running Celeste"),this); + DEBUG_TRACE("Running Celeste"); // set numeric locale to C, for correct number output char * old_locale = setlocale(LC_NUMERIC,NULL); @@ -761,11 +764,11 @@ wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); return ; } - - //progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); for (UIntSet::const_iterator itr = selImg.begin(); itr != selImg.end(); ++itr) { + progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + const CPVector & controlPoints = pano->getCtrlPoints(); unsigned int removed = 0; const unsigned int imgNr = *itr; @@ -775,7 +778,17 @@ PT::ControlPoint point = *it; if (imgNr == point.image1Nr){ gNumLocs++; - } + } + if (imgNr == point.image2Nr){ + gNumLocs++; + } + + //if (imgNr == pano->getNrOfImages()-1){ + // if (imgNr == point.image2Nr){ + // //cout << "Loading CPs for image " << imgNr << endl; + // gNumLocs++; + // } + //} } // Create the storage matrix @@ -786,12 +799,30 @@ for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { PT::ControlPoint point = *it; - if (imgNr == point.image1Nr){ + + if (imgNr == point.image1Nr){ + //cout << "---imgNr = " << imgNr << " point.image1Nr = " << point.image1Nr << endl; gLocations[glocation_counter][0] = (int)point.x1; gLocations[glocation_counter][1] = (int)point.y1; global_cp_nr.push_back(cp_counter); glocation_counter++; } + if (imgNr == point.image2Nr){ + //cout << "---imgNr = " << imgNr << " point.image1Nr = " << point.image1Nr << endl; + gLocations[glocation_counter][0] = (int)point.x2; + gLocations[glocation_counter][1] = (int)point.y2; + global_cp_nr.push_back(cp_counter); + glocation_counter++; + } + + //if ((imgNr == pano->getNrOfImages()-1) && (imgNr == point.image2Nr)){ + //cout << "---imgNr = " << imgNr << " point.image2Nr = " << point.image2Nr << endl; + // gLocations[glocation_counter][0] = (int)point.x2; + // gLocations[glocation_counter][1] = (int)point.y2; + // global_cp_nr.push_back(cp_counter); + //cout << "CP " << (int)point.x2 << "," << (int)point.y2 << endl; + // glocation_counter++; + //} cp_counter++; } @@ -822,6 +853,9 @@ bool verbose = true; string mask_format = "PNG"; unsigned int mask = 0; + + wxMessageBox(wxString::Format(_("Processing image number %d - %d control points loaded."),imgNr,gNumLocs), _("Celeste"), wxICON_EXCLAMATION, this); + get_gabor_response(imagefile,mask,modelfile,threshold,mask_format,svm_responses); MainFrame::Get()->SetStatusText(_("classifying control points..."),0); @@ -842,6 +876,9 @@ cout << "CP: " << c << "\tSVM Score: " << svm_responses[c] << "\tremoved." << endl; } } + + wxMessageBox(wxString::Format(_("Processing image number %d - %d control points removed."),imgNr,removed), _("Celeste"), wxICON_EXCLAMATION, this); + if (removed) cout << endl; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bl...@us...> - 2008-11-13 21:27:24
|
Revision: 3550 http://hugin.svn.sourceforge.net/hugin/?rev=3550&view=rev Author: blimbo Date: 2008-11-13 21:27:21 +0000 (Thu, 13 Nov 2008) Log Message: ----------- celeste progress dialogue in AssistantPanel improvement Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2008-11-13 21:05:34 UTC (rev 3549) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2008-11-13 21:27:21 UTC (rev 3550) @@ -394,7 +394,7 @@ bool createCtrlP = m_pano->getNrOfCtrlPoints() == 0; - ProgressReporterDialog progress(5, _("Aligning images"), _("Finding corresponding points"),this); + ProgressReporterDialog progress(6, _("Aligning images"), _("Finding corresponding points"),this); wxString alignMsg; if (createCtrlP) { AutoCtrlPointCreator matcher; @@ -433,11 +433,12 @@ // SVM model file if ( wxFile::Exists(wxString::FromAscii(buf)) ) { - - progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); - + for (unsigned int imgNr = 0; imgNr < m_pano->getNrOfImages() - 1; imgNr++){ + double progress_amount = (double)1/m_pano->getNrOfImages(); + progress.increaseProgress(progress_amount, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + const CPVector & controlPoints = m_pano->getCtrlPoints(); unsigned int removed = 0; @@ -446,6 +447,9 @@ PT::ControlPoint point = *it; if (imgNr == point.image1Nr){ gNumLocs++; + } + if (imgNr == point.image2Nr){ + gNumLocs++; } } @@ -463,6 +467,12 @@ global_cp_nr.push_back(cp_counter); glocation_counter++; } + if (imgNr == point.image2Nr){ + gLocations[glocation_counter][0] = (int)point.x2; + gLocations[glocation_counter][1] = (int)point.y2; + global_cp_nr.push_back(cp_counter); + glocation_counter++; + } cp_counter++; } Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-11-13 21:05:34 UTC (rev 3549) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2008-11-13 21:27:21 UTC (rev 3550) @@ -782,13 +782,6 @@ if (imgNr == point.image2Nr){ gNumLocs++; } - - //if (imgNr == pano->getNrOfImages()-1){ - // if (imgNr == point.image2Nr){ - // //cout << "Loading CPs for image " << imgNr << endl; - // gNumLocs++; - // } - //} } // Create the storage matrix @@ -814,15 +807,6 @@ global_cp_nr.push_back(cp_counter); glocation_counter++; } - - //if ((imgNr == pano->getNrOfImages()-1) && (imgNr == point.image2Nr)){ - //cout << "---imgNr = " << imgNr << " point.image2Nr = " << point.image2Nr << endl; - // gLocations[glocation_counter][0] = (int)point.x2; - // gLocations[glocation_counter][1] = (int)point.y2; - // global_cp_nr.push_back(cp_counter); - //cout << "CP " << (int)point.x2 << "," << (int)point.y2 << endl; - // glocation_counter++; - //} cp_counter++; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bru...@us...> - 2009-01-29 23:52:17
|
Revision: 3604 http://hugin.svn.sourceforge.net/hugin/?rev=3604&view=rev Author: brunopostle Date: 2009-01-29 23:52:14 +0000 (Thu, 29 Jan 2009) Log Message: ----------- Put a fast preview icon on the toolbar Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/MainFrame.cpp hugin/trunk/src/hugin1/hugin/xrc/main_tool.xrc Modified: hugin/trunk/src/hugin1/hugin/MainFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/MainFrame.cpp 2009-01-29 21:55:46 UTC (rev 3603) +++ hugin/trunk/src/hugin1/hugin/MainFrame.cpp 2009-01-29 23:52:14 UTC (rev 3604) @@ -156,6 +156,7 @@ EVT_MENU(XRCID("ID_SHOW_PREVIEW_FRAME"), MainFrame::OnTogglePreviewFrame) EVT_MENU(XRCID("ID_SHOW_GL_PREVIEW_FRAME"), MainFrame::OnToggleGLPreviewFrame) EVT_BUTTON(XRCID("ID_SHOW_PREVIEW_FRAME"),MainFrame::OnTogglePreviewFrame) + EVT_BUTTON(XRCID("ID_SHOW_GL_PREVIEW_FRAME"), MainFrame::OnToggleGLPreviewFrame) EVT_MENU(XRCID("action_optimize"), MainFrame::OnOptimize) EVT_BUTTON(XRCID("action_optimize"), MainFrame::OnOptimize) Modified: hugin/trunk/src/hugin1/hugin/xrc/main_tool.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/main_tool.xrc 2009-01-29 21:55:46 UTC (rev 3603) +++ hugin/trunk/src/hugin1/hugin/xrc/main_tool.xrc 2009-01-29 23:52:14 UTC (rev 3604) @@ -56,11 +56,17 @@ <bitmapsize>24,24</bitmapsize> <margins>2,2</margins> <style>wxTB_FLAT|wxTB_DOCKABLE</style> + <object class="tool" name="ID_SHOW_GL_PREVIEW_FRAME"> + <bitmap>data/preview.png</bitmap> + <tooltip>Fast Preview panorama</tooltip> + <label>Fast Preview</label> + <longhelp>Show the OpenGL preview image</longhelp> + </object> <object class="tool" name="ID_SHOW_PREVIEW_FRAME"> <bitmap>data/preview.png</bitmap> <tooltip>Preview panorama</tooltip> <label>Preview</label> - <longhelp>Show the preview image and the Panorama Druid</longhelp> + <longhelp>Show the preview image</longhelp> </object> <object class="tool" name="ID_CP_TABLE"> <bitmap>data/list.png</bitmap> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <bru...@us...> - 2009-02-24 23:16:57
|
Revision: 3667 http://hugin.svn.sourceforge.net/hugin/?rev=3667&view=rev Author: brunopostle Date: 2009-02-24 23:16:52 +0000 (Tue, 24 Feb 2009) Log Message: ----------- Add hints to Control Point tab pull down lists (Thomas Modes) Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CMakeLists.txt hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/CPEditorPanel.h hugin/trunk/src/hugin1/hugin/PanoPanel.cpp hugin/trunk/src/hugin1/hugin/huginApp.cpp hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc Added Paths: ----------- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h Modified: hugin/trunk/src/hugin1/hugin/CMakeLists.txt =================================================================== --- hugin/trunk/src/hugin1/hugin/CMakeLists.txt 2009-02-24 21:31:42 UTC (rev 3666) +++ hugin/trunk/src/hugin1/hugin/CMakeLists.txt 2009-02-24 23:16:52 UTC (rev 3667) @@ -23,7 +23,7 @@ # sources set(hugin_SOURCES huginApp.cpp ImagesList.cpp AutoCtrlPointCreator.cpp -MainFrame.cpp CPImageCtrl.cpp CPEditorPanel.cpp LensPanel.cpp +MainFrame.cpp CPImageCtrl.cpp CPImagesComboBox.cpp CPEditorPanel.cpp LensPanel.cpp ImagesPanel.cpp CommandHistory.cpp PanoPanel.cpp NonaOptionsDialog.cpp PreviewFrame.cpp PreviewPanel.cpp GLPreviewFrame.cpp GLViewer.cpp GLRenderer.cpp CropPanel.cpp OptimizePhotometricPanel.cpp OptimizePanel.cpp CPListFrame.cpp Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-02-24 21:31:42 UTC (rev 3666) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-02-24 23:16:52 UTC (rev 3667) @@ -94,8 +94,8 @@ BEGIN_EVENT_TABLE(CPEditorPanel, wxPanel) EVT_CPEVENT(CPEditorPanel::OnCPEvent) #ifdef HUGIN_CP_IMG_CHOICE - EVT_CHOICE(XRCID("cp_editor_left_choice"), CPEditorPanel::OnLeftChoiceChange ) - EVT_CHOICE(XRCID("cp_editor_right_choice"), CPEditorPanel::OnRightChoiceChange ) + EVT_COMBOBOX(XRCID("cp_editor_left_choice"), CPEditorPanel::OnLeftChoiceChange ) + EVT_COMBOBOX(XRCID("cp_editor_right_choice"), CPEditorPanel::OnRightChoiceChange ) #endif #ifdef HUGIN_CP_IMG_TAB EVT_NOTEBOOK_PAGE_CHANGED ( XRCID("cp_editor_left_tab"),CPEditorPanel::OnLeftImgChange ) @@ -168,7 +168,7 @@ m_leftTabs->SetSizeHints(1,tabH,1000,tabH,-1,-1); #endif #ifdef HUGIN_CP_IMG_CHOICE - m_leftChoice = XRCCTRL(*this, "cp_editor_left_choice", wxChoice); + m_leftChoice = XRCCTRL(*this, "cp_editor_left_choice", CPImagesComboBox); #endif #if 0 @@ -187,7 +187,7 @@ m_rightTabs->SetSizeHints(1,tabH,1000,tabH,-1,-1); #endif #ifdef HUGIN_CP_IMG_CHOICE - m_rightChoice = XRCCTRL(*this, "cp_editor_right_choice", wxChoice); + m_rightChoice = XRCCTRL(*this, "cp_editor_right_choice", CPImagesComboBox); #endif #if 0 @@ -360,6 +360,8 @@ if (m_leftChoice->GetSelection() != (int) imgNr) { m_leftChoice->SetSelection(imgNr); } + m_rightChoice->SetRefImage(m_pano,m_leftImageNr); + m_rightChoice->Refresh(); #endif #ifdef HUGIN_CP_IMG_TAB if (m_leftTabs->GetSelection() != (int) imgNr) { @@ -400,17 +402,19 @@ m_rightRot = GetRot(yaw, pitch, roll); m_rightImg->setImage(m_pano->getImage(imgNr).getFilename(), m_rightRot); // select tab + m_rightImageNr = imgNr; #ifdef HUGIN_CP_IMG_CHOICE if (m_rightChoice->GetSelection() != (int) imgNr) { m_rightChoice->SetSelection(imgNr); } + m_leftChoice->SetRefImage(m_pano,m_rightImageNr); + m_leftChoice->Refresh(); #endif #ifdef HUGIN_CP_IMG_TAB if (m_rightTabs->GetSelection() != (int) imgNr) { m_rightTabs->SetSelection(imgNr); } #endif - m_rightImageNr = imgNr; m_rightFile = m_pano->getImage(imgNr).getFilename(); // update the rest of the display (new control points etc) changeState(NO_POINT); @@ -628,6 +632,10 @@ SelectGlobalPoint(lPoint); changeState(NO_POINT); MainFrame::Get()->SetStatusText(_("new control point added")); +#ifdef HUGIN_CP_IMG_CHOICE + m_leftChoice->CalcCPDistance(m_pano); + m_rightChoice->CalcCPDistance(m_pano); +#endif } @@ -1293,8 +1301,8 @@ #ifdef HUGIN_CP_IMG_CHOICE for (unsigned int i=0; i < ((nrTabs < nrImages)? nrTabs: nrImages); i++) { wxFileName fileName(wxString (pano.getImage(i).getFilename().c_str(), HUGIN_CONV_FILENAME)); - m_leftChoice->SetString(i, wxString::Format(wxT("%2d"), i) + wxT(". - ") + fileName.GetFullName()); - m_rightChoice->SetString(i, wxString::Format(wxT("%2d"), i) + wxT(". - ") + fileName.GetFullName()); + m_leftChoice->SetString(i, wxString::Format(wxT("%d"), i) + wxT(". - ") + fileName.GetFullName()); + m_rightChoice->SetString(i, wxString::Format(wxT("%d"), i) + wxT(". - ") + fileName.GetFullName()); } /* ls = m_leftChoice->GetSelection(); @@ -1315,8 +1323,8 @@ for (unsigned int i=nrTabs; i < nrImages; i++) { #ifdef HUGIN_CP_IMG_CHOICE wxFileName fileName(wxString (pano.getImage(i).getFilename().c_str(), HUGIN_CONV_FILENAME)); - m_leftChoice->Append(wxString::Format(wxT("%2d"), i) + wxT(". - ") + fileName.GetFullName()); - m_rightChoice->Append(wxString::Format(wxT("%2d"), i) + wxT(". - ") + fileName.GetFullName()); + m_leftChoice->Append(wxString::Format(wxT("%d"), i) + wxT(". - ") + fileName.GetFullName()); + m_rightChoice->Append(wxString::Format(wxT("%d"), i) + wxT(". - ") + fileName.GetFullName()); #endif #ifdef HUGIN_CP_IMG_TAB wxWindow* t1= new wxWindow(m_leftTabs,-1,wxPoint(0,0),wxSize(0,0)); @@ -1467,6 +1475,10 @@ wxLogError(wxString::Format(wxT("panoramaImagesChanged. After update\nleft: %d, right: %d, count: %d %d"), ls, rs, nrTabsNew)); #endif */ +#ifdef HUGIN_CP_IMG_CHOICE + m_leftChoice->CalcCPDistance(m_pano); + m_rightChoice->CalcCPDistance(m_pano); +#endif } void CPEditorPanel::UpdateDisplay(bool newPair) @@ -1956,6 +1968,10 @@ GlobalCmdHist::getInstance().addCommand( new PT::RemoveCtrlPointCmd(*m_pano,pNr ) ); +#ifdef HUGIN_CP_IMG_CHOICE + m_leftChoice->CalcCPDistance(m_pano); + m_rightChoice->CalcCPDistance(m_pano); +#endif } } Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.h =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.h 2009-02-24 21:31:42 UTC (rev 3666) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.h 2009-02-24 23:16:52 UTC (rev 3667) @@ -42,6 +42,7 @@ #include <PT/Panorama.h> +#include "CPImagesComboBox.h" // Always use wxChoice, the tabs behave badly with many images on GTK as well. #define HUGIN_CP_IMG_CHOICE @@ -265,8 +266,8 @@ // GUI controls #ifdef HUGIN_CP_IMG_CHOICE - wxChoice *m_leftChoice; - wxChoice *m_rightChoice; + CPImagesComboBox *m_leftChoice; + CPImagesComboBox *m_rightChoice; #endif #ifdef HUGIN_CP_IMG_TAB wxNotebook *m_leftTabs, *m_rightTabs; Added: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp (rev 0) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp 2009-02-24 23:16:52 UTC (rev 3667) @@ -0,0 +1,197 @@ +#include "hugin/CPImagesComboBox.h" + +BEGIN_EVENT_TABLE(CPImagesComboBox,wxOwnerDrawnComboBox) + EVT_MOUSEWHEEL(CPImagesComboBox::OnMouseWheel) + EVT_KEY_DOWN(CPImagesComboBox::OnKeyDown) +END_EVENT_TABLE() + +void CPImagesComboBox::OnMouseWheel(wxMouseEvent & e) +{ + //mimic wxChoice behaviour + //when popup is shown, there could be a scrollbar which processes the mouse wheel event + if(!IsPopupShown()) + { + if(e.GetWheelRotation()<0) + SelectNext(); + else + SelectPrev(); + } + else + { + e.Skip(); + }; +}; + +void CPImagesComboBox::OnKeyDown(wxKeyEvent & e) +{ + if(!IsPopupShown()) + { + //mimic wxChoice behaviour + switch (e.GetKeyCode()){ + case WXK_DOWN: + case WXK_RIGHT: + case WXK_NUMPAD_DOWN: + case WXK_NUMPAD_RIGHT: + SelectNext(); + break; + case WXK_UP: + case WXK_LEFT: + case WXK_NUMPAD_UP: + case WXK_NUMPAD_LEFT: + SelectPrev(); + break; + case WXK_PAGEDOWN: + case WXK_NUMPAD_PAGEDOWN: + SelectNext(5); + break; + case WXK_PAGEUP: + case WXK_NUMPAD_PAGEUP: + SelectPrev(5); + break; + case WXK_HOME: + case WXK_NUMPAD_HOME: + SelectPrev(GetCount()); + break; + case WXK_END: + case WXK_NUMPAD_END: + SelectNext(GetCount()); + break; + case WXK_SPACE: + ShowPopup(); + break; + default: + e.Skip(); + }; + } + else + { + e.Skip(); + } +}; + +void CPImagesComboBox::SelectNext(int step) +{ + int index=min<int>(GetSelection()+step,GetCount()-1); + if(index!=GetSelection()) + { + Select(index); + Update(); + NotifyParent(); + }; +}; + +void CPImagesComboBox::SelectPrev(int step) +{ + int index=max<int>(GetSelection()-step,0); + if(index!=GetSelection()) + { + Select(index); + Update(); + NotifyParent(); + }; +}; + +void CPImagesComboBox::NotifyParent() +{ + //notify parent about changed selection + //select doesn't send the corresponding event + wxCommandEvent ne(wxEVT_COMMAND_COMBOBOX_SELECTED); + ne.SetEventObject(this); + ne.SetId(this->GetId()); + ne.SetInt(GetSelection()); + ProcessEvent(ne); +}; + +void CPImagesComboBox::Init() +{ + CPConnection.resize(0); + refImage=0; +}; + +void CPImagesComboBox::OnDrawItem(wxDC& dc, + const wxRect& rect, + int item, + int WXUNUSED(flags)) const +{ + if ( item == wxNOT_FOUND ) + return; + dc.DrawText(GetString(item),rect.x + 3,rect.y + ((rect.height - dc.GetCharHeight())/2)); + //draw rectangle when images are connected by control points + if(CPConnection[item]>-1.0) + { + wxCoord x; + x=rect.width / 5 *(1-min<double>(CPConnection[item],10)/10); + //ensure that always a bar is drawn + x=max<wxCoord>(5,x); + wxPen MyPen(wxColour(0,192,0),1,wxSOLID); + wxBrush MyBrush(wxColour(0,192,0),wxSOLID); + const wxPen * oldPen = & dc.GetPen(); + const wxBrush * oldBrush= & dc.GetBrush(); + if(CPConnection[item]>5) + { + MyPen.SetColour(wxColour(255,0,0)); + MyBrush.SetColour(wxColour(255,0,0)); + }; + //inner rectangle, proportional to max cp error (max. 10) + dc.SetPen(MyPen); + dc.SetBrush(MyBrush); + dc.DrawRectangle(rect.x+0.75*rect.width,rect.y+rect.height/3-1,x,2*rect.height/3); + //outer rectangle, same colour as text + MyPen.SetColour(dc.GetTextForeground()); + dc.SetPen(MyPen); + dc.SetBrush(*wxTRANSPARENT_BRUSH); + dc.DrawRectangle(rect.x+0.75*rect.width,rect.y+rect.height/3-1,rect.width/5,2*rect.height/3); + dc.SetPen(*oldPen); + dc.SetBrush(*oldBrush); + }; +}; + +void CPImagesComboBox::CalcCPDistance(Panorama * pano) +{ + CPConnection.clear(); + CPConnection.resize(this->GetCount(),-1.0); + unsigned int noPts = pano->getNrOfCtrlPoints(); + // loop over all points to get the maximum error + for (unsigned int ptIdx = 0 ; ptIdx < noPts ; ptIdx++) + { + const ControlPoint & cp = pano->getCtrlPoint(ptIdx); + if(cp.image1Nr==refImage) + { + CPConnection[cp.image2Nr]=max<double>(cp.error,CPConnection[cp.image2Nr]); + } + else if(cp.image2Nr==refImage) + { + CPConnection[cp.image1Nr]=max<double>(cp.error,CPConnection[cp.image1Nr]); + }; + } +}; + +IMPLEMENT_DYNAMIC_CLASS(CPImagesComboBox, wxOwnerDrawnComboBox) + +IMPLEMENT_DYNAMIC_CLASS(CPImagesComboBoxXmlHandler, wxOwnerDrawnComboBoxXmlHandler) + +CPImagesComboBoxXmlHandler::CPImagesComboBoxXmlHandler() + : wxOwnerDrawnComboBoxXmlHandler() +{ + AddWindowStyles(); +} + +wxObject *CPImagesComboBoxXmlHandler::DoCreateResource() +{ + XRC_MAKE_INSTANCE(cp, CPImagesComboBox) + + cp->Create(m_parentAsWindow, + GetID(), wxEmptyString, + GetPosition(), GetSize(), + GetStyle(wxT("style")), wxDefaultValidator, + GetName()); + + SetupWindow(cp); + + return cp; +} + +bool CPImagesComboBoxXmlHandler::CanHandle(wxXmlNode *node) +{ + return IsOfClass(node, wxT("CPImagesComboBox")); +} Added: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h (rev 0) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h 2009-02-24 23:16:52 UTC (rev 3667) @@ -0,0 +1,78 @@ +// -*- c-basic-offset: 4 -*- +/** @file CPImagesComboBox.h + * + * + * This is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this software; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + +#ifndef _CPIMAGESCOMBOBOX_H +#define _CPIMAGESCOMBOBOX_H + +// standard wx include +//#include <config.h> +#include "panoinc.h" +#include "panoinc_WX.h" +#include "wx/odcombo.h" +#include "wx/xrc/xh_odcombo.h" + + +using namespace std; +using namespace PT; + +class CPImagesComboBox : public wxOwnerDrawnComboBox +{ +public: + virtual void OnDrawItem(wxDC& dc, + const wxRect& rect, + int item, + int WXUNUSED(flags)) const; + void CalcCPDistance(Panorama * pano); + void SetRefImage(Panorama * pano, unsigned int newRefImg) + { + refImage=newRefImg; + CalcCPDistance(pano); + }; + const unsigned int GetRefImage() + { + return refImage; + }; +protected: + void OnMouseWheel(wxMouseEvent & e); + void OnKeyDown(wxKeyEvent & e); +private: + unsigned int refImage; + std::vector<double> CPConnection; + void Init(); + void SelectNext(int step = 1); + void SelectPrev(int step = 1); + void NotifyParent(); + + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(CPImagesComboBox) +}; + +/** xrc handler */ +class CPImagesComboBoxXmlHandler : public wxOwnerDrawnComboBoxXmlHandler +{ + DECLARE_DYNAMIC_CLASS(CPImagesComboBoxXmlHandler) + +public: + CPImagesComboBoxXmlHandler(); + virtual wxObject *DoCreateResource(); + virtual bool CanHandle(wxXmlNode *node); +}; + +#endif Modified: hugin/trunk/src/hugin1/hugin/PanoPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2009-02-24 21:31:42 UTC (rev 3666) +++ hugin/trunk/src/hugin1/hugin/PanoPanel.cpp 2009-02-24 23:16:52 UTC (rev 3667) @@ -54,6 +54,7 @@ //#include "hugin/LensPanel.h" //#include "hugin/ImagesPanel.h" #include "hugin/CPImageCtrl.h" +#include "hugin/CPImagesComboBox.h" #include "hugin/PanoPanel.h" #include "hugin/MainFrame.h" #include "hugin/huginApp.h" Modified: hugin/trunk/src/hugin1/hugin/huginApp.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/huginApp.cpp 2009-02-24 21:31:42 UTC (rev 3666) +++ hugin/trunk/src/hugin1/hugin/huginApp.cpp 2009-02-24 23:16:52 UTC (rev 3667) @@ -216,6 +216,7 @@ wxXmlResource::Get()->AddHandler(new CenterCanvasXmlHandler()); wxXmlResource::Get()->AddHandler(new CPEditorPanelXmlHandler()); wxXmlResource::Get()->AddHandler(new CPImageCtrlXmlHandler()); + wxXmlResource::Get()->AddHandler(new CPImagesComboBoxXmlHandler()); wxXmlResource::Get()->AddHandler(new OptimizePanelXmlHandler()); wxXmlResource::Get()->AddHandler(new OptimizePhotometricPanelXmlHandler()); wxXmlResource::Get()->AddHandler(new PanoPanelXmlHandler()); Modified: hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc =================================================================== --- hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc 2009-02-24 21:31:42 UTC (rev 3666) +++ hugin/trunk/src/hugin1/hugin/xrc/cp_editor_panel.xrc 2009-02-24 23:16:52 UTC (rev 3667) @@ -26,8 +26,9 @@ <border>3</border> </object> <object class="sizeritem"> - <object class="wxChoice" name="cp_editor_left_choice"> + <object class="CPImagesComboBox" name="cp_editor_left_choice"> <content/> + <style>wxCB_READONLY</style> </object> <option>1</option> <flag>wxALL|wxADJUST_MINSIZE</flag> @@ -58,8 +59,9 @@ <object class="wxBoxSizer"> <orient>wxHORIZONTAL</orient> <object class="sizeritem"> - <object class="wxChoice" name="cp_editor_right_choice"> + <object class="CPImagesComboBox" name="cp_editor_right_choice"> <content/> + <style>wxCB_READONLY</style> </object> <option>1</option> <flag>wxALL|wxADJUST_MINSIZE</flag> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <yu...@us...> - 2009-03-04 03:11:25
|
Revision: 3702 http://hugin.svn.sourceforge.net/hugin/?rev=3702&view=rev Author: yuv Date: 2009-03-04 03:11:24 +0000 (Wed, 04 Mar 2009) Log Message: ----------- fix: fixed path for celeste model file breaks Windows installer Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-04 01:23:00 UTC (rev 3701) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-04 03:11:24 UTC (rev 3702) @@ -423,9 +423,9 @@ strFile = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); strcpy( buf, (const char*) strFile.mb_str(wxConvUTF8)); string modelfile = buf; - #else + #else char buf[100]; - strcpy( buf, INSTALL_XRC_DIR ); + strcpy( buf, (const char*)MainFrame::Get()->GetXRCPath().mb_str(wxConvUTF8) ); // Will this slash work on Windows? strcat( buf, "data/"); strcat( buf, HUGIN_CELESTE_MODEL); Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-04 01:23:00 UTC (rev 3701) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-04 03:11:24 UTC (rev 3702) @@ -2183,7 +2183,7 @@ string modelfile = buf; #else char buf[100]; - strcpy( buf, INSTALL_XRC_DIR ); + strcpy( buf, (const char*)MainFrame::Get()->GetXRCPath().mb_str(wxConvUTF8) ); // Will this slash work on Windows? strcat( buf, "data/"); strcat( buf, HUGIN_CELESTE_MODEL); Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-04 01:23:00 UTC (rev 3701) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-04 03:11:24 UTC (rev 3702) @@ -752,7 +752,7 @@ string modelfile = buf; #else char buf[100]; - strcpy( buf, INSTALL_XRC_DIR ); + strcpy( buf, (const char*)MainFrame::Get()->GetXRCPath().mb_str(wxConvUTF8) ); // Will this slash work on Windows? strcat( buf, "data/"); strcat( buf, HUGIN_CELESTE_MODEL); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <yu...@us...> - 2009-03-04 19:14:23
|
Revision: 3704 http://hugin.svn.sourceforge.net/hugin/?rev=3704&view=rev Author: yuv Date: 2009-03-04 19:14:20 +0000 (Wed, 04 Mar 2009) Log Message: ----------- cleanup redundancy MainFrame::Get()->GetXRCPath() - huginApp::Get()->GetXRCPath(). may still have clean up potential in MainFrame.cpp and MainFrame.h Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/CPListFrame.cpp hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp hugin/trunk/src/hugin1/hugin/PanoDruid.cpp hugin/trunk/src/hugin1/hugin/PreferencesDialog.cpp hugin/trunk/src/hugin1/hugin/PreviewFrame.cpp hugin/trunk/src/hugin1/hugin/ResetDialog.cpp hugin/trunk/src/hugin1/hugin/RunStitcherFrame.cpp Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -425,7 +425,7 @@ string modelfile = buf; #else char buf[100]; - strcpy( buf, (const char*)MainFrame::Get()->GetXRCPath().mb_str(wxConvUTF8) ); + strcpy( buf, (const char*)huginApp::Get()->GetXRCPath().mb_str(wxConvUTF8) ); // Will this slash work on Windows? strcat( buf, "data/"); strcat( buf, HUGIN_CELESTE_MODEL); Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -2183,7 +2183,7 @@ string modelfile = buf; #else char buf[100]; - strcpy( buf, (const char*)MainFrame::Get()->GetXRCPath().mb_str(wxConvUTF8) ); + strcpy( buf, (const char*)huginApp::Get()->GetXRCPath().mb_str(wxConvUTF8) ); // Will this slash work on Windows? strcat( buf, "data/"); strcat( buf, HUGIN_CELESTE_MODEL); Modified: hugin/trunk/src/hugin1/hugin/CPListFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPListFrame.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/CPListFrame.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -272,9 +272,9 @@ this->SetBackgroundColour(XRCCTRL(*this, "cp_list_select", wxButton)->GetBackgroundColour()); #endif #ifdef __WXMSW__ - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); #else - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); #endif SetIcon(myIcon); Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -386,9 +386,9 @@ // set the minimize icon #ifdef __WXMSW__ - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); #else - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); #endif SetIcon(myIcon); Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -139,7 +139,7 @@ XRCCTRL(*this, "images_text_roll", wxTextCtrl)->PushEventHandler(new TextKillFocusHandler(this)); XRCCTRL(*this, "images_text_pitch", wxTextCtrl)->PushEventHandler(new TextKillFocusHandler(this)); - m_empty.LoadFile(MainFrame::Get()->GetXRCPath() + + m_empty.LoadFile(huginApp::Get()->GetXRCPath() + wxT("data/") + wxT("druid.images.128.png"), wxBITMAP_TYPE_PNG); wxStaticBitmap * bmp = XRCCTRL(*this, "images_selected_image", wxStaticBitmap); @@ -752,7 +752,7 @@ string modelfile = buf; #else char buf[100]; - strcpy( buf, (const char*)MainFrame::Get()->GetXRCPath().mb_str(wxConvUTF8) ); + strcpy( buf, (const char*)huginApp::Get()->GetXRCPath().mb_str(wxConvUTF8) ); // Will this slash work on Windows? strcat( buf, "data/"); strcat( buf, HUGIN_CELESTE_MODEL); Modified: hugin/trunk/src/hugin1/hugin/PanoDruid.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PanoDruid.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/PanoDruid.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -29,6 +29,7 @@ #include "panoinc.h" #include "hugin/PanoDruid.h" #include "hugin/MainFrame.h" +#include "hugin/huginApp.h" ///////////////////////////////////////////////////////////////////////////// @@ -277,7 +278,7 @@ wxHORIZONTAL ); m_advice = -1; - m_bitmap.LoadFile(MainFrame::Get()->GetXRCPath() + + m_bitmap.LoadFile(huginApp::Get()->GetXRCPath() + wxT("data/") + wxT("druid.stitch.128.png"), wxBITMAP_TYPE_PNG); m_graphic = new wxStaticBitmap(this, -1, m_bitmap, wxPoint(0,0)); @@ -353,7 +354,7 @@ full += '\n'; full += wxGetTranslation(sm_advice[hint]->text); m_text->SetLabel(full); - m_bitmap.LoadFile(MainFrame::Get()->GetXRCPath() + + m_bitmap.LoadFile(huginApp::Get()->GetXRCPath() + wxT("data/") + sm_advice[hint]->graphic, wxBITMAP_TYPE_PNG); m_graphic->SetBitmap(m_bitmap); Modified: hugin/trunk/src/hugin1/hugin/PreferencesDialog.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PreferencesDialog.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/PreferencesDialog.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -102,9 +102,9 @@ wxXmlResource::Get()->LoadDialog(this, parent, wxT("pref_dialog")); #ifdef __WXMSW__ - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); #else - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); #endif SetIcon(myIcon); Modified: hugin/trunk/src/hugin1/hugin/PreviewFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PreviewFrame.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/PreviewFrame.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -362,9 +362,9 @@ // set the minimize icon #ifdef __WXMSW__ - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); #else - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); #endif SetIcon(myIcon); Modified: hugin/trunk/src/hugin1/hugin/ResetDialog.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ResetDialog.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/ResetDialog.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -15,9 +15,9 @@ wxXmlResource::Get()->LoadDialog(this, parent, wxT("reset_dialog")); #ifdef __WXMSW__ - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); #else - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); #endif SetIcon(myIcon); //set parameters Modified: hugin/trunk/src/hugin1/hugin/RunStitcherFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/RunStitcherFrame.cpp 2009-03-04 19:04:22 UTC (rev 3703) +++ hugin/trunk/src/hugin1/hugin/RunStitcherFrame.cpp 2009-03-04 19:14:20 UTC (rev 3704) @@ -66,9 +66,9 @@ assert(ok); #if defined __WXMSW__ - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.ico"),wxBITMAP_TYPE_ICO); #else - wxIcon myIcon(MainFrame::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); + wxIcon myIcon(huginApp::Get()->GetXRCPath() + wxT("data/icon.png"),wxBITMAP_TYPE_PNG); #endif SetIcon(myIcon); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gko...@us...> - 2009-03-04 21:07:19
|
Revision: 3705 http://hugin.svn.sourceforge.net/hugin/?rev=3705&view=rev Author: gkohlmeyer Date: 2009-03-04 21:07:09 +0000 (Wed, 04 Mar 2009) Log Message: ----------- Simplified determination of celeste model file name on XRC path; Conforming result dialogs for celeste Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-04 19:14:20 UTC (rev 3704) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-04 21:07:09 UTC (rev 3705) @@ -386,9 +386,9 @@ bool createCtrlP = true; // TODO: handle existing control points properly instead of adding them twice. if (m_pano->getNrOfCtrlPoints() > 0) { - int a = wxMessageBox(wxString::Format(_("The panorama already has %d control points.\n\nSkip control points creation?"), m_pano->getNrOfCtrlPoints()), - _("Skip control point creation?"), wxICON_QUESTION | wxYES_NO); - createCtrlP = a != wxYES; + int a = wxMessageBox(wxString::Format(_("The panorama already has %d control points.\n\nSkip control points creation?"), m_pano->getNrOfCtrlPoints()), + _("Skip control point creation?"), wxICON_QUESTION | wxYES_NO); + createCtrlP = a != wxYES; } */ @@ -400,136 +400,127 @@ AutoCtrlPointCreator matcher; CPVector cps = matcher.automatch(*m_pano, imgs, nFeatures,this); GlobalCmdHist::getInstance().addCommand( - new PT::AddCtrlPointsCmd(*m_pano, cps) - ); + new PT::AddCtrlPointsCmd(*m_pano, cps) + ); } // Run Celeste bool t = wxConfigBase::Get()->Read(wxT("/Celeste/Auto"), HUGIN_CELESTE_AUTO); - if (t && m_pano->getNrOfCtrlPoints()){ + if (t && m_pano->getNrOfCtrlPoints()) + { - DEBUG_TRACE("Running Celeste"); - progress.increaseProgress(1, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + DEBUG_TRACE("Running Celeste"); + progress.increaseProgress(1, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); // set numeric locale to C, for correct number output char * old_locale = setlocale(LC_NUMERIC,NULL); setlocale(LC_NUMERIC,"C"); + // determine file name of SVM model file + // get XRC path from application + wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); + // convert wxString to string + string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); - // SVM model file - #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE - wxString strFile; - char buf[100]; - strFile = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); - strcpy( buf, (const char*) strFile.mb_str(wxConvUTF8)); - string modelfile = buf; - #else - char buf[100]; - strcpy( buf, (const char*)huginApp::Get()->GetXRCPath().mb_str(wxConvUTF8) ); - // Will this slash work on Windows? - strcat( buf, "data/"); - strcat( buf, HUGIN_CELESTE_MODEL); - string modelfile = buf; - #endif - - // SVM model file - if ( wxFile::Exists(wxString::FromAscii(buf)) ) { - - for (unsigned int imgNr = 0; imgNr < m_pano->getNrOfImages() - 1; imgNr++){ - - double progress_amount = (double)1/m_pano->getNrOfImages(); - progress.increaseProgress(progress_amount, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); - - const CPVector & controlPoints = m_pano->getCtrlPoints(); - unsigned int removed = 0; - - gNumLocs = 0; - for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { - PT::ControlPoint point = *it; - if (imgNr == point.image1Nr){ - gNumLocs++; - } - if (imgNr == point.image2Nr){ - gNumLocs++; - } - } - - // Create the storage matrix - gLocations = CreateMatrix( (int)0, gNumLocs, 2); - unsigned int glocation_counter = 0; - unsigned int cp_counter = 0; - vector<unsigned int> global_cp_nr; - - for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { - PT::ControlPoint point = *it; - if (imgNr == point.image1Nr){ - gLocations[glocation_counter][0] = (int)point.x1; - gLocations[glocation_counter][1] = (int)point.y1; - global_cp_nr.push_back(cp_counter); - glocation_counter++; - } - if (imgNr == point.image2Nr){ - gLocations[glocation_counter][0] = (int)point.x2; - gLocations[glocation_counter][1] = (int)point.y2; - global_cp_nr.push_back(cp_counter); - glocation_counter++; - } - cp_counter++; - } - - // SVM threshold - double threshold = HUGIN_CELESTE_THRESHOLD; - wxConfigBase::Get()->Read(wxT("/Celeste/Threshold"), &threshold, HUGIN_CELESTE_THRESHOLD); - - // Mask resolution - 1 sets it to fine - bool t = wxConfigBase::Get()->Read(wxT("/Celeste/Filter"), HUGIN_CELESTE_FILTER); - if (t){ - //cerr <<"---Celeste--- Using small filter" << endl; - gRadius = 10; - spacing = (gRadius * 2) + 1; - } - - // Image to analyse - string imagefile = m_pano->getImage(imgNr).getFilename(); + // SVM model file + if ( wxFile::Exists(wxstrModelFileName) ) + { - // Print progress - MainFrame::Get()->SetStatusText(_("searching for cloud-like control points..."),0); + for (unsigned int imgNr = 0; imgNr < m_pano->getNrOfImages() - 1; imgNr++){ - // Vector to store Gabor filter responses - vector<double> svm_responses_ap; - string mask_format = "PNG"; - unsigned int mask = 0; - - // Get responses - get_gabor_response(imagefile,mask,modelfile,threshold,mask_format,svm_responses_ap); + double progress_amount = (double)1/m_pano->getNrOfImages(); + progress.increaseProgress(progress_amount, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); - // Print SVM results - for (unsigned int c = 0; c < svm_responses_ap.size(); c++){ - - unsigned int pNr = global_cp_nr[c] - removed; - - if (svm_responses_ap[c] >= threshold){ + const CPVector & controlPoints = m_pano->getCtrlPoints(); + unsigned int removed = 0; - DEBUG_DEBUG("about to delete point " << pNr); - GlobalCmdHist::getInstance().addCommand( - new PT::RemoveCtrlPointCmd(*m_pano,pNr) - ); - removed++; - cout << "CP: " << c << "\tSVM Score: " << svm_responses_ap[c] << "\tremoved." << endl; - } - } - if (removed) cout << endl; + gNumLocs = 0; + for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { + PT::ControlPoint point = *it; + if (imgNr == point.image1Nr){ + gNumLocs++; + } + if (imgNr == point.image2Nr){ + gNumLocs++; + } + } - } - }else{ - wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); - } - - MainFrame::Get()->SetStatusText(_(""),0); - - // reset locale + // Create the storage matrix + gLocations = CreateMatrix( (int)0, gNumLocs, 2); + unsigned int glocation_counter = 0; + unsigned int cp_counter = 0; + vector<unsigned int> global_cp_nr; + + for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { + PT::ControlPoint point = *it; + if (imgNr == point.image1Nr){ + gLocations[glocation_counter][0] = (int)point.x1; + gLocations[glocation_counter][1] = (int)point.y1; + global_cp_nr.push_back(cp_counter); + glocation_counter++; + } + if (imgNr == point.image2Nr){ + gLocations[glocation_counter][0] = (int)point.x2; + gLocations[glocation_counter][1] = (int)point.y2; + global_cp_nr.push_back(cp_counter); + glocation_counter++; + } + cp_counter++; + } + + // SVM threshold + double threshold = HUGIN_CELESTE_THRESHOLD; + wxConfigBase::Get()->Read(wxT("/Celeste/Threshold"), &threshold, HUGIN_CELESTE_THRESHOLD); + + // Mask resolution - 1 sets it to fine + bool t = wxConfigBase::Get()->Read(wxT("/Celeste/Filter"), HUGIN_CELESTE_FILTER); + if (t){ + //cerr <<"---Celeste--- Using small filter" << endl; + gRadius = 10; + spacing = (gRadius * 2) + 1; + } + + // Image to analyse + string imagefile = m_pano->getImage(imgNr).getFilename(); + + // Print progress + MainFrame::Get()->SetStatusText(_("searching for cloud-like control points..."),0); + + // Vector to store Gabor filter responses + vector<double> svm_responses_ap; + string mask_format = "PNG"; + unsigned int mask = 0; + + // Get responses + get_gabor_response(imagefile, mask, strModelFileName, threshold, mask_format, svm_responses_ap); + + // Print SVM results + for (unsigned int c = 0; c < svm_responses_ap.size(); c++){ + + unsigned int pNr = global_cp_nr[c] - removed; + + if (svm_responses_ap[c] >= threshold){ + + DEBUG_DEBUG("about to delete point " << pNr); + GlobalCmdHist::getInstance().addCommand( + new PT::RemoveCtrlPointCmd(*m_pano,pNr) + ); + removed++; + cout << "CP: " << c << "\tSVM Score: " << svm_responses_ap[c] << "\tremoved." << endl; + } + } + if (removed) cout << endl; + + } + }else{ + wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); + } + + MainFrame::Get()->SetStatusText(_(""),0); + + // reset locale setlocale(LC_NUMERIC,old_locale); - + } DEBUG_TRACE("Finished running Celeste"); @@ -547,9 +538,9 @@ unsigned i2 = *(comps[1].begin()); MainFrame::Get()->ShowCtrlPointEditor( i1, i2); // display message box with - + wxMessageBox(wxString::Format(_("Warning %d unconnected image groups found:"), n) + Components2Str(comps) + wxT("\n") - + _("Please create control points between unconnected images using the Control Points tab.\n\nAfter adding the points, press the \"Align\" button again"),_("Error"), wxOK , this); + + _("Please create control points between unconnected images using the Control Points tab.\n\nAfter adding the points, press the \"Align\" button again"),_("Error"), wxOK , this); return; } @@ -624,7 +615,7 @@ // TODO: photometric optimisation. // first, ensure that vignetting and response coefficients are linked const char * varnames[] = {"Va", "Vb", "Vc", "Vd", "Vx", "Vy", - "Ra", "Rb", "Rc", "Rd", "Re", 0}; + "Ra", "Rb", "Rc", "Rd", "Re", 0}; for (size_t i = 0; i < optPano.getNrOfLenses(); i++) { const Lens & l = optPano.getLens(i); @@ -681,17 +672,17 @@ vigra::FRGBImage * img = new FRGBImage; if (!e) { wxMessageBox(_("Error: could not load all images"), - _("Error"),wxOK,this); + _("Error"),wxOK,this); return; } if (e->origType == "UINT8") { reduceToNextLevel(*(e->image8), *img); transformImage(vigra::srcImageRange(*img), vigra::destImage(*img), - vigra::functor::Arg1()/vigra::functor::Param(255.0)); + vigra::functor::Arg1()/vigra::functor::Param(255.0)); } else if (e->origType == "UINT16") { reduceToNextLevel(*(e->image16), *img); transformImage(vigra::srcImageRange(*img), vigra::destImage(*img), - vigra::functor::Arg1()/vigra::functor::Param(65535.0)); + vigra::functor::Arg1()/vigra::functor::Param(65535.0)); } else { reduceToNextLevel(*(e->imageFloat), *img); } @@ -709,7 +700,7 @@ } double error; smartOptimizePhotometric(optPano, poptmode, - points, *(MainFrame::Get()), error); + points, *(MainFrame::Get()), error); cout << "Auto align, photometric error: " << error *255 << " grey values" << std::endl; // calculate the mean exposure. Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-04 19:14:20 UTC (rev 3704) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-04 21:07:09 UTC (rev 3705) @@ -2134,115 +2134,107 @@ void CPEditorPanel::OnCelesteButton(wxCommandEvent & e) { - if (currentPoints.size() == 0) { - wxMessageBox(_("Cannot run celeste without at least one control point connecting the two images"),_("Error")); - cout << "Cannot run celeste without at least one control point connecting the two images" << endl; - }else{ + if (currentPoints.size() == 0) { + wxMessageBox(_("Cannot run celeste without at least one control point connecting the two images"),_("Error")); + cout << "Cannot run celeste without at least one control point connecting the two images" << endl; + }else{ - ProgressReporterDialog progress(3, _("Running Celeste"), _("Running Celeste"),this); + ProgressReporterDialog progress(3, _("Running Celeste"), _("Running Celeste"),this); - // set numeric locale to C, for correct number output - char * old_locale = setlocale(LC_NUMERIC,NULL); - setlocale(LC_NUMERIC,"C"); + // set numeric locale to C, for correct number output + char * old_locale = setlocale(LC_NUMERIC,NULL); + setlocale(LC_NUMERIC,"C"); - MainFrame::Get()->SetStatusText(_("searching for cloud-like control points..."),0); + MainFrame::Get()->SetStatusText(_("searching for cloud-like control points..."),0); - // Create the storage matrix - gNumLocs = currentPoints.size(); - gLocations = CreateMatrix( (int)0, gNumLocs, 2); - - // Load control points into gLocations - unsigned int glocation_counter = 0; - for (vector<CPoint>::const_iterator it = currentPoints.begin(); it != currentPoints.end(); ++it) { - gLocations[glocation_counter][0] = (int)it->second.x1; - gLocations[glocation_counter][1] = (int)it->second.y1; - glocation_counter++; - } - - // Get Celeste parameters - wxConfigBase *cfg = wxConfigBase::Get(); - - // SVM threshold - double threshold = HUGIN_CELESTE_THRESHOLD; - cfg->Read(wxT("/Celeste/Threshold"), &threshold, HUGIN_CELESTE_THRESHOLD); - - // Mask resolution - 1 sets it to fine - bool t = cfg->Read(wxT("/Celeste/Filter"), HUGIN_CELESTE_FILTER); - if (t){ - //cerr <<"---Celeste--- Using small filter" << endl; - gRadius = 10; - spacing = (gRadius * 2) + 1; - } + // Create the storage matrix + gNumLocs = currentPoints.size(); + gLocations = CreateMatrix( (int)0, gNumLocs, 2); - // SVM model file - #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE - wxString strFile; - char buf[100]; - strFile = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); - strcpy( buf, (const char*) strFile.mb_str(wxConvUTF8)); - string modelfile = buf; - #else - char buf[100]; - strcpy( buf, (const char*)huginApp::Get()->GetXRCPath().mb_str(wxConvUTF8) ); - // Will this slash work on Windows? - strcat( buf, "data/"); - strcat( buf, HUGIN_CELESTE_MODEL); - string modelfile = buf; - #endif + // Load control points into gLocations + unsigned int glocation_counter = 0; + for (vector<CPoint>::const_iterator it = currentPoints.begin(); it != currentPoints.end(); ++it) { + gLocations[glocation_counter][0] = (int)it->second.x1; + gLocations[glocation_counter][1] = (int)it->second.y1; + glocation_counter++; + } - // SVM model file - if (! wxFile::Exists(wxString::FromAscii(buf)) ) { - wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); - return ; - } + // Get Celeste parameters + wxConfigBase *cfg = wxConfigBase::Get(); - // Image to analyse - string imagefile = m_pano->getImage(m_leftImageNr).getFilename(); + // SVM threshold + double threshold = HUGIN_CELESTE_THRESHOLD; + cfg->Read(wxT("/Celeste/Threshold"), &threshold, HUGIN_CELESTE_THRESHOLD); - DEBUG_TRACE("Running Celeste"); - - progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + // Mask resolution - 1 sets it to fine + bool t = (cfg->Read(wxT("/Celeste/Filter"), HUGIN_CELESTE_FILTER) != 0); + if (t) + { + //cerr <<"---Celeste--- Using small filter" << endl; + gRadius = 10; + spacing = (gRadius * 2) + 1; + } - // Vector to store Gabor filter responses - vector<double> svm_responses_cp; - string mask_format = "PNG"; - unsigned int mask = 0; + // determine file name of SVM model file + // get XRC path from application + wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); + // convert wxString to string + string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); - // Get responses - get_gabor_response(imagefile,mask,modelfile,threshold,mask_format,svm_responses_cp); + // SVM model file + if (! wxFile::Exists(wxstrModelFileName) ) { + wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); + return ; + } - progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + // Image to analyse + string imagefile = m_pano->getImage(m_leftImageNr).getFilename(); - // Print SVM results - unsigned int removed = 0; - for (unsigned int c = 0; c < svm_responses_cp.size(); c++){ - - if (svm_responses_cp[c] >= threshold){ + DEBUG_TRACE("Running Celeste"); - unsigned int pNr = localPNr2GlobalPNr((c - removed)); - DEBUG_DEBUG("about to delete point " << pNr); - GlobalCmdHist::getInstance().addCommand( - new PT::RemoveCtrlPointCmd(*m_pano,pNr) - ); - removed++; - cout << "CP: " << c << "\tSVM Score: " << svm_responses_cp[c] << "\tremoved." << endl; - } - if (removed) cout << endl; - } + progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); - progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + // Vector to store Gabor filter responses + vector<double> svm_responses_cp; + string mask_format = "PNG"; + unsigned int mask = 0; - wxMessageBox(wxString::Format(_("Finished running Celeste.\n%d cloud-like control points removed."), - removed), _("Celeste"), wxICON_EXCLAMATION, this); + // Get responses + get_gabor_response(imagefile, mask, strModelFileName, threshold, mask_format, svm_responses_cp); - DEBUG_TRACE("Finished running Celeste"); + progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); - MainFrame::Get()->SetStatusText(_(""),0); + // Print SVM results + unsigned int removed = 0; + for (unsigned int c = 0; c < svm_responses_cp.size(); c++){ - // reset locale - setlocale(LC_NUMERIC,old_locale); - - } + if (svm_responses_cp[c] >= threshold){ + + unsigned int pNr = localPNr2GlobalPNr((c - removed)); + DEBUG_DEBUG("about to delete point " << pNr); + GlobalCmdHist::getInstance().addCommand( + new PT::RemoveCtrlPointCmd(*m_pano,pNr) + ); + removed++; + cout << "CP: " << c << "\tSVM Score: " << svm_responses_cp[c] << "\tremoved." << endl; + } + if (removed) + { + cout << endl; + } + } + + progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + + wxMessageBox(wxString::Format(_("Removed %d control points"), removed), _("Celeste result"),wxOK|wxICON_INFORMATION,this); + + DEBUG_TRACE("Finished running Celeste"); + + MainFrame::Get()->SetStatusText(_(""),0); + + // reset locale + setlocale(LC_NUMERIC,old_locale); + } } FDiff2D CPEditorPanel::LocalFineTunePoint(unsigned int srcNr, Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-04 19:14:20 UTC (rev 3704) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-04 21:07:09 UTC (rev 3705) @@ -729,141 +729,134 @@ void ImagesPanel::OnCelesteButton(wxCommandEvent & e) { - const UIntSet & selImg = images_list->GetSelected(); - unsigned int total_removed = 0; - - if ( selImg.size() == 0) { - DEBUG_WARN("Cannot run celeste without at least one point"); - }else{ - - ProgressReporterDialog progress(selImg.size()+1, _("Running Celeste"), _("Running Celeste"),this); - - DEBUG_TRACE("Running Celeste"); - // set numeric locale to C, for correct number output - char * old_locale = setlocale(LC_NUMERIC,NULL); - setlocale(LC_NUMERIC,"C"); + const UIntSet & selImg = images_list->GetSelected(); + unsigned int total_removed = 0; - // SVM model file - #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE - wxString strFile; - char buf[100]; - strFile = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); - strcpy( buf, (const char*) strFile.mb_str(wxConvUTF8)); - string modelfile = buf; - #else - char buf[100]; - strcpy( buf, (const char*)huginApp::Get()->GetXRCPath().mb_str(wxConvUTF8) ); - // Will this slash work on Windows? - strcat( buf, "data/"); - strcat( buf, HUGIN_CELESTE_MODEL); - string modelfile = buf; - #endif + if ( selImg.size() == 0) + { + DEBUG_WARN("Cannot run celeste without at least one point"); + } + else + { + ProgressReporterDialog progress(selImg.size()+1, _("Running Celeste"), _("Running Celeste"),this); - // SVM model file - if (! wxFile::Exists(wxString::FromAscii(buf)) ) { - wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); - return ; - } + DEBUG_TRACE("Running Celeste"); + // set numeric locale to C, for correct number output + char * old_locale = setlocale(LC_NUMERIC,NULL); + setlocale(LC_NUMERIC,"C"); - for (UIntSet::const_iterator itr = selImg.begin(); itr != selImg.end(); ++itr) { + // determine file name of SVM model file + // get XRC path from application + wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); + // convert wxString to string + string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); - progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); + // SVM model file + if (! wxFile::Exists(wxstrModelFileName) ) { + wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); + return ; + } - const CPVector & controlPoints = pano->getCtrlPoints(); - unsigned int removed = 0; - const unsigned int imgNr = *itr; - - gNumLocs = 0; - for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { - PT::ControlPoint point = *it; - if (imgNr == point.image1Nr){ - gNumLocs++; - } - if (imgNr == point.image2Nr){ - gNumLocs++; - } - } - - // Create the storage matrix - gLocations = CreateMatrix( (int)0, gNumLocs, 2); - unsigned int glocation_counter = 0; - unsigned int cp_counter = 0; - vector<unsigned int> global_cp_nr; - - for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { - PT::ControlPoint point = *it; - - if (imgNr == point.image1Nr){ - //cout << "---imgNr = " << imgNr << " point.image1Nr = " << point.image1Nr << endl; - gLocations[glocation_counter][0] = (int)point.x1; - gLocations[glocation_counter][1] = (int)point.y1; - global_cp_nr.push_back(cp_counter); - glocation_counter++; - } - if (imgNr == point.image2Nr){ - //cout << "---imgNr = " << imgNr << " point.image1Nr = " << point.image1Nr << endl; - gLocations[glocation_counter][0] = (int)point.x2; - gLocations[glocation_counter][1] = (int)point.y2; - global_cp_nr.push_back(cp_counter); - glocation_counter++; - } - cp_counter++; - } - - // SVM threshold - double threshold = HUGIN_CELESTE_THRESHOLD; - wxConfigBase::Get()->Read(wxT("/Celeste/Threshold"), &threshold, HUGIN_CELESTE_THRESHOLD); - - // Mask resolution - 1 sets it to fine - bool t = wxConfigBase::Get()->Read(wxT("/Celeste/Filter"), HUGIN_CELESTE_FILTER); - if (t){ - //cerr <<"---Celeste--- Using small filter" << endl; - gRadius = 10; - spacing = (gRadius * 2) + 1; - } - - // Image to analyse - string imagefile = pano->getImage(*itr).getFilename(); + for (UIntSet::const_iterator itr = selImg.begin(); itr != selImg.end(); ++itr) { - // Print progress - MainFrame::Get()->SetStatusText(_("searching for cloud-like control points..."),0); + progress.increaseProgress(1.0, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); - // Vector to store Gabor filter responses - vector<double> svm_responses_im; - string mask_format = "PNG"; - unsigned int mask = 0; - - // Get responses - get_gabor_response(imagefile,mask,modelfile,threshold,mask_format,svm_responses_im); - - MainFrame::Get()->SetStatusText(_("classifying control points..."),0); - - // Print SVM results - for (unsigned int c = 0; c < svm_responses_im.size(); c++){ - - unsigned int pNr = global_cp_nr[c] - removed; - - if (svm_responses_im[c] >= threshold){ + const CPVector & controlPoints = pano->getCtrlPoints(); + unsigned int removed = 0; + const unsigned int imgNr = *itr; - DEBUG_DEBUG("about to delete point " << pNr); - GlobalCmdHist::getInstance().addCommand( - new PT::RemoveCtrlPointCmd(*pano,pNr) - ); - removed++; - total_removed++; - cout << "CP: " << c << "\tSVM Score: " << svm_responses_im[c] << "\tremoved." << endl; - } - } - if (removed) cout << endl; - } - - MainFrame::Get()->SetStatusText(_(""),0); - - // reset locale - setlocale(LC_NUMERIC,old_locale); - } - - wxMessageBox(wxString::Format(_("Removed %d control points"), total_removed), _("Celeste result"),wxOK|wxICON_INFORMATION,this); - + gNumLocs = 0; + for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { + PT::ControlPoint point = *it; + if (imgNr == point.image1Nr){ + gNumLocs++; + } + if (imgNr == point.image2Nr){ + gNumLocs++; + } + } + + // Create the storage matrix + gLocations = CreateMatrix( (int)0, gNumLocs, 2); + unsigned int glocation_counter = 0; + unsigned int cp_counter = 0; + vector<unsigned int> global_cp_nr; + + for (PT::CPVector::const_iterator it = controlPoints.begin(); it != controlPoints.end(); ++it) { + PT::ControlPoint point = *it; + + if (imgNr == point.image1Nr){ + //cout << "---imgNr = " << imgNr << " point.image1Nr = " << point.image1Nr << endl; + gLocations[glocation_counter][0] = (int)point.x1; + gLocations[glocation_counter][1] = (int)point.y1; + global_cp_nr.push_back(cp_counter); + glocation_counter++; + } + if (imgNr == point.image2Nr){ + //cout << "---imgNr = " << imgNr << " point.image1Nr = " << point.image1Nr << endl; + gLocations[glocation_counter][0] = (int)point.x2; + gLocations[glocation_counter][1] = (int)point.y2; + global_cp_nr.push_back(cp_counter); + glocation_counter++; + } + cp_counter++; + } + + // SVM threshold + double threshold = HUGIN_CELESTE_THRESHOLD; + wxConfigBase::Get()->Read(wxT("/Celeste/Threshold"), &threshold, HUGIN_CELESTE_THRESHOLD); + + // Mask resolution - 1 sets it to fine + bool t = wxConfigBase::Get()->Read(wxT("/Celeste/Filter"), HUGIN_CELESTE_FILTER); + if (t){ + //cerr <<"---Celeste--- Using small filter" << endl; + gRadius = 10; + spacing = (gRadius * 2) + 1; + } + + // Image to analyse + string imagefile = pano->getImage(*itr).getFilename(); + + // Print progress + MainFrame::Get()->SetStatusText(_("searching for cloud-like control points..."),0); + + // Vector to store Gabor filter responses + vector<double> svm_responses_im; + string mask_format = "PNG"; + unsigned int mask = 0; + + // Get responses + get_gabor_response(imagefile, mask, strModelFileName, threshold, mask_format, svm_responses_im); + + MainFrame::Get()->SetStatusText(_("classifying control points..."),0); + + // Print SVM results + for (unsigned int c = 0; c < svm_responses_im.size(); c++){ + + unsigned int pNr = global_cp_nr[c] - removed; + + if (svm_responses_im[c] >= threshold){ + + DEBUG_DEBUG("about to delete point " << pNr); + GlobalCmdHist::getInstance().addCommand( + new PT::RemoveCtrlPointCmd(*pano,pNr) + ); + removed++; + total_removed++; + cout << "CP: " << c << "\tSVM Score: " << svm_responses_im[c] << "\tremoved." << endl; + } + } + if (removed) + { + cout << endl; + } + } + MainFrame::Get()->SetStatusText(_(""),0); + + // reset locale + setlocale(LC_NUMERIC,old_locale); + } + + wxMessageBox(wxString::Format(_("Removed %d control points"), total_removed), _("Celeste result"),wxOK|wxICON_INFORMATION,this); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: Bruno P. <br...@po...> - 2009-03-05 00:08:33
|
Hi, I have no objection to making lots of whitespace changes, it's a good thing to make the code more readable, but mixing them with actual code changes in the same commit makes it really difficult to follow what is going on: On Wed 04-Mar-2009 at 21:07 +0000, gko...@us... wrote: >@@ -400,136 +400,127 @@ > AutoCtrlPointCreator matcher; > CPVector cps = matcher.automatch(*m_pano, imgs, nFeatures,this); > GlobalCmdHist::getInstance().addCommand( >- new PT::AddCtrlPointsCmd(*m_pano, cps) >- ); >+ new PT::AddCtrlPointsCmd(*m_pano, cps) >+ ); > } > > // Run Celeste > bool t = wxConfigBase::Get()->Read(wxT("/Celeste/Auto"), HUGIN_CELESTE_AUTO); >- if (t && m_pano->getNrOfCtrlPoints()){ >+ if (t && m_pano->getNrOfCtrlPoints()) >+ { > >- DEBUG_TRACE("Running Celeste"); >- progress.increaseProgress(1, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); >+ DEBUG_TRACE("Running Celeste"); >+ progress.increaseProgress(1, std::string(wxString(_("Running Celeste")).mb_str(wxConvLocal))); |
From: <gko...@us...> - 2009-03-04 22:34:09
|
Revision: 3706 http://hugin.svn.sourceforge.net/hugin/?rev=3706&view=rev Author: gkohlmeyer Date: 2009-03-04 22:33:58 +0000 (Wed, 04 Mar 2009) Log Message: ----------- [Win32] Fix of flicker effect on redraw in OpenGL preview Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/GLViewer.cpp hugin/trunk/src/hugin1/hugin/GLViewer.h Modified: hugin/trunk/src/hugin1/hugin/GLViewer.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/GLViewer.cpp 2009-03-04 21:07:09 UTC (rev 3705) +++ hugin/trunk/src/hugin1/hugin/GLViewer.cpp 2009-03-04 22:33:58 UTC (rev 3706) @@ -39,6 +39,7 @@ BEGIN_EVENT_TABLE(GLViewer, wxGLCanvas) EVT_PAINT (GLViewer::RedrawE) EVT_SIZE (GLViewer::Resized) + EVT_ERASE_BACKGROUND(GLViewer::OnEraseBackground) // mouse motion EVT_MOTION (GLViewer::MouseMotion) // mouse entered or left the preview @@ -177,9 +178,9 @@ // we should use the window background colour outside the panorama // FIXME shouldn't this work on textured backrounds? - wxColour col = wxSystemSettings::GetColour(wxSYS_COLOUR_WINDOW); + wxColour col = wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE); m_renderer->SetBackground(col.Red(), col.Green(), col.Blue()); - + if (m_view_state->RequireRecalculateViewport()) { // resize the viewport in case the panorama dimensions have changed. @@ -196,6 +197,11 @@ DEBUG_INFO("Finished Rendering."); } +void GLViewer::OnEraseBackground(wxEraseEvent& e) +{ + // Do nothing, to avoid flashing on MSW +} + void GLViewer::MouseMotion(wxMouseEvent& e) { if(m_renderer) Modified: hugin/trunk/src/hugin1/hugin/GLViewer.h =================================================================== --- hugin/trunk/src/hugin1/hugin/GLViewer.h 2009-03-04 21:07:09 UTC (rev 3705) +++ hugin/trunk/src/hugin1/hugin/GLViewer.h 2009-03-04 22:33:58 UTC (rev 3706) @@ -50,6 +50,7 @@ ViewState * m_view_state; protected: + void OnEraseBackground(wxEraseEvent& e); void MouseMotion(wxMouseEvent& e); void MouseLeave(wxMouseEvent & e); void LeftDown(wxMouseEvent& e); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <har...@us...> - 2009-03-15 14:41:38
|
Revision: 3740 http://hugin.svn.sourceforge.net/hugin/?rev=3740&view=rev Author: harryvanderwolf Date: 2009-03-15 14:41:22 +0000 (Sun, 15 Mar 2009) Log Message: ----------- [OSX] fix use of celeste.model within mac bundle after svn3705 patch Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-15 13:51:28 UTC (rev 3739) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-03-15 14:41:22 UTC (rev 3740) @@ -416,12 +416,18 @@ char * old_locale = setlocale(LC_NUMERIC,NULL); setlocale(LC_NUMERIC,"C"); - // determine file name of SVM model file - // get XRC path from application - wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); - // convert wxString to string + // determine file name of SVM model file + // get XRC path from application + wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); + // convert wxString to string string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); - + #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE + char buf[100]; + wxstrModelFileName = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); + strcpy( buf, (const char*) wxstrModelFileName.mb_str(wxConvUTF8)); + strModelFileName = buf; + #endif + // SVM model file if ( wxFile::Exists(wxstrModelFileName) ) { Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-15 13:51:28 UTC (rev 3739) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-03-15 14:41:22 UTC (rev 3740) @@ -2180,6 +2180,13 @@ wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); // convert wxString to string string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); + #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE + char buf[100]; + wxstrModelFileName = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); + strcpy( buf, (const char*) wxstrModelFileName.mb_str(wxConvUTF8)); + strModelFileName = buf; + #endif + // SVM model file if (! wxFile::Exists(wxstrModelFileName) ) { Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-15 13:51:28 UTC (rev 3739) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-03-15 14:41:22 UTC (rev 3740) @@ -745,12 +745,19 @@ char * old_locale = setlocale(LC_NUMERIC,NULL); setlocale(LC_NUMERIC,"C"); - // determine file name of SVM model file - // get XRC path from application - wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); - // convert wxString to string + // determine file name of SVM model file + // get XRC path from application + wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); + // convert wxString to string string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); + #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE + char buf[100]; + wxstrModelFileName = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); + strcpy( buf, (const char*) wxstrModelFileName.mb_str(wxConvUTF8)); + strModelFileName = buf; + #endif + // SVM model file if (! wxFile::Exists(wxstrModelFileName) ) { wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <har...@us...> - 2009-04-04 14:43:30
|
Revision: 3775 http://hugin.svn.sourceforge.net/hugin/?rev=3775&view=rev Author: harryvanderwolf Date: 2009-04-04 14:43:18 +0000 (Sat, 04 Apr 2009) Log Message: ----------- [OSX] Undo patch 3705 after patch 3765 Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp Modified: hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-04-03 07:14:21 UTC (rev 3774) +++ hugin/trunk/src/hugin1/hugin/AssistantPanel.cpp 2009-04-04 14:43:18 UTC (rev 3775) @@ -421,12 +421,6 @@ wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); // convert wxString to string string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); - #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE - char buf[100]; - wxstrModelFileName = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); - strcpy( buf, (const char*) wxstrModelFileName.mb_str(wxConvUTF8)); - strModelFileName = buf; - #endif // SVM model file if ( wxFile::Exists(wxstrModelFileName) ) Modified: hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-04-03 07:14:21 UTC (rev 3774) +++ hugin/trunk/src/hugin1/hugin/CPEditorPanel.cpp 2009-04-04 14:43:18 UTC (rev 3775) @@ -2180,8 +2180,7 @@ wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); // convert wxString to string string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); - - + // SVM model file if (! wxFile::Exists(wxstrModelFileName) ) { wxMessageBox(_("Celeste model file not found, Hugin needs to be properly installed." ), _("Fatal Error")); Modified: hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-04-03 07:14:21 UTC (rev 3774) +++ hugin/trunk/src/hugin1/hugin/ImagesPanel.cpp 2009-04-04 14:43:18 UTC (rev 3775) @@ -750,13 +750,6 @@ wxString wxstrModelFileName = huginApp::Get()->GetXRCPath() + wxT("data/") + wxT(HUGIN_CELESTE_MODEL); // convert wxString to string string strModelFileName(wxstrModelFileName.mb_str(wxConvUTF8)); - - #if __WXMAC__ && defined MAC_SELF_CONTAINED_BUNDLE - char buf[100]; - wxstrModelFileName = MacGetPathToBundledResourceFile(CFSTR("celeste.model")); - strcpy( buf, (const char*) wxstrModelFileName.mb_str(wxConvUTF8)); - strModelFileName = buf; - #endif // SVM model file if (! wxFile::Exists(wxstrModelFileName) ) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <gko...@us...> - 2009-05-08 16:59:55
|
Revision: 3839 http://hugin.svn.sourceforge.net/hugin/?rev=3839&view=rev Author: gkohlmeyer Date: 2009-05-08 16:59:47 +0000 (Fri, 08 May 2009) Log Message: ----------- [FIX] Better handling of OpenGL difference tool and OpenGL capabilities detection Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-05-08 13:57:49 UTC (rev 3838) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-05-08 16:59:47 UTC (rev 3839) @@ -31,6 +31,9 @@ #include <config.h> +#define GLEW_STATIC +#include <GL/glew.h> + #include "panoinc_WX.h" #include "panoinc.h" @@ -129,8 +132,16 @@ PF_STYLE), m_pano(pano) { - DEBUG_TRACE(""); + DEBUG_TRACE(""); + // initialize pointer + helper = NULL; + crop_tool = NULL; + drag_tool = NULL; + identify_tool = NULL ; + difference_tool = NULL; + pano_mask_tool = NULL; + m_oldProjFormat = -1; m_ToolBar = wxXmlResource::Get()->LoadToolBar(this, wxT("fast_preview_toolbar")); DEBUG_ASSERT(m_ToolBar); @@ -142,12 +153,6 @@ DEBUG_ASSERT(crop_tool_id != -2); identify_tool_id = wxXmlResource::Get()->GetXRCID(wxT("preview_identify_tool")); DEBUG_ASSERT(identify_tool_id != -2); - - /* We zero this pointer as it is used to check if the tool objects were ever - * created when the GLPreviewFrame is deleted, and therefore if the tools - * need freeing. The tools are created only when the preview is used. - */ - crop_tool = 0; m_topsizer = new wxBoxSizer( wxVERTICAL ); @@ -269,14 +274,30 @@ wxALL | wxALIGN_CENTER_VERTICAL, // draw border all around 5); // border width - m_choices[0] = _("normal"); - m_choices[1] = _("difference"); - - int oldMode = wxConfigBase::Get()->Read(wxT("/GLPreviewFrame/blendMode"), 0l); - if (oldMode > 1) oldMode = 0; + // prepare choice item for blend selection + int numBlendChoices = 0; + m_choices[numBlendChoices++] = _("normal"); + // test of OpenGL extension GL_ARB_imaging for difference blend + GLenum err = glewInit(); + if (GLEW_OK != err) + { + if (glewIsSupported("GL_ARB_imaging")) + { + // GL_ARB_imaging available, add difference mode to choice + m_choices[numBlendChoices++] = _("difference"); + } + } + // create choice item m_BlendModeChoice = new wxChoice(this, ID_BLEND_CHOICE, wxDefaultPosition, wxDefaultSize, - 2, m_choices); + numBlendChoices, m_choices); + // get blend mode last state + int oldMode = wxConfigBase::Get()->Read(wxT("/GLPreviewFrame/blendMode"), 0l); + // limit old state to max available states + if (oldMode >= numBlendChoices) + { + oldMode = 0; + } m_BlendModeChoice->SetSelection(oldMode); blendModeSizer->Add(m_BlendModeChoice, @@ -401,9 +422,6 @@ RestoreFramePosition(this, wxT("GLPreviewFrame")); - // TODO tell renderer - // m_PreviewPanel->SetBlendMode((PreviewPanel::BlendMode)oldMode ); - #ifdef __WXMSW__ // wxFrame does have a strange background color on Windows.. this->SetBackgroundColour(m_GLViewer->GetBackgroundColour()); @@ -412,6 +430,7 @@ if (config->Read(wxT("/GLPreviewFrame/isShown"), 0l) != 0) { Show(); } + crop_tool = 0; } GLPreviewFrame::~GLPreviewFrame() @@ -444,6 +463,42 @@ DEBUG_TRACE("dtor end"); } +/** +* Update tools and GUI elements according to blend mode choice +*/ +void GLPreviewFrame::updateBlendMode() +{ + if (m_BlendModeChoice != NULL) + { + switch (m_BlendModeChoice->GetSelection()) + { + case 0: + // normal node + if (helper != NULL + && difference_tool != NULL) + { + helper->DeactivateTool(difference_tool); + } + break; + case 1: + // difference mode + if (helper != NULL + && identify_tool != NULL + && difference_tool != NULL + && m_ToolBar != NULL) + { + helper->DeactivateTool(identify_tool); + m_ToolBar->ToggleTool(identify_tool_id, false); + helper->ActivateTool(difference_tool); + CleanButtonColours(); + } + break; + default: + DEBUG_WARN("Unknown blend mode selected"); + } + } +} + void GLPreviewFrame::panoramaChanged(Panorama &pano) { const PanoramaOptions & opts = pano.getOptions(); @@ -858,22 +913,12 @@ void GLPreviewFrame::OnBlendChoice(wxCommandEvent & e) { - if (e.GetEventObject() == m_BlendModeChoice) { - int sel = e.GetSelection(); - switch (sel) { - case 0: - helper->DeactivateTool(difference_tool); - break; - case 1: - helper->DeactivateTool(identify_tool); - m_ToolBar->ToggleTool(identify_tool_id, false); - helper->ActivateTool(difference_tool); - CleanButtonColours(); - break; - default: - DEBUG_WARN("Unknown blend mode selected"); - } - } else { + if (e.GetEventObject() == m_BlendModeChoice) + { + updateBlendMode(); + } + else + { // FIXME DEBUG_WARN("wxChoice event from unknown object received"); } } @@ -919,7 +964,7 @@ new PT::SetPanoOptionsCmd( m_pano, opt ) ); DEBUG_DEBUG ("Projection changed: " << lt); - Refresh(); + } else { // FIXME DEBUG_WARN("wxChoice event from unknown object received"); } @@ -1007,10 +1052,8 @@ // activate tools that are always active. helper->ActivateTool(pano_mask_tool); - // activate difference tool, when selected difference mode at last use - int blendMode = wxConfigBase::Get()->Read(wxT("/GLPreviewFrame/blendMode"), 0l); - if(blendMode==1) - helper->ActivateTool(difference_tool); + // update the blend mode which activates some tools + updateBlendMode(); } void GLPreviewFrame::OnCrop(wxCommandEvent & e) Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h 2009-05-08 13:57:49 UTC (rev 3838) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h 2009-05-08 16:59:47 UTC (rev 3839) @@ -126,7 +126,8 @@ void OnProjectionChoice(wxCommandEvent & e); // No HDR display yet // void OnOutputChoice(wxCommandEvent & e); - + // update tools according to blend mode choice + void updateBlendMode(); // update the panorama display void updatePano(); private: Modified: hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp 2009-05-08 13:57:49 UTC (rev 3838) +++ hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp 2009-05-08 16:59:47 UTC (rev 3839) @@ -44,10 +44,12 @@ void PreviewDifferenceTool::Activate() { over_image = false; - // activate only if OpenGL extension GL_ARB_imaging is available + // Activate difference tool only if OpenGL extension GL_ARB_imaging is available // cause the extension contains required functions like glBlendEquation - std::string result((char*)glGetString(GL_EXTENSIONS)); - if (result.find("GL_ARB_imaging", 0) != std::string::npos || result.find("GL_EXT_blend_subtract",0)!=std::string::npos) + // In general this check should be superfluous, due to the fact that the preview frame + // must check the OpenGL capabilities and never call this method if differencing is + // not supported, but check twice is saver. + if (glewIsSupported("GL_ARB_imaging")) { helper->NotifyMe(PreviewToolHelper::IMAGES_UNDER_MOUSE_CHANGE, this); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <yu...@us...> - 2009-05-19 00:52:13
|
Revision: 3862 http://hugin.svn.sourceforge.net/hugin/?rev=3862&view=rev Author: yuv Date: 2009-05-19 00:51:45 +0000 (Tue, 19 May 2009) Log Message: ----------- add number of control points to dropdown Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h Modified: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp 2009-05-18 19:52:04 UTC (rev 3861) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp 2009-05-19 00:51:45 UTC (rev 3862) @@ -121,11 +121,26 @@ wxCoord w, h; GetTextExtent(GetString(item), &w, &h); wxCoord maxWidth=0.73*rect.width-3; + + // if image connected by control points, add number of CPs to width equation as well + // TODO: note that since wxWidgets 2.9.0 you should not use wxT anymore <http://docs.wxwidgets.org/trunk/group__group__funcmacro__string.html#g437ea6ba615b75dac8603e96ec864160> + wxCoord qty_w = 0; + wxString qty_cp = wxT(""); + if(CPConnection[item]>-1.0) + { + qty_cp = wxString::Format(wxT(" %d"), CPCount[item]); + GetTextExtent(qty_cp, &qty_w, &h); + } + // determine if the string can fit inside the current combo box - if (w <= maxWidth) + if (w +qty_w <= maxWidth) { // it can, draw it dc.DrawText(GetString(item),rect.x + 3,rect.y + ((rect.height - dc.GetCharHeight())/2)); + // draw the number of CPs +// dc.DrawText(qty_cp, rect.x + 3 + w , rect.y + ((rect.height - dc.GetCharHeight())/2)); +// dc.DrawText(qty_cp, rect.x + 3 - qty_w - 0.75*rect.width , rect.y + ((rect.height - dc.GetCharHeight())/2)); + } else // otherwise, truncate and add an ellipsis { @@ -140,16 +155,19 @@ { drawntext.RemoveLast(); GetTextExtent(drawntext,&w,&h); - if (w + base_w <= maxWidth) + if (w + base_w + qty_w <= maxWidth) break; } // now draw the text dc.DrawText(drawntext, rect.x + 3, rect.y + ((rect.height - dc.GetCharHeight())/2)); dc.DrawText(ellipsis, rect.x + 3 + w, rect.y + ((rect.height - dc.GetCharHeight())/2)); + // draw the number of CPs +// dc.DrawText(qty_cp, rect.x + 3 + w + base_w, rect.y + ((rect.height - dc.GetCharHeight())/2)); +// dc.DrawText(qty_cp, rect.x + 3 - qty_w - 0.75*rect.width , rect.y + ((rect.height - dc.GetCharHeight())/2)); } - //draw rectangle when images are connected by control points + // draw rectangle when images are connected by control points if(CPConnection[item]>-1.0) { wxCoord x; @@ -157,12 +175,14 @@ //ensure that always a bar is drawn x=max<wxCoord>(5,x); wxPen MyPen(wxColour(0,192,0),1,wxSOLID); + // TODO: set color so that green is always 192 and red is from 255 to 0, proportional to x so that it is 0 at its best and 255 at its worse wxBrush MyBrush(wxColour(0,192,0),wxSOLID); const wxPen * oldPen = & dc.GetPen(); const wxBrush * oldBrush= & dc.GetBrush(); if(CPConnection[item]>5) { MyPen.SetColour(wxColour(255,0,0)); + // TODO: set color so that red is always 255 and green is from 192 to 0, proportional to x so that it is 0 at its worse and 192 at its best MyBrush.SetColour(wxColour(255,0,0)); }; //inner rectangle, proportional to max cp error (max. 10) @@ -176,25 +196,32 @@ dc.DrawRectangle(rect.x+0.75*rect.width,rect.y+rect.height/6+1,rect.width/5,2*rect.height/3); dc.SetPen(*oldPen); dc.SetBrush(*oldBrush); + // draw number of connecting CPs + dc.DrawText(qty_cp, rect.x - 3 - qty_w +0.75*rect.width , rect.y + ((rect.height - dc.GetCharHeight())/2)); + }; }; void CPImagesComboBox::CalcCPDistance(Panorama * pano) { CPConnection.clear(); + CPCount.clear(); CPConnection.resize(this->GetCount(),-1.0); + CPCount.resize(this->GetCount(),0); unsigned int noPts = pano->getNrOfCtrlPoints(); - // loop over all points to get the maximum error + // loop over all points to get the maximum error and to count the number of CPs for (unsigned int ptIdx = 0 ; ptIdx < noPts ; ptIdx++) { const ControlPoint & cp = pano->getCtrlPoint(ptIdx); if(cp.image1Nr==refImage) { CPConnection[cp.image2Nr]=max<double>(cp.error,CPConnection[cp.image2Nr]); + CPCount[cp.image2Nr]++; } else if(cp.image2Nr==refImage) { CPConnection[cp.image1Nr]=max<double>(cp.error,CPConnection[cp.image1Nr]); + CPCount[cp.image1Nr]++; }; } }; Modified: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h 2009-05-18 19:52:04 UTC (rev 3861) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h 2009-05-19 00:51:45 UTC (rev 3862) @@ -62,6 +62,7 @@ private: unsigned int refImage; std::vector<double> CPConnection; + std::vector<unsigned int> CPCount; void Init(); void SelectNext(int step = 1); void SelectPrev(int step = 1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tm...@us...> - 2009-05-19 05:24:08
|
Revision: 3864 http://hugin.svn.sourceforge.net/hugin/?rev=3864&view=rev Author: tmodes Date: 2009-05-19 05:24:03 +0000 (Tue, 19 May 2009) Log Message: ----------- Add license header and author for CPImagesComboBox and ResetDialog Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h hugin/trunk/src/hugin1/hugin/ResetDialog.cpp hugin/trunk/src/hugin1/hugin/ResetDialog.h Modified: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp 2009-05-19 00:54:41 UTC (rev 3863) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp 2009-05-19 05:24:03 UTC (rev 3864) @@ -1,5 +1,31 @@ -/** Implementation of CPImagesComboBox and CPImagesComboBoxXmlHandler */ +// -*- c-basic-offset: 4 -*- +/** @file CPImagesComboBox.cpp + * + * @brief Implementation of CPImagesComboBox and CPImagesComboBoxXmlHandler class + * + * @author Thomas Modes + * + * $Id: CPImagesComboBox.cpp 5860 2009-05-18 22:24:11Z tmodes $ + * + */ + +/* This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this software; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + #include "hugin/CPImagesComboBox.h" BEGIN_EVENT_TABLE(CPImagesComboBox,wxOwnerDrawnComboBox) Modified: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h 2009-05-19 00:54:41 UTC (rev 3863) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h 2009-05-19 05:24:03 UTC (rev 3864) @@ -1,8 +1,15 @@ // -*- c-basic-offset: 4 -*- -/* @file CPImagesComboBox.h +/** @file CPImagesComboBox.h * + * @brief Definition of CPImagesComboBox and CPImagesComboBoxXmlHandler class * - * This is free software; you can redistribute it and/or + * @author Thomas Modes + * + * $Id: CPImagesComboBox.h 5860 2009-05-18 22:24:11Z tmodes $ + * + */ + +/* This is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. Modified: hugin/trunk/src/hugin1/hugin/ResetDialog.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ResetDialog.cpp 2009-05-19 00:54:41 UTC (rev 3863) +++ hugin/trunk/src/hugin1/hugin/ResetDialog.cpp 2009-05-19 05:24:03 UTC (rev 3864) @@ -1,5 +1,31 @@ -/** implementation of ResetDialog */ +// -*- c-basic-offset: 4 -*- +/** @file ResetDialog.cpp + * + * @brief implementation of ResetDialog class + * + * @author Thomas Modes + * + * $Id: ResetDialog.cpp 5860 2009-05-18 22:24:11Z tmodes $ + * + */ + +/* This is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this software; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ + #include "hugin/ResetDialog.h" #include "common/wxPlatform.h" Modified: hugin/trunk/src/hugin1/hugin/ResetDialog.h =================================================================== --- hugin/trunk/src/hugin1/hugin/ResetDialog.h 2009-05-19 00:54:41 UTC (rev 3863) +++ hugin/trunk/src/hugin1/hugin/ResetDialog.h 2009-05-19 05:24:03 UTC (rev 3864) @@ -1,8 +1,15 @@ // -*- c-basic-offset: 4 -*- -/* @file ResetDialog.h +/** @file ResetDialog.h * + * @brief Definition of ResetDialog class * - * This is free software; you can redistribute it and/or + * @author Thomas Modes + * + * $Id: ResetDialog.h 5860 2009-05-18 22:24:11Z tmodes $ + * + */ + +/* This is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tm...@us...> - 2009-05-19 05:46:01
|
Revision: 3865 http://hugin.svn.sourceforge.net/hugin/?rev=3865&view=rev Author: tmodes Date: 2009-05-19 05:45:49 +0000 (Tue, 19 May 2009) Log Message: ----------- Set svn:keywords property to Id for CPImagesComboBox and ResetDialog Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h hugin/trunk/src/hugin1/hugin/ResetDialog.cpp hugin/trunk/src/hugin1/hugin/ResetDialog.h Property Changed: ---------------- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h hugin/trunk/src/hugin1/hugin/ResetDialog.cpp hugin/trunk/src/hugin1/hugin/ResetDialog.h Modified: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp 2009-05-19 05:24:03 UTC (rev 3864) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp 2009-05-19 05:45:49 UTC (rev 3865) @@ -6,7 +6,7 @@ * * @author Thomas Modes * - * $Id: CPImagesComboBox.cpp 5860 2009-05-18 22:24:11Z tmodes $ + * $Id$ * */ Property changes on: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.cpp ___________________________________________________________________ Added: svn:keywords + Id Modified: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h =================================================================== --- hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h 2009-05-19 05:24:03 UTC (rev 3864) +++ hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h 2009-05-19 05:45:49 UTC (rev 3865) @@ -5,7 +5,7 @@ * * @author Thomas Modes * - * $Id: CPImagesComboBox.h 5860 2009-05-18 22:24:11Z tmodes $ + * $Id$ * */ Property changes on: hugin/trunk/src/hugin1/hugin/CPImagesComboBox.h ___________________________________________________________________ Added: svn:keywords + Id Modified: hugin/trunk/src/hugin1/hugin/ResetDialog.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/ResetDialog.cpp 2009-05-19 05:24:03 UTC (rev 3864) +++ hugin/trunk/src/hugin1/hugin/ResetDialog.cpp 2009-05-19 05:45:49 UTC (rev 3865) @@ -6,7 +6,7 @@ * * @author Thomas Modes * - * $Id: ResetDialog.cpp 5860 2009-05-18 22:24:11Z tmodes $ + * $Id$ * */ Property changes on: hugin/trunk/src/hugin1/hugin/ResetDialog.cpp ___________________________________________________________________ Added: svn:keywords + Id Modified: hugin/trunk/src/hugin1/hugin/ResetDialog.h =================================================================== --- hugin/trunk/src/hugin1/hugin/ResetDialog.h 2009-05-19 05:24:03 UTC (rev 3864) +++ hugin/trunk/src/hugin1/hugin/ResetDialog.h 2009-05-19 05:45:49 UTC (rev 3865) @@ -5,7 +5,7 @@ * * @author Thomas Modes * - * $Id: ResetDialog.h 5860 2009-05-18 22:24:11Z tmodes $ + * $Id$ * */ Property changes on: hugin/trunk/src/hugin1/hugin/ResetDialog.h ___________________________________________________________________ Added: svn:keywords + Id This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tm...@us...> - 2009-06-05 05:53:24
|
Revision: 3917 http://hugin.svn.sourceforge.net/hugin/?rev=3917&view=rev Author: tmodes Date: 2009-06-05 05:53:17 +0000 (Fri, 05 Jun 2009) Log Message: ----------- Fixes detection of difference mode capability of Fast Preview Frame Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h hugin/trunk/src/hugin1/hugin/GLViewer.cpp hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.h Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-06-05 05:17:52 UTC (rev 3916) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-06-05 05:53:17 UTC (rev 3917) @@ -275,26 +275,15 @@ 5); // border width // prepare choice item for blend selection - int numBlendChoices = 0; - m_choices[numBlendChoices++] = _("normal"); - // test of OpenGL extension GL_ARB_imaging for difference blend - if (glewIsSupported("GL_ARB_imaging")) - { - // GL_ARB_imaging available, add difference mode to choice - m_choices[numBlendChoices++] = _("difference"); - } + m_choices[0] = _("normal"); + // remaining blend mode should be added after OpenGL context has been created + // see FillBlendMode() + m_differenceIndex = -1; // create choice item m_BlendModeChoice = new wxChoice(this, ID_BLEND_CHOICE, wxDefaultPosition, wxDefaultSize, - numBlendChoices, m_choices); - // get blend mode last state - int oldMode = wxConfigBase::Get()->Read(wxT("/GLPreviewFrame/blendMode"), 0l); - // limit old state to max available states - if (oldMode >= numBlendChoices) - { - oldMode = 0; - } - m_BlendModeChoice->SetSelection(oldMode); + 1, m_choices); + m_BlendModeChoice->SetSelection(0); blendModeSizer->Add(m_BlendModeChoice, 0, @@ -466,31 +455,36 @@ { if (m_BlendModeChoice != NULL) { - switch (m_BlendModeChoice->GetSelection()) + int index=m_BlendModeChoice->GetSelection(); + if(index==0) { - case 0: - // normal node + // normal mode if (helper != NULL && difference_tool != NULL) { helper->DeactivateTool(difference_tool); + }; + } + else + { + if(index==m_differenceIndex) + { + // difference mode + if (helper != NULL + && identify_tool != NULL + && difference_tool != NULL + && m_ToolBar != NULL) + { + helper->DeactivateTool(identify_tool); + m_ToolBar->ToggleTool(identify_tool_id, false); + helper->ActivateTool(difference_tool); + CleanButtonColours(); + }; } - break; - case 1: - // difference mode - if (helper != NULL - && identify_tool != NULL - && difference_tool != NULL - && m_ToolBar != NULL) + else { - helper->DeactivateTool(identify_tool); - m_ToolBar->ToggleTool(identify_tool_id, false); - helper->ActivateTool(difference_tool); - CleanButtonColours(); - } - break; - default: - DEBUG_WARN("Unknown blend mode selected"); + DEBUG_WARN("Unknown blend mode selected"); + }; } } } @@ -1228,3 +1222,22 @@ } } +/** call this method only with existing OpenGL context */ +void GLPreviewFrame::FillBlendChoice() +{ + if(PreviewDifferenceTool::CheckOpenGLCanDifference()) + m_differenceIndex=m_BlendModeChoice->Append(_("difference")); + // update size + m_BlendModeChoice->InvalidateBestSize(); + m_BlendModeChoice->GetParent()->Layout(); + Refresh(); + // get blend mode last state + unsigned int oldMode = wxConfigBase::Get()->Read(wxT("/GLPreviewFrame/blendMode"), 0l); + // limit old state to max available states + if (oldMode >= m_BlendModeChoice->GetCount()) + { + oldMode = 0; + } + m_BlendModeChoice->SetSelection(oldMode); + updateBlendMode(); +}; Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h 2009-06-05 05:17:52 UTC (rev 3916) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h 2009-06-05 05:53:17 UTC (rev 3917) @@ -101,6 +101,9 @@ void SetImageButtonColour(unsigned int image_nr, unsigned char red, unsigned char green, unsigned char blue); void SetStatusMessage(wxString message); + /** fills the blend wxChoice with all valid blend modes and restore the last used one + */ + void FillBlendChoice(); protected: void OnClose(wxCloseEvent& e); @@ -149,6 +152,8 @@ wxString m_choices[3]; int m_oldProjFormat; + // index of difference mode + int m_differenceIndex; wxScrolledWindow * m_ButtonPanel; wxBoxSizer * m_ButtonSizer; Modified: hugin/trunk/src/hugin1/hugin/GLViewer.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/GLViewer.cpp 2009-06-05 05:17:52 UTC (rev 3916) +++ hugin/trunk/src/hugin1/hugin/GLViewer.cpp 2009-06-05 05:53:17 UTC (rev 3917) @@ -127,6 +127,10 @@ m_renderer = new GLRenderer(m_pano, m_view_state->GetTextureManager(), m_view_state->GetMeshManager(), m_view_state, m_tool_helper); + // fill blend mode choice box in fast preview window + // we can fill it just now, because we need a OpenGL context, which was created now, + // to check if all necessary extentions are available + frame->FillBlendChoice(); } } Modified: hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp 2009-06-05 05:17:52 UTC (rev 3916) +++ hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.cpp 2009-06-05 05:53:17 UTC (rev 3917) @@ -41,6 +41,16 @@ // rather boring constructor } +/** call this function only after OpenGL context was created */ +bool PreviewDifferenceTool::CheckOpenGLCanDifference() +{ + if(GLEW_ARB_imaging) + return true; + if((glBlendEquation!=NULL) && (GLEW_EXT_blend_subtract)) + return true; + return false; +} + void PreviewDifferenceTool::Activate() { over_image = false; @@ -49,7 +59,7 @@ // In general this check should be superfluous, due to the fact that the preview frame // must check the OpenGL capabilities and never call this method if differencing is // not supported, but check twice is saver. - if (glewIsSupported("GL_ARB_imaging")) + if (CheckOpenGLCanDifference()) { helper->NotifyMe(PreviewToolHelper::IMAGES_UNDER_MOUSE_CHANGE, this); } Modified: hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.h =================================================================== --- hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.h 2009-06-05 05:17:52 UTC (rev 3916) +++ hugin/trunk/src/hugin1/hugin/PreviewDifferenceTool.h 2009-06-05 05:53:17 UTC (rev 3917) @@ -38,6 +38,11 @@ public: PreviewDifferenceTool(PreviewToolHelper *helper); // ~PreviewIdentifyTool(); + /** check, if graphic card supports the necessary modes for difference tool + * call this procedure first, when there is a OpenGL context + * @return true, if graphic card supports difference mode + */ + static bool CheckOpenGLCanDifference(); void Activate(); void ImagesUnderMouseChangedEvent(); void AfterDrawImagesEvent(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <tm...@us...> - 2009-07-05 10:38:52
|
Revision: 3993 http://hugin.svn.sourceforge.net/hugin/?rev=3993&view=rev Author: tmodes Date: 2009-07-05 10:38:49 +0000 (Sun, 05 Jul 2009) Log Message: ----------- Put wxToggleButtons for images on fast preview frame in a wxPanel to allow colouring from Identify tool under windows Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-07-03 10:50:10 UTC (rev 3992) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.cpp 2009-07-05 10:38:49 UTC (rev 3993) @@ -583,9 +583,11 @@ // remove items for nonexisting images for (int i=nrButtons-1; i>=(int)nrImages; i--) { - m_ButtonSizer->Detach(m_ToggleButtons[i]); + m_ButtonSizer->Detach(m_ToggleButtonPanel[i]); delete m_ToggleButtons[i]; + delete m_ToggleButtonPanel[i]; m_ToggleButtons.pop_back(); + m_ToggleButtonPanel.pop_back(); delete toogle_button_event_handlers[i]; toogle_button_event_handlers.pop_back(); dirty = true; @@ -598,17 +600,23 @@ unsigned int imgNr = *it; // create new item. // wxImage * bmp = new wxImage(sz.GetWidth(), sz.GetHeight()); + //put wxToggleButton in a wxPanel because + //on Windows the background colour of wxToggleButton can't be changed + wxPanel *pan = new wxPanel(m_ButtonPanel); + wxBoxSizer * siz = new wxBoxSizer(wxHORIZONTAL); + pan->SetSizer(siz); #ifdef USE_TOGGLE_BUTTON - wxToggleButton * but = new wxToggleButton(m_ButtonPanel, + wxToggleButton * but = new wxToggleButton(pan, ID_TOGGLE_BUT + *it, wxString::Format(wxT("%d"),*it), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT); #else - wxCheckBox * but = new wxCheckBox(m_ButtonPanel, + wxCheckBox * but = new wxCheckBox(pan, ID_TOGGLE_BUT + *it, wxString::Format(wxT("%d"),*it)); #endif + siz->Add(but,0,wxALL | wxADJUST_MINSIZE,5); // for the identification tool to work, we need to find when the // mouse enters and exits the button. We use a custom event // handler, which will also toggle the images: @@ -625,11 +633,12 @@ // breaks on wxWin 2.5 but->SetSize(20, sz.GetHeight()); but->SetValue(true); - m_ButtonSizer->Add(but, + m_ButtonSizer->Add(pan, 0, wxLEFT | wxTOP | wxADJUST_MINSIZE, - 5); + 0); m_ToggleButtons.push_back(but); + m_ToggleButtonPanel.push_back(pan); dirty = true; } } @@ -1130,18 +1139,32 @@ { // the identify tool wants us to highlight an image button in the given // colour, to match up with the display in the preview. +#if defined __WXMSW__ + // on windows change the color of the surrounding wxPanel + m_ToggleButtonPanel[image_nr]->SetBackgroundColour(wxColour(red, green, blue)); +#else + // change the color of the wxToggleButton m_ToggleButtons[image_nr]->SetBackgroundStyle(wxBG_STYLE_COLOUR); m_ToggleButtons[image_nr]->SetBackgroundColour( wxColour(red, green, blue)); // black should be visible on the button's vibrant colours. m_ToggleButtons[image_nr]->SetForegroundColour(wxColour(0, 0, 0)); +#endif } else { // return to the normal colour +#if defined __WXMSW__ + m_ToggleButtonPanel[image_nr]->SetBackgroundColour(this->GetBackgroundColour()); +#else m_ToggleButtons[image_nr]->SetBackgroundStyle(wxBG_STYLE_SYSTEM); m_ToggleButtons[image_nr]->SetBackgroundColour(wxNullColour); m_ToggleButtons[image_nr]->SetForegroundColour(wxNullColour); +#endif } +#if defined __WXMSW__ + m_ToggleButtonPanel[image_nr]->Refresh(); +#else m_ToggleButtons[image_nr]->Refresh(); +#endif } void GLPreviewFrame::CleanButtonColours() @@ -1152,10 +1175,15 @@ unsigned int nr_images = m_pano.getNrOfImages(); for (unsigned image = 0; image < nr_images; image++) { +#if defined __WXMSW__ + m_ToggleButtonPanel[image]->SetBackgroundColour(this->GetBackgroundColour()); + m_ToggleButtonPanel[image]->Refresh(); +#else m_ToggleButtons[image]->SetBackgroundStyle(wxBG_STYLE_SYSTEM); m_ToggleButtons[image]->SetBackgroundColour(wxNullColour); m_ToggleButtons[image]->SetForegroundColour(wxNullColour); m_ToggleButtons[image]->Refresh(); +#endif } } Modified: hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h =================================================================== --- hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h 2009-07-03 10:50:10 UTC (rev 3992) +++ hugin/trunk/src/hugin1/hugin/GLPreviewFrame.h 2009-07-05 10:38:49 UTC (rev 3993) @@ -170,6 +170,7 @@ #else std::vector<wxCheckBox *> m_ToggleButtons; #endif + std::vector<wxPanel *> m_ToggleButtonPanel; std::vector<ImageToogleButtonEventHandler *> toogle_button_event_handlers; DECLARE_EVENT_TABLE() This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |