Hugintrunk
0.1
|
control point editor panel. More...
#include <CPEditorPanel.h>
Public Member Functions | |
CPEditorPanel () | |
ctor. More... | |
bool | Create (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL, const wxString &name=wxT("panel")) |
void | Init (HuginBase::Panorama *pano) |
virtual | ~CPEditorPanel () |
dtor. More... | |
void | setLeftImage (unsigned int imgNr) |
set left image More... | |
void | setRightImage (unsigned int imgNr) |
set right image More... | |
void | SetPano (HuginBase::Panorama *panorama) |
void | panoramaChanged (HuginBase::Panorama &pano) |
called when the panorama changes and we should update our display More... | |
void | panoramaImagesChanged (HuginBase::Panorama &pano, const HuginBase::UIntSet &imgNr) |
notifies about changes to images More... | |
void | SelectGlobalPoint (unsigned int globalNr) |
Select a point. More... | |
void | ShowControlPoint (unsigned int cpNr) |
show a control point More... | |
void | ClearSelection () |
unselect a point More... | |
Public Member Functions inherited from HuginBase::PanoramaObserver | |
virtual | ~PanoramaObserver () |
Private Types | |
enum | CPCreationState { NO_POINT, LEFT_POINT, RIGHT_POINT, RIGHT_POINT_RETRY, LEFT_POINT_RETRY, BOTH_POINTS_SELECTED } |
the state machine for point selection: it is set to the current selection More... | |
enum | CPTabActionButtonMode { CPTAB_ACTION_CREATE_CP = 0, CPTAB_ACTION_CELESTE = 1, CPTAB_ACTION_CLEAN_CP = 2 } |
enum | CPScrollHint { CP_SCROLL_BOTH =0, CP_SCROLL_LEFT, CP_SCROLL_RIGHT } |
Private Member Functions | |
void | UpdateDisplay (bool newImages) |
updates the display after another image has been selected. More... | |
void | EnablePointEdit (bool state) |
enable or disable controls for editing other points More... | |
void | SelectLocalPoint (unsigned int LVpointNr, bool scrollLeft=true, bool scrollRight=true) |
select a local point. More... | |
bool | globalPNr2LocalPNr (unsigned int &localNr, unsigned int globalNr) const |
map a global point nr to a local one, if possible More... | |
unsigned int | localPNr2GlobalPNr (unsigned int localNr) const |
find a local point More... | |
void | NewPointChange (hugin_utils::FDiff2D p, bool left) |
void | CreateNewPoint () |
this is used to finally create the point in the panorama model More... | |
bool | PointFineTune (unsigned int tmplImgNr, const vigra::Diff2D &tmplPoint, int tmplWidth, unsigned int subjImgNr, const hugin_utils::FDiff2D &subjPoint, int searchWidth, vigra_ext::CorrelationResult &tunedPos) |
search for region in destImg More... | |
const float | getVerticalCPBias () |
void | OnCPEvent (CPEvent &ev) |
void | OnLeftChoiceChange (wxCommandEvent &e) |
void | OnRightChoiceChange (wxCommandEvent &e) |
void | OnCPListSelect (wxListEvent &e) |
void | OnCPListDeselect (wxListEvent &e) |
void | OnAddButton (wxCommandEvent &e) |
void | OnZoom (wxCommandEvent &e) |
void | OnTextPointChange (wxCommandEvent &e) |
void | OnKey (wxKeyEvent &e) |
void | OnDeleteButton (wxCommandEvent &e) |
void | OnPrevImg (wxCommandEvent &e) |
void | OnNextImg (wxCommandEvent &e) |
void | OnColumnWidthChange (wxListEvent &e) |
void | OnColumnHeaderClick (wxListEvent &e) |
void | OnFineTuneButton (wxCommandEvent &e) |
void | OnActionButton (wxCommandEvent &e) |
void | OnCreateCPButton (wxCommandEvent &e) |
void | OnCelesteButton (wxCommandEvent &e) |
void | OnCleanCPButton (wxCommandEvent &e) |
void | OnShowLinesCheckbox (wxCommandEvent &e) |
void | OnActionSelectCreate (wxCommandEvent &e) |
void | OnActionSelectCeleste (wxCommandEvent &e) |
void | OnActionSelectCleanCP (wxCommandEvent &e) |
void | OnActionContextMenu (wxContextMenuEvent &e) |
void | FineTuneSelectedPoint (bool left) |
void | FineTuneNewPoint (bool left) |
hugin_utils::FDiff2D | LocalFineTunePoint (unsigned int srcNr, const vigra::Diff2D &srcPnt, hugin_utils::FDiff2D &movedSrcPnt, unsigned int moveNr, const hugin_utils::FDiff2D &movePnt) |
hugin_utils::FDiff2D | EstimatePoint (const hugin_utils::FDiff2D &p, bool left) |
Estimate position of point in the other image. More... | |
void | changeState (CPCreationState newState) |
void | estimateAndAddOtherPoint (const hugin_utils::FDiff2D &p, bool left, CPImageCtrl *thisImg, unsigned int thisImgNr, CPCreationState THIS_POINT, CPCreationState THIS_POINT_RETRY, CPImageCtrl *otherImg, unsigned int otherImgNr, CPCreationState OTHER_POINT, CPCreationState OTHER_POINT_RETRY) |
estimate and set point in other image More... | |
CPImageCtrl::ImageRotation | GetRot (double yaw, double roll, double pitch) |
calculate rotation required for upright image display from roll, pitch and yaw angles More... | |
void | UpdateTransforms () |
updated the internal transform object for drawing line in controls More... | |
void | SortList () |
sorting functions More... | |
control point editor panel.
This panel is used to create/change/edit control points
Definition at line 64 of file CPEditorPanel.h.
|
private |
the state machine for point selection: it is set to the current selection
Definition at line 203 of file CPEditorPanel.h.
|
private |
Enumerator | |
---|---|
CP_SCROLL_BOTH | |
CP_SCROLL_LEFT | |
CP_SCROLL_RIGHT |
Definition at line 299 of file CPEditorPanel.h.
|
private |
Enumerator | |
---|---|
CPTAB_ACTION_CREATE_CP | |
CPTAB_ACTION_CELESTE | |
CPTAB_ACTION_CLEAN_CP |
Definition at line 234 of file CPEditorPanel.h.
CPEditorPanel::CPEditorPanel | ( | ) |
ctor.
Definition at line 65 of file CPEditorPanel.cpp.
References DEBUG_TRACE, m_countCP, and m_pano.
|
virtual |
dtor.
Definition at line 271 of file CPEditorPanel.cpp.
References DEBUG_TRACE, m_autoAddCB, m_estimateCB, m_fineTuneCB, m_pano, m_showLinesCB, m_sortAscending, m_sortCol, m_x1Text, m_x2Text, m_y1Text, m_y2Text, and HuginBase::Panorama::removeObserver().
|
private |
Definition at line 2118 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, CPImageCtrl::clearNewPoint(), ClearSelection(), cpCreationState, DEBUG_TRACE, MainFrame::Get(), LEFT_POINT, LEFT_POINT_RETRY, m_addButton, m_delButton, m_fineTuneCB, m_leftImageNr, m_leftImg, m_rightImageNr, m_rightImg, m_selectedPoint, m_zoomChoice, NO_POINT, OnZoom(), RIGHT_POINT, RIGHT_POINT_RETRY, CPImageCtrl::showSearchArea(), and CPImageCtrl::showTemplateArea().
Referenced by ClearSelection(), CreateNewPoint(), estimateAndAddOtherPoint(), NewPointChange(), OnCPEvent(), OnCPListDeselect(), OnCPListSelect(), OnDeleteButton(), OnKey(), setLeftImage(), setRightImage(), and ShowControlPoint().
void CPEditorPanel::ClearSelection | ( | ) |
unselect a point
Definition at line 796 of file CPEditorPanel.cpp.
References changeState(), CPImageCtrl::deselect(), m_cpList, m_leftImg, m_rightImg, m_selectedPoint, NO_POINT, and UpdateDisplay().
Referenced by changeState().
bool CPEditorPanel::Create | ( | wxWindow * | parent, |
wxWindowID | id = wxID_ANY , |
||
const wxPoint & | pos = wxDefaultPosition , |
||
const wxSize & | size = wxDefaultSize , |
||
long | style = wxTAB_TRAVERSAL , |
||
const wxString & | name = wxT("panel") |
||
) |
Definition at line 72 of file CPEditorPanel.cpp.
References CP_SCROLL_BOTH, cpCreationState, CPTAB_ACTION_CELESTE, CPTAB_ACTION_CLEAN_CP, CPTAB_ACTION_CREATE_CP, DEBUG_ASSERT, DEBUG_TRACE, CPImageCtrl::Init(), m_actionButton, m_addButton, m_autoAddCB, m_cp_ctrls, m_cpActionButtonMode, m_cpActionContextMenu, m_cpList, m_cpModeChoice, m_delButton, m_detailZoomFactor, m_estimateCB, m_finetuneButton, m_fineTuneCB, m_leftChoice, m_leftImageNr, m_leftImg, m_leftInvTransform, m_leftInvTransformMag, m_leftRot, m_leftTransform, m_leftTransformMag, m_listenToPageChange, m_nextImgButton, m_prevImgButton, m_rightChoice, m_rightImageNr, m_rightImg, m_rightInvTransform, m_rightInvTransformMag, m_rightRot, m_rightTransform, m_rightTransformMag, m_scrollHint, m_selectedPoint, m_showLinesCB, m_sortAscending, m_sortCol, m_x1Text, m_x2Text, m_y1Text, m_y2Text, m_zoomChoice, NO_POINT, OnActionButton(), OnActionContextMenu(), OnActionSelectCeleste(), OnActionSelectCleanCP(), OnActionSelectCreate(), OnAddButton(), OnColumnHeaderClick(), OnColumnWidthChange(), OnCPEvent(), OnCPListDeselect(), OnCPListSelect(), OnDeleteButton(), OnFineTuneButton(), OnKey(), OnLeftChoiceChange(), OnNextImg(), OnPrevImg(), OnRightChoiceChange(), OnShowLinesCheckbox(), OnTextPointChange(), OnZoom(), CPImageCtrl::ROT0, CPImageCtrl::setMagTransforms(), CPImageCtrl::setTransforms(), and CPImageCtrl::ShowLines().
|
private |
this is used to finally create the point in the panorama model
Definition at line 719 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), CPImagesComboBox::CalcCPDistance(), changeState(), DEBUG_TRACE, MainFrame::Get(), PanoCommand::GlobalCmdHist::getInstance(), CPImageCtrl::getNewPoint(), HuginBase::Panorama::getNrOfCtrlPoints(), getVerticalCPBias(), HuginBase::ControlPoint::image1Nr, HuginBase::ControlPoint::image2Nr, m_cpModeChoice, m_leftChoice, m_leftImageNr, m_leftImg, m_leftRot, m_pano, m_rightChoice, m_rightImageNr, m_rightImg, HuginBase::ControlPoint::mode, NO_POINT, CPImageCtrl::ROT0, CPImageCtrl::ROT180, SelectGlobalPoint(), HuginBase::ControlPoint::X, hugin_utils::TDiff2D< T >::x, HuginBase::ControlPoint::x1, HuginBase::ControlPoint::x2, HuginBase::ControlPoint::X_Y, HuginBase::ControlPoint::Y, hugin_utils::TDiff2D< T >::y, HuginBase::ControlPoint::y1, and HuginBase::ControlPoint::y2.
Referenced by estimateAndAddOtherPoint(), NewPointChange(), OnAddButton(), and OnCPEvent().
|
private |
enable or disable controls for editing other points
Definition at line 1797 of file CPEditorPanel.cpp.
References m_cpModeChoice, m_delButton, m_finetuneButton, m_x1Text, m_x2Text, m_y1Text, and m_y2Text.
Referenced by OnCPListDeselect(), OnCPListSelect(), SelectLocalPoint(), and UpdateDisplay().
|
private |
estimate and set point in other image
Definition at line 881 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, changeState(), CreateNewPoint(), EstimatePoint(), MainFrame::Get(), HuginBase::Panorama::getImage(), CPImageCtrl::getNewPoint(), HuginBase::SrcPanoImage::getWidth(), HUGIN_FT_SEARCH_AREA_PERCENT, HUGIN_FT_TEMPLATE_SIZE, m_autoAddCB, m_detailZoomFactor, m_fineTuneCB, m_pano, celeste::min(), PointFineTune(), CPImageCtrl::setNewPoint(), CPImageCtrl::setScale(), CPImageCtrl::showPosition(), hugin_utils::TDiff2D< T >::toDiff2D(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.
Referenced by NewPointChange().
|
private |
Estimate position of point in the other image.
p | point to warp to other image |
left | true if p is located in left image. |
Definition at line 2561 of file CPEditorPanel.cpp.
References HuginBase::Panorama::addImage(), HuginBase::PTools::Transform::createInvTransform(), HuginBase::PTools::Transform::createTransform(), currentPoints, DEBUG_DEBUG, DEBUG_WARN, deregisterPTWXDlgFcn(), HuginBase::SrcPanoImage::getHeight(), HuginBase::Panorama::getImage(), HuginBase::Panorama::getOptions(), HuginBase::Panorama::getSrcImage(), HuginBase::SrcPanoImage::getWidth(), HuginBase::ControlPoint::image1Nr, HuginBase::ControlPoint::image2Nr, m_leftImageNr, m_pano, m_rightImageNr, HuginBase::ControlPoint::mode, HuginBase::PTools::optimize(), registerPTWXDlgFcn(), HuginBase::Panorama::setCtrlPoints(), HuginBase::Panorama::setOptimizeVector(), HuginBase::PTools::Transform::transformImgCoord(), hugin_utils::TDiff2D< T >::x, HuginBase::ControlPoint::X_Y, and hugin_utils::TDiff2D< T >::y.
Referenced by estimateAndAddOtherPoint().
|
private |
Definition at line 2516 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, cpCreationState, CPImageCtrl::getNewPoint(), LEFT_POINT_RETRY, LocalFineTunePoint(), m_leftImageNr, m_leftImg, m_rightImageNr, m_rightImg, RIGHT_POINT_RETRY, CPImageCtrl::setNewPoint(), hugin_utils::TDiff2D< T >::toDiff2D(), CPImageCtrl::update(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.
Referenced by OnFineTuneButton(), and OnKey().
|
private |
Definition at line 2466 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), currentPoints, DEBUG_ASSERT, DEBUG_DEBUG, PanoCommand::GlobalCmdHist::getInstance(), LocalFineTunePoint(), m_pano, m_selectedPoint, mirroredPoints, hugin_utils::roundi(), set_contains(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.
Referenced by OnFineTuneButton(), and OnKey().
|
private |
calculate rotation required for upright image display from roll, pitch and yaw angles
Definition at line 2678 of file CPEditorPanel.cpp.
References CPImageCtrl::ROT0, CPImageCtrl::ROT180, CPImageCtrl::ROT270, and CPImageCtrl::ROT90.
Referenced by panoramaImagesChanged(), setLeftImage(), and setRightImage().
|
private |
Definition at line 778 of file CPEditorPanel.cpp.
References HuginBase::Panorama::getOptions(), HuginBase::PanoramaOptions::getProjection(), m_pano, and HuginBase::PanoramaOptions::RECTILINEAR.
Referenced by CreateNewPoint(), and OnCPEvent().
|
private |
map a global point nr to a local one, if possible
Definition at line 858 of file CPEditorPanel.cpp.
References currentPoints.
Referenced by SelectGlobalPoint().
void CPEditorPanel::Init | ( | HuginBase::Panorama * | pano | ) |
Definition at line 264 of file CPEditorPanel.cpp.
References HuginBase::Panorama::addObserver(), and m_pano.
Referenced by MainFrame::MainFrame().
|
private |
Definition at line 2445 of file CPEditorPanel.cpp.
References vigra_ext::CorrelationResult::corrPos, HUGIN_FT_LOCAL_SEARCH_WIDTH, HUGIN_FT_TEMPLATE_SIZE, vigra_ext::CorrelationResult::maxpos, PointFineTune(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.
Referenced by FineTuneNewPoint(), and FineTuneSelectedPoint().
|
private |
find a local point
Definition at line 874 of file CPEditorPanel.cpp.
References currentPoints.
Referenced by OnCPEvent(), OnDeleteButton(), and OnKey().
|
private |
Definition at line 969 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, changeState(), CPImageCtrl::clearNewPoint(), vigra_ext::CorrelationResult::corrPos, cpCreationState, CreateNewPoint(), currentPoints, vigra_ext::CorrelationResult::curv, DEBUG_ASSERT, DEBUG_TRACE, estimateAndAddOtherPoint(), MainFrame::Get(), HuginBase::Panorama::getImage(), CPImageCtrl::getNewPoint(), CPImageCtrl::getScale(), HuginBase::SrcPanoImage::getWidth(), HUGIN_FT_SEARCH_AREA_PERCENT, HUGIN_FT_TEMPLATE_SIZE, LEFT_POINT, LEFT_POINT_RETRY, m_autoAddCB, m_detailZoomFactor, m_estimateCB, m_fineTuneCB, m_leftImageNr, m_leftImg, m_pano, m_rightImageNr, m_rightImg, vigra_ext::CorrelationResult::maxAngle, vigra_ext::CorrelationResult::maxi, vigra_ext::CorrelationResult::maxpos, celeste::min(), NO_POINT, PointFineTune(), RIGHT_POINT, RIGHT_POINT_RETRY, CPImageCtrl::setNewPoint(), CPImageCtrl::setScale(), CPImageCtrl::showPosition(), hugin_utils::TDiff2D< T >::toDiff2D(), CPImageCtrl::update(), hugin_utils::TDiff2D< T >::x, HuginBase::ControlPoint::X_Y, and hugin_utils::TDiff2D< T >::y.
Referenced by OnCPEvent().
|
private |
Definition at line 2253 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CELESTE, CPTAB_ACTION_CLEAN_CP, CPTAB_ACTION_CREATE_CP, m_cpActionButtonMode, OnCelesteButton(), OnCleanCPButton(), and OnCreateCPButton().
Referenced by Create().
|
private |
Definition at line 2247 of file CPEditorPanel.cpp.
References MainFrame::Get(), and m_cpActionContextMenu.
Referenced by Create().
|
private |
Definition at line 2423 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CELESTE, m_actionButton, and m_cpActionButtonMode.
Referenced by Create().
|
private |
Definition at line 2434 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CLEAN_CP, m_actionButton, and m_cpActionButtonMode.
Referenced by Create().
|
private |
Definition at line 2412 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CREATE_CP, m_actionButton, and m_cpActionButtonMode.
Referenced by Create().
|
private |
Definition at line 2070 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, cpCreationState, and CreateNewPoint().
Referenced by Create().
|
private |
Definition at line 2296 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), HuginBase::Color::ApplyICCProfile(), vigra::omp::copyImage(), currentPoints, DEBUG_TRACE, vigra_ext::destImage(), MainFrame::Get(), celeste::getCelesteControlPoints(), HuginBase::Panorama::getImage(), PanoCommand::GlobalCmdHist::getInstance(), MainFrame::GetSVMModel(), HUGIN_CELESTE_FILTER, HUGIN_CELESTE_THRESHOLD, m_leftImageNr, m_pano, vigra_ext::srcImageRange(), threshold(), vigra::omp::transformImage(), ProgressReporterDialog::updateDisplay(), and ProgressReporterDialog::updateDisplayValue().
Referenced by OnActionButton().
|
private |
Definition at line 2372 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), currentPoints, PanoCommand::GlobalCmdHist::getInstance(), and m_pano.
Referenced by OnActionButton().
|
private |
Definition at line 2654 of file CPEditorPanel.cpp.
References m_cpList, m_sortAscending, m_sortCol, and SortList().
Referenced by Create().
|
private |
|
private |
Definition at line 546 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), BOTH_POINTS_SELECTED, CPImagesComboBox::CalcCPDistance(), CPEvent::CANCELED, changeState(), CP_SCROLL_LEFT, CP_SCROLL_RIGHT, cpCreationState, CreateNewPoint(), currentPoints, DEBUG_DEBUG, DEBUG_ERROR, DEBUG_FATAL, DEBUG_TRACE, CPEvent::DELETE_REGION_SELECTED, MainFrame::Get(), CPEvent::getControlPoint(), PanoCommand::GlobalCmdHist::getInstance(), CPEvent::getMode(), HuginBase::Panorama::getNrOfCtrlPoints(), CPEvent::getPoint(), CPEvent::getPointNr(), CPEvent::getRect(), getVerticalCPBias(), HuginBase::ControlPoint::image1Nr, HuginBase::ControlPoint::image2Nr, localPNr2GlobalPNr(), m_cpList, m_leftChoice, m_leftImageNr, m_leftImg, m_leftRot, m_pano, m_rightChoice, m_rightImageNr, m_rightImg, m_scrollHint, CPImageCtrl::MaxScrollDelta(), HuginBase::ControlPoint::mode, CPEvent::NEW_LINE_ADDED, CPEvent::NEW_POINT_CHANGED, NewPointChange(), NO_POINT, CPEvent::NONE, CPEvent::POINT_CHANGED, CPEvent::POINT_SELECTED, CPEvent::RIGHT_CLICK, CPImageCtrl::ROT0, CPImageCtrl::ROT180, hugin_utils::roundi(), CPImageCtrl::ScrollDelta(), CPEvent::SCROLLED, SelectGlobalPoint(), CPImageCtrl::update(), HuginBase::ControlPoint::X, hugin_utils::TDiff2D< T >::x, HuginBase::ControlPoint::x1, HuginBase::ControlPoint::x2, HuginBase::ControlPoint::X_Y, HuginBase::ControlPoint::Y, hugin_utils::TDiff2D< T >::y, HuginBase::ControlPoint::y1, and HuginBase::ControlPoint::y2.
Referenced by Create().
|
private |
Definition at line 1910 of file CPEditorPanel.cpp.
References changeState(), CPImageCtrl::deselect(), EnablePointEdit(), m_leftImg, m_rightImg, and NO_POINT.
Referenced by Create().
|
private |
Definition at line 1888 of file CPEditorPanel.cpp.
References changeState(), CP_SCROLL_BOTH, CP_SCROLL_LEFT, CP_SCROLL_RIGHT, DEBUG_TRACE, EnablePointEdit(), m_cpList, m_scrollHint, NO_POINT, and SelectLocalPoint().
Referenced by Create().
|
private |
Definition at line 2270 of file CPEditorPanel.cpp.
References MainFrame::Get(), m_leftImageNr, m_rightImageNr, MainFrame::RunCPGenerator(), CPDetectorSetting::SetArgs(), and CPDetectorSetting::SetProg().
Referenced by OnActionButton().
|
private |
Definition at line 2078 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), CPImagesComboBox::CalcCPDistance(), changeState(), cpCreationState, DEBUG_TRACE, PanoCommand::GlobalCmdHist::getInstance(), localPNr2GlobalPNr(), m_cpList, m_leftChoice, m_pano, m_rightChoice, and NO_POINT.
Referenced by Create().
|
private |
Definition at line 2238 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, cpCreationState, FineTuneNewPoint(), FineTuneSelectedPoint(), and NO_POINT.
Referenced by Create().
|
private |
Definition at line 1986 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), BOTH_POINTS_SELECTED, changeState(), cpCreationState, DEBUG_DEBUG, FineTuneNewPoint(), FineTuneSelectedPoint(), PanoCommand::GlobalCmdHist::getInstance(), localPNr2GlobalPNr(), m_cpList, m_leftImageNr, m_leftImg, m_pano, m_rightImageNr, m_zoomChoice, NO_POINT, OnNextImg(), OnPrevImg(), and OnZoom().
Referenced by Create().
|
private |
Definition at line 1873 of file CPEditorPanel.cpp.
References DEBUG_TRACE, m_listenToPageChange, and setLeftImage().
Referenced by Create().
|
private |
Definition at line 2217 of file CPEditorPanel.cpp.
References HuginBase::Panorama::getNrOfImages(), m_leftImageNr, m_pano, m_rightImageNr, setLeftImage(), and setRightImage().
|
private |
Definition at line 2196 of file CPEditorPanel.cpp.
References HuginBase::Panorama::getNrOfImages(), m_leftImageNr, m_pano, m_rightImageNr, setLeftImage(), and setRightImage().
|
private |
Definition at line 1881 of file CPEditorPanel.cpp.
References DEBUG_TRACE, m_listenToPageChange, and setRightImage().
Referenced by Create().
|
private |
Definition at line 2671 of file CPEditorPanel.cpp.
References m_leftImg, m_rightImg, and CPImageCtrl::ShowLines().
Referenced by Create().
|
private |
Definition at line 1808 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), currentPoints, DEBUG_TRACE, HuginBase::SrcPanoImage::getHeight(), PanoCommand::GlobalCmdHist::getInstance(), HuginBase::Panorama::getSrcImage(), HuginBase::SrcPanoImage::getWidth(), m_cpList, m_cpModeChoice, m_pano, m_x1Text, m_x2Text, m_y1Text, m_y2Text, mirroredPoints, set_contains(), and hugin_utils::str2double().
Referenced by Create().
|
private |
Definition at line 1922 of file CPEditorPanel.cpp.
References DEBUG_ERROR, CPImageCtrl::getScale(), m_detailZoomFactor, m_leftImg, m_rightImg, m_selectedPoint, SelectLocalPoint(), and CPImageCtrl::setScale().
Referenced by changeState(), Create(), and OnKey().
|
virtual |
called when the panorama changes and we should update our display
Implements HuginBase::PanoramaObserver.
Definition at line 1416 of file CPEditorPanel.cpp.
References DEBUG_DEBUG, DEBUG_TRACE, MainFrame::Get(), HuginBase::Panorama::getNextCPTypeLineNumber(), HuginBase::Panorama::getNrOfCtrlPoints(), MainFrame::IsShowingCorrelation(), m_countCP, m_cpList, m_cpModeChoice, UpdateDisplay(), and UpdateTransforms().
|
virtual |
notifies about changes to images
Images might have been added/removed. to find out how many images are still there, use Panorama::getNrOfImages.
pano | the panorama object that changed |
changed | set of changed images |
Implements HuginBase::PanoramaObserver.
Definition at line 1469 of file CPEditorPanel.cpp.
References CPImagesComboBox::CalcCPDistance(), const_map_get(), DEBUG_DEBUG, DEBUG_TRACE, HuginBase::Panorama::getImage(), HuginBase::Panorama::getImageVariables(), HuginBase::Panorama::getNrOfCtrlPoints(), HuginBase::Panorama::getNrOfImages(), GetRot(), HUGIN_CONV_FILENAME, m_actionButton, m_addButton, m_autoAddCB, m_countCP, m_cpModeChoice, m_delButton, m_estimateCB, m_finetuneButton, m_fineTuneCB, m_leftChoice, m_leftFile, m_leftImageNr, m_leftImg, m_leftRot, m_listenToPageChange, m_nextImgButton, m_pano, m_prevImgButton, m_rightChoice, m_rightFile, m_rightImageNr, m_rightImg, m_rightRot, m_showLinesCB, m_zoomChoice, CPImageCtrl::ROT0, CPImageCtrl::setImage(), setLeftImage(), setRightImage(), and UpdateDisplay().
|
private |
search for region in destImg
Definition at line 1326 of file CPEditorPanel.cpp.
References vigra_ext::CorrelationResult::corrPos, vigra_ext::CorrelationResult::curv, DEBUG_TRACE, MainFrame::Get(), HuginBase::Panorama::getImage(), HUGIN_FT_CORR_THRESHOLD, HUGIN_FT_CURV_THRESHOLD, m_pano, vigra_ext::CorrelationResult::maxAngle, vigra_ext::CorrelationResult::maxi, vigra_ext::CorrelationResult::maxpos, PointFineTuneProjectionAware(), hugin_utils::TDiff2D< T >::toDiff2D(), hugin_utils::TDiff2D< T >::x, and hugin_utils::TDiff2D< T >::y.
Referenced by estimateAndAddOtherPoint(), LocalFineTunePoint(), and NewPointChange().
void CPEditorPanel::SelectGlobalPoint | ( | unsigned int | globalNr | ) |
Select a point.
This should highlight it in the listview and on the pictures.
Does not change the pictures. The control point must be on the two existing images
Definition at line 847 of file CPEditorPanel.cpp.
References DEBUG_DEBUG, DEBUG_ERROR, globalPNr2LocalPNr(), and SelectLocalPoint().
Referenced by CreateNewPoint(), OnCPEvent(), and ShowControlPoint().
|
private |
select a local point.
the given cp is only selected in the cp list when (scrollLeft && scrollRight) in the other case you need to select the item in the list by yourself
Definition at line 815 of file CPEditorPanel.cpp.
References currentPoints, DEBUG_DEBUG, DEBUG_TRACE, EnablePointEdit(), m_cpList, m_cpModeChoice, m_leftImg, m_rightImg, m_selectedPoint, m_x1Text, m_x2Text, m_y1Text, m_y2Text, HuginBase::ControlPoint::mode, CPImageCtrl::selectPoint(), HuginBase::ControlPoint::x1, HuginBase::ControlPoint::x2, HuginBase::ControlPoint::y1, and HuginBase::ControlPoint::y2.
Referenced by OnCPListSelect(), OnZoom(), and SelectGlobalPoint().
void CPEditorPanel::setLeftImage | ( | unsigned int | imgNr | ) |
set left image
Definition at line 293 of file CPEditorPanel.cpp.
References changeState(), const_map_get(), DEBUG_TRACE, HuginBase::Panorama::getImage(), HuginBase::Panorama::getImageVariables(), GetRot(), m_leftChoice, m_leftFile, m_leftImageNr, m_leftImg, m_leftRot, m_pano, m_rightChoice, m_selectedPoint, NO_POINT, CPImageCtrl::ROT0, CPImageCtrl::setImage(), CPImagesComboBox::SetRefImage(), UpdateDisplay(), and UpdateTransforms().
Referenced by OnLeftChoiceChange(), OnNextImg(), OnPrevImg(), panoramaImagesChanged(), ShowControlPoint(), and MainFrame::ShowCtrlPointEditor().
|
inline |
Definition at line 84 of file CPEditorPanel.h.
References m_pano.
void CPEditorPanel::setRightImage | ( | unsigned int | imgNr | ) |
set right image
Definition at line 325 of file CPEditorPanel.cpp.
References changeState(), const_map_get(), DEBUG_TRACE, HuginBase::Panorama::getImage(), HuginBase::Panorama::getImageVariables(), GetRot(), m_leftChoice, m_pano, m_rightChoice, m_rightFile, m_rightImageNr, m_rightImg, m_rightRot, m_selectedPoint, NO_POINT, CPImageCtrl::ROT0, CPImageCtrl::setImage(), CPImagesComboBox::SetRefImage(), UpdateDisplay(), and UpdateTransforms().
Referenced by OnNextImg(), OnPrevImg(), OnRightChoiceChange(), panoramaImagesChanged(), ShowControlPoint(), and MainFrame::ShowCtrlPointEditor().
void CPEditorPanel::ShowControlPoint | ( | unsigned int | cpNr | ) |
show a control point
show control point cpNr
and the corrosponding images
Definition at line 2107 of file CPEditorPanel.cpp.
References changeState(), HuginBase::Panorama::getCtrlPoint(), HuginBase::ControlPoint::image1Nr, HuginBase::ControlPoint::image2Nr, m_pano, NO_POINT, SelectGlobalPoint(), setLeftImage(), and setRightImage().
Referenced by MainFrame::ShowCtrlPoint().
|
private |
sorting functions
Definition at line 466 of file CPEditorPanel.cpp.
References currentPoints, m_cpList, m_sortAscending, m_sortCol, SortIndexAscending(), and SortIndexDescending().
Referenced by OnColumnHeaderClick(), and UpdateDisplay().
|
private |
updates the display after another image has been selected.
updates control points, and other widgets
Definition at line 1640 of file CPEditorPanel.cpp.
References CPImageCtrl::clearCtrlPointList(), currentPoints, DEBUG_DEBUG, EnablePointEdit(), HuginBase::ControlPoint::error, HuginBase::Panorama::getCtrlPoints(), HuginBase::ControlPoint::image1Nr, HuginBase::ControlPoint::image2Nr, m_cpList, m_cpModeChoice, m_leftChoice, m_leftImageNr, m_leftImg, m_pano, m_rightChoice, m_rightImageNr, m_rightImg, m_selectedPoint, m_x1Text, m_x2Text, m_y1Text, m_y2Text, HuginBase::ControlPoint::mirror(), mirroredPoints, HuginBase::ControlPoint::mode, CPImageCtrl::selectPoint(), CPImageCtrl::setCtrlPoint(), CPImageCtrl::setSameImage(), SortList(), CPImageCtrl::update(), HuginBase::ControlPoint::X, HuginBase::ControlPoint::x1, HuginBase::ControlPoint::x2, HuginBase::ControlPoint::X_Y, HuginBase::ControlPoint::Y, HuginBase::ControlPoint::y1, and HuginBase::ControlPoint::y2.
Referenced by ClearSelection(), panoramaChanged(), panoramaImagesChanged(), setLeftImage(), and setRightImage().
|
private |
updated the internal transform object for drawing line in controls
Definition at line 361 of file CPEditorPanel.cpp.
References HuginBase::CalculateOptimalScale::calcOptimalPanoScale(), HuginBase::PTools::Transform::createInvTransform(), HuginBase::PTools::Transform::createTransform(), HuginBase::PanoramaOptions::EQUIRECTANGULAR, HuginBase::Panorama::getImage(), HuginBase::Panorama::getOptions(), HuginBase::Panorama::getSrcImage(), HuginBase::PanoramaOptions::getWidth(), m_leftImageNr, m_leftInvTransform, m_leftInvTransformMag, m_leftTransform, m_leftTransformMag, m_pano, m_rightImageNr, m_rightInvTransform, m_rightInvTransformMag, m_rightTransform, m_rightTransformMag, HuginBase::PanoramaOptions::setProjection(), and HuginBase::PanoramaOptions::setWidth().
Referenced by panoramaChanged(), setLeftImage(), and setRightImage().
|
private |
Definition at line 232 of file CPEditorPanel.h.
Referenced by changeState(), Create(), FineTuneNewPoint(), NewPointChange(), OnAddButton(), OnCPEvent(), OnDeleteButton(), OnFineTuneButton(), and OnKey().
|
private |
Definition at line 287 of file CPEditorPanel.h.
Referenced by EstimatePoint(), FineTuneSelectedPoint(), globalPNr2LocalPNr(), localPNr2GlobalPNr(), NewPointChange(), OnCelesteButton(), OnCleanCPButton(), OnCPEvent(), OnTextPointChange(), SelectLocalPoint(), SortList(), and UpdateDisplay().
|
private |
Definition at line 254 of file CPEditorPanel.h.
Referenced by Create(), OnActionSelectCeleste(), OnActionSelectCleanCP(), OnActionSelectCreate(), and panoramaImagesChanged().
|
private |
Definition at line 252 of file CPEditorPanel.h.
Referenced by changeState(), Create(), and panoramaImagesChanged().
|
private |
Definition at line 258 of file CPEditorPanel.h.
Referenced by Create(), estimateAndAddOtherPoint(), NewPointChange(), panoramaImagesChanged(), and ~CPEditorPanel().
|
private |
Definition at line 291 of file CPEditorPanel.h.
Referenced by CPEditorPanel(), panoramaChanged(), and panoramaImagesChanged().
|
private |
Definition at line 262 of file CPEditorPanel.h.
Referenced by Create().
|
private |
Definition at line 240 of file CPEditorPanel.h.
Referenced by Create(), OnActionButton(), OnActionSelectCeleste(), OnActionSelectCleanCP(), and OnActionSelectCreate().
|
private |
Definition at line 241 of file CPEditorPanel.h.
Referenced by Create(), and OnActionContextMenu().
|
private |
Definition at line 247 of file CPEditorPanel.h.
Referenced by ClearSelection(), Create(), OnColumnHeaderClick(), OnColumnWidthChange(), OnCPEvent(), OnCPListSelect(), OnDeleteButton(), OnKey(), OnTextPointChange(), panoramaChanged(), SelectLocalPoint(), SortList(), and UpdateDisplay().
|
private |
Definition at line 250 of file CPEditorPanel.h.
Referenced by Create(), CreateNewPoint(), EnablePointEdit(), OnTextPointChange(), panoramaChanged(), panoramaImagesChanged(), SelectLocalPoint(), and UpdateDisplay().
|
private |
Definition at line 242 of file CPEditorPanel.h.
|
private |
Definition at line 253 of file CPEditorPanel.h.
Referenced by changeState(), Create(), EnablePointEdit(), and panoramaImagesChanged().
|
private |
Definition at line 272 of file CPEditorPanel.h.
Referenced by Create(), estimateAndAddOtherPoint(), NewPointChange(), and OnZoom().
|
private |
Definition at line 249 of file CPEditorPanel.h.
|
private |
Definition at line 260 of file CPEditorPanel.h.
Referenced by Create(), NewPointChange(), panoramaImagesChanged(), and ~CPEditorPanel().
|
private |
Definition at line 255 of file CPEditorPanel.h.
Referenced by Create(), EnablePointEdit(), and panoramaImagesChanged().
|
private |
Definition at line 259 of file CPEditorPanel.h.
Referenced by changeState(), Create(), estimateAndAddOtherPoint(), NewPointChange(), panoramaImagesChanged(), and ~CPEditorPanel().
|
private |
Definition at line 244 of file CPEditorPanel.h.
Referenced by Create(), CreateNewPoint(), OnCPEvent(), OnDeleteButton(), panoramaImagesChanged(), setLeftImage(), setRightImage(), and UpdateDisplay().
|
private |
Definition at line 269 of file CPEditorPanel.h.
Referenced by panoramaImagesChanged(), and setLeftImage().
|
private |
Definition at line 267 of file CPEditorPanel.h.
Referenced by changeState(), Create(), CreateNewPoint(), EstimatePoint(), FineTuneNewPoint(), NewPointChange(), OnCelesteButton(), OnCPEvent(), OnCreateCPButton(), OnKey(), OnNextImg(), OnPrevImg(), panoramaImagesChanged(), setLeftImage(), UpdateDisplay(), and UpdateTransforms().
|
private |
Definition at line 246 of file CPEditorPanel.h.
Referenced by changeState(), ClearSelection(), Create(), CreateNewPoint(), FineTuneNewPoint(), NewPointChange(), OnCPEvent(), OnCPListDeselect(), OnKey(), OnShowLinesCheckbox(), OnZoom(), panoramaImagesChanged(), SelectLocalPoint(), setLeftImage(), and UpdateDisplay().
|
private |
Definition at line 275 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 280 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 296 of file CPEditorPanel.h.
Referenced by Create(), CreateNewPoint(), OnCPEvent(), panoramaImagesChanged(), and setLeftImage().
|
private |
Definition at line 274 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 279 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 271 of file CPEditorPanel.h.
Referenced by Create(), OnLeftChoiceChange(), OnRightChoiceChange(), and panoramaImagesChanged().
|
private |
Definition at line 256 of file CPEditorPanel.h.
Referenced by Create(), and panoramaImagesChanged().
|
private |
Definition at line 265 of file CPEditorPanel.h.
Referenced by CPEditorPanel(), CreateNewPoint(), estimateAndAddOtherPoint(), EstimatePoint(), FineTuneSelectedPoint(), getVerticalCPBias(), Init(), NewPointChange(), OnCelesteButton(), OnCleanCPButton(), OnCPEvent(), OnDeleteButton(), OnKey(), OnNextImg(), OnPrevImg(), OnTextPointChange(), panoramaImagesChanged(), PointFineTune(), setLeftImage(), SetPano(), setRightImage(), ShowControlPoint(), UpdateDisplay(), UpdateTransforms(), and ~CPEditorPanel().
|
private |
Definition at line 257 of file CPEditorPanel.h.
Referenced by Create(), and panoramaImagesChanged().
|
private |
Definition at line 245 of file CPEditorPanel.h.
Referenced by Create(), CreateNewPoint(), OnCPEvent(), OnDeleteButton(), panoramaImagesChanged(), setLeftImage(), setRightImage(), and UpdateDisplay().
|
private |
Definition at line 270 of file CPEditorPanel.h.
Referenced by panoramaImagesChanged(), and setRightImage().
|
private |
Definition at line 268 of file CPEditorPanel.h.
Referenced by changeState(), Create(), CreateNewPoint(), EstimatePoint(), FineTuneNewPoint(), NewPointChange(), OnCPEvent(), OnCreateCPButton(), OnKey(), OnNextImg(), OnPrevImg(), panoramaImagesChanged(), setRightImage(), UpdateDisplay(), and UpdateTransforms().
|
private |
Definition at line 246 of file CPEditorPanel.h.
Referenced by changeState(), ClearSelection(), Create(), CreateNewPoint(), FineTuneNewPoint(), NewPointChange(), OnCPEvent(), OnCPListDeselect(), OnShowLinesCheckbox(), OnZoom(), panoramaImagesChanged(), SelectLocalPoint(), setRightImage(), and UpdateDisplay().
|
private |
Definition at line 277 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 282 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 297 of file CPEditorPanel.h.
Referenced by Create(), panoramaImagesChanged(), and setRightImage().
|
private |
Definition at line 276 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 281 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 305 of file CPEditorPanel.h.
Referenced by Create(), OnCPEvent(), and OnCPListSelect().
|
private |
Definition at line 284 of file CPEditorPanel.h.
Referenced by changeState(), ClearSelection(), Create(), FineTuneSelectedPoint(), OnZoom(), SelectLocalPoint(), setLeftImage(), setRightImage(), and UpdateDisplay().
|
private |
Definition at line 261 of file CPEditorPanel.h.
Referenced by Create(), panoramaImagesChanged(), and ~CPEditorPanel().
|
private |
Definition at line 294 of file CPEditorPanel.h.
Referenced by Create(), OnColumnHeaderClick(), SortList(), and ~CPEditorPanel().
|
private |
Definition at line 293 of file CPEditorPanel.h.
Referenced by Create(), OnColumnHeaderClick(), SortList(), and ~CPEditorPanel().
|
private |
Definition at line 249 of file CPEditorPanel.h.
Referenced by Create(), EnablePointEdit(), OnTextPointChange(), SelectLocalPoint(), UpdateDisplay(), and ~CPEditorPanel().
|
private |
Definition at line 249 of file CPEditorPanel.h.
Referenced by Create(), EnablePointEdit(), OnTextPointChange(), SelectLocalPoint(), UpdateDisplay(), and ~CPEditorPanel().
|
private |
Definition at line 249 of file CPEditorPanel.h.
Referenced by Create(), EnablePointEdit(), OnTextPointChange(), SelectLocalPoint(), UpdateDisplay(), and ~CPEditorPanel().
|
private |
Definition at line 249 of file CPEditorPanel.h.
Referenced by Create(), EnablePointEdit(), OnTextPointChange(), SelectLocalPoint(), UpdateDisplay(), and ~CPEditorPanel().
|
private |
Definition at line 251 of file CPEditorPanel.h.
Referenced by changeState(), Create(), OnKey(), and panoramaImagesChanged().
|
private |
Definition at line 290 of file CPEditorPanel.h.
Referenced by FineTuneSelectedPoint(), OnTextPointChange(), and UpdateDisplay().