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... | |
DECLARE_EVENT_TABLE () | |
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 295 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 | ( | ) |
|
virtual |
dtor.
Definition at line 315 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 2162 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, 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 840 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 110 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_fineTuneCB, m_leftChoice, m_leftImageNr, m_leftImg, m_leftInvTransform, m_leftInvTransformMag, m_leftRot, m_leftTransform, m_leftTransformMag, m_listenToPageChange, 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, celeste::max(), NO_POINT, OnActionContextMenu(), OnActionSelectCeleste(), OnActionSelectCleanCP(), OnActionSelectCreate(), OnKey(), OnZoom(), CPImageCtrl::ROT0, SetColumnImage(), CPImageCtrl::setMagTransforms(), CPImageCtrl::setTransforms(), and CPImageCtrl::ShowLines().
|
private |
this is used to finally create the point in the panorama model
Definition at line 763 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 |
|
private |
enable or disable controls for editing other points
Definition at line 1841 of file CPEditorPanel.cpp.
References m_cpModeChoice, m_delButton, 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 925 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 2605 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 2560 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 2510 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 2740 of file CPEditorPanel.cpp.
References CPImageCtrl::ROT0, CPImageCtrl::ROT180, CPImageCtrl::ROT270, and CPImageCtrl::ROT90.
Referenced by panoramaImagesChanged(), setLeftImage(), and setRightImage().
|
private |
Definition at line 822 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 902 of file CPEditorPanel.cpp.
References currentPoints.
Referenced by SelectGlobalPoint().
void CPEditorPanel::Init | ( | HuginBase::Panorama * | pano | ) |
Definition at line 308 of file CPEditorPanel.cpp.
References HuginBase::Panorama::addObserver(), and m_pano.
Referenced by MainFrame::MainFrame().
|
private |
Definition at line 2489 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 918 of file CPEditorPanel.cpp.
References currentPoints.
Referenced by OnCPEvent(), OnDeleteButton(), and OnKey().
|
private |
Definition at line 1013 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 2297 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CELESTE, CPTAB_ACTION_CLEAN_CP, CPTAB_ACTION_CREATE_CP, m_cpActionButtonMode, OnCelesteButton(), OnCleanCPButton(), and OnCreateCPButton().
|
private |
Definition at line 2291 of file CPEditorPanel.cpp.
References MainFrame::Get(), and m_cpActionContextMenu.
Referenced by Create().
|
private |
Definition at line 2467 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CELESTE, m_actionButton, and m_cpActionButtonMode.
Referenced by Create().
|
private |
Definition at line 2478 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CLEAN_CP, m_actionButton, and m_cpActionButtonMode.
Referenced by Create().
|
private |
Definition at line 2456 of file CPEditorPanel.cpp.
References CPTAB_ACTION_CREATE_CP, m_actionButton, and m_cpActionButtonMode.
Referenced by Create().
|
private |
Definition at line 2114 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, cpCreationState, and CreateNewPoint().
|
private |
Definition at line 2340 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 2416 of file CPEditorPanel.cpp.
References PanoCommand::CommandHistory::addCommand(), currentPoints, PanoCommand::GlobalCmdHist::getInstance(), and m_pano.
Referenced by OnActionButton().
|
private |
Definition at line 2698 of file CPEditorPanel.cpp.
References m_cpList, m_sortAscending, m_sortCol, SetColumnImage(), and SortList().
|
private |
Definition at line 2692 of file CPEditorPanel.cpp.
References m_cpList.
|
private |
Definition at line 590 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.
|
private |
Definition at line 1954 of file CPEditorPanel.cpp.
References changeState(), CPImageCtrl::deselect(), EnablePointEdit(), m_leftImg, m_rightImg, and NO_POINT.
|
private |
Definition at line 1932 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().
|
private |
Definition at line 2314 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 2122 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.
|
private |
Definition at line 2282 of file CPEditorPanel.cpp.
References BOTH_POINTS_SELECTED, cpCreationState, FineTuneNewPoint(), FineTuneSelectedPoint(), and NO_POINT.
|
private |
Definition at line 2030 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, NO_POINT, OnNextImg(), OnPrevImg(), and OnZoom().
Referenced by Create().
|
private |
Definition at line 1917 of file CPEditorPanel.cpp.
References DEBUG_TRACE, m_listenToPageChange, and setLeftImage().
|
private |
Definition at line 2261 of file CPEditorPanel.cpp.
References HuginBase::Panorama::getNrOfImages(), m_leftImageNr, m_pano, m_rightImageNr, setLeftImage(), and setRightImage().
Referenced by OnKey().
|
private |
Definition at line 2240 of file CPEditorPanel.cpp.
References HuginBase::Panorama::getNrOfImages(), m_leftImageNr, m_pano, m_rightImageNr, setLeftImage(), and setRightImage().
Referenced by OnKey().
|
private |
Definition at line 1925 of file CPEditorPanel.cpp.
References DEBUG_TRACE, m_listenToPageChange, and setRightImage().
|
private |
Definition at line 2733 of file CPEditorPanel.cpp.
References m_leftImg, m_rightImg, and CPImageCtrl::ShowLines().
|
private |
Definition at line 1852 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().
|
private |
Definition at line 1966 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 1460 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 1513 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_fineTuneCB, m_leftChoice, m_leftFile, m_leftImageNr, m_leftImg, m_leftRot, m_listenToPageChange, m_pano, m_rightChoice, m_rightFile, m_rightImageNr, m_rightImg, m_rightRot, m_showLinesCB, CPImageCtrl::ROT0, CPImageCtrl::setImage(), setLeftImage(), setRightImage(), and UpdateDisplay().
|
private |
search for region in destImg
Definition at line 1370 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 891 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 859 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 337 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 369 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 2151 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 510 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 1684 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 405 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 283 of file CPEditorPanel.h.
Referenced by EstimatePoint(), FineTuneSelectedPoint(), globalPNr2LocalPNr(), localPNr2GlobalPNr(), NewPointChange(), OnCelesteButton(), OnCleanCPButton(), OnCPEvent(), OnTextPointChange(), SelectLocalPoint(), SortList(), and UpdateDisplay().
|
private |
Definition at line 253 of file CPEditorPanel.h.
Referenced by Create(), OnActionSelectCeleste(), OnActionSelectCleanCP(), OnActionSelectCreate(), and panoramaImagesChanged().
|
private |
Definition at line 251 of file CPEditorPanel.h.
Referenced by changeState(), Create(), and panoramaImagesChanged().
|
private |
Definition at line 254 of file CPEditorPanel.h.
Referenced by Create(), estimateAndAddOtherPoint(), NewPointChange(), panoramaImagesChanged(), and ~CPEditorPanel().
|
private |
Definition at line 287 of file CPEditorPanel.h.
Referenced by panoramaChanged(), and panoramaImagesChanged().
|
private |
Definition at line 258 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 252 of file CPEditorPanel.h.
Referenced by changeState(), Create(), EnablePointEdit(), and panoramaImagesChanged().
|
private |
Definition at line 268 of file CPEditorPanel.h.
Referenced by Create(), estimateAndAddOtherPoint(), NewPointChange(), and OnZoom().
|
private |
Definition at line 249 of file CPEditorPanel.h.
|
private |
Definition at line 256 of file CPEditorPanel.h.
Referenced by Create(), NewPointChange(), panoramaImagesChanged(), and ~CPEditorPanel().
|
private |
Definition at line 255 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 265 of file CPEditorPanel.h.
Referenced by panoramaImagesChanged(), and setLeftImage().
|
private |
Definition at line 263 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 271 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 276 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 292 of file CPEditorPanel.h.
Referenced by Create(), CreateNewPoint(), OnCPEvent(), panoramaImagesChanged(), and setLeftImage().
|
private |
Definition at line 270 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 275 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 267 of file CPEditorPanel.h.
Referenced by Create(), OnLeftChoiceChange(), OnRightChoiceChange(), and panoramaImagesChanged().
|
private |
Definition at line 261 of file CPEditorPanel.h.
Referenced by 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 245 of file CPEditorPanel.h.
Referenced by Create(), CreateNewPoint(), OnCPEvent(), OnDeleteButton(), panoramaImagesChanged(), setLeftImage(), setRightImage(), and UpdateDisplay().
|
private |
Definition at line 266 of file CPEditorPanel.h.
Referenced by panoramaImagesChanged(), and setRightImage().
|
private |
Definition at line 264 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 273 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 278 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 293 of file CPEditorPanel.h.
Referenced by Create(), panoramaImagesChanged(), and setRightImage().
|
private |
Definition at line 272 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 277 of file CPEditorPanel.h.
Referenced by Create(), and UpdateTransforms().
|
private |
Definition at line 301 of file CPEditorPanel.h.
Referenced by Create(), OnCPEvent(), and OnCPListSelect().
|
private |
Definition at line 280 of file CPEditorPanel.h.
Referenced by changeState(), ClearSelection(), Create(), FineTuneSelectedPoint(), OnZoom(), SelectLocalPoint(), setLeftImage(), setRightImage(), and UpdateDisplay().
|
private |
Definition at line 257 of file CPEditorPanel.h.
Referenced by Create(), panoramaImagesChanged(), and ~CPEditorPanel().
|
private |
Definition at line 290 of file CPEditorPanel.h.
Referenced by Create(), OnColumnHeaderClick(), SortList(), and ~CPEditorPanel().
|
private |
Definition at line 289 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 286 of file CPEditorPanel.h.
Referenced by FineTuneSelectedPoint(), OnTextPointChange(), and UpdateDisplay().