24 #ifndef _CPEDITORPANEL_H
25 #define _CPEDITORPANEL_H
71 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"));
127 void SelectLocalPoint(
unsigned int LVpointNr,
bool scrollLeft =
true,
bool scrollRight =
true);
146 const vigra::Diff2D &tmplPoint,
148 unsigned int subjImgNr,
161 void OnZoom(wxCommandEvent & e);
163 void OnKey(wxKeyEvent & e);
187 const vigra::Diff2D & srcPnt,
217 unsigned int thisImgNr,
221 unsigned int otherImgNr,
313 vigra::Diff2D templPos,
int templSize,
315 vigra::Diff2D searchPos,
int sWidth);
328 #endif // _CPEDITORPANEL_H
void OnColumnHeaderClick(wxListEvent &e)
void SelectGlobalPoint(unsigned int globalNr)
Select a point.
void NewPointChange(hugin_utils::FDiff2D p, bool left)
HuginBase::PTools::Transform m_leftInvTransformMag
virtual wxObject * DoCreateResource()
vigra_ext::CorrelationResult PointFineTuneProjectionAware(const HuginBase::SrcPanoImage &templ, const vigra::UInt8RGBImage &templImg, vigra::Diff2D templPos, int templSize, const HuginBase::SrcPanoImage &search, const vigra::UInt8RGBImage &searchImg, vigra::Diff2D searchPos, int sWidth)
function for fine-tune with remapping to stereographic projection
wxString m_currentCPDetector
wxMenu * m_cpActionContextMenu
CPImagesComboBox * m_leftChoice
void SortList()
sorting functions
control point editor panel.
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
void OnCPListDeselect(wxListEvent &e)
CPImagesComboBox * m_rightChoice
virtual bool CanHandle(wxXmlNode *node)
Definition of CPImagesComboBox and CPImagesComboBoxXmlHandler class.
void OnAddButton(wxCommandEvent &e)
void OnCreateCPButton(wxCommandEvent &e)
void OnCPListSelect(wxListEvent &e)
CPTabActionButtonMode m_cpActionButtonMode
Events to notify about new point / region / point change.
void FineTuneSelectedPoint(bool left)
void OnKey(wxKeyEvent &e)
void OnFineTuneButton(wxCommandEvent &e)
void setLeftImage(unsigned int imgNr)
set left image
Owner Drawn ComboBox for showing connected images on CP tab.
void EnablePointEdit(bool state)
enable or disable controls for editing other points
void OnNextImg(wxCommandEvent &e)
void ShowControlPoint(unsigned int cpNr)
show a control point
void SetPano(HuginBase::Panorama *panorama)
void OnActionContextMenu(wxContextMenuEvent &e)
virtual ~CPEditorPanel()
dtor.
void OnActionButton(wxCommandEvent &e)
unsigned int m_leftImageNr
std::set< unsigned int > UIntSet
void OnCleanCPButton(wxCommandEvent &e)
void OnTextPointChange(wxCommandEvent &e)
wxCheckBox * m_fineTuneCB
right point, finetune for left point failed
void OnLeftChoiceChange(wxCommandEvent &e)
wxCheckBox * m_showLinesCB
void CreateNewPoint()
this is used to finally create the point in the panorama model
void OnZoom(wxCommandEvent &e)
CPCreationState
the state machine for point selection: it is set to the current selection
void FineTuneNewPoint(bool left)
CPImageCtrl::ImageRotation GetRot(double yaw, double roll, double pitch)
calculate rotation required for upright image display from roll, pitch and yaw angles ...
hugin_utils::FDiff2D EstimatePoint(const hugin_utils::FDiff2D &p, bool left)
Estimate position of point in the other image.
HuginBase::PTools::Transform m_rightTransform
Maximum of correlation, position and value.
void OnDeleteButton(wxCommandEvent &e)
bool globalPNr2LocalPNr(unsigned int &localNr, unsigned int globalNr) const
map a global point nr to a local one, if possible
CPCreationState cpCreationState
CPEditorPanelXmlHandler()
unsigned int localPNr2GlobalPNr(unsigned int localNr) const
find a local point
void OnActionSelectCleanCP(wxCommandEvent &e)
void OnActionSelectCeleste(wxCommandEvent &e)
point in left image selected
void OnShowLinesCheckbox(wxCommandEvent &e)
std::set< unsigned int > mirroredPoints
CPImageCtrl::ImageRotation m_rightRot
HuginBase::PTools::Transform m_leftTransformMag
void ClearSelection()
unselect a point
HuginBase::PTools::Transform m_leftInvTransform
HuginBase::PTools::Transform m_rightInvTransform
std::vector< CPoint > CPointVector
CPImageCtrl::ImageRotation m_leftRot
wxButton * m_actionButton
unsigned int m_rightImageNr
void Init(HuginBase::Panorama *pano)
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
void OnCPEvent(CPEvent &ev)
void changeState(CPCreationState newState)
void UpdateTransforms()
updated the internal transform object for drawing line in controls
void OnPrevImg(wxCommandEvent &e)
void OnRightChoiceChange(wxCommandEvent &e)
this handler class will receive change events from the Panorama.
void SelectLocalPoint(unsigned int LVpointNr, bool scrollLeft=true, bool scrollRight=true)
select a local point.
HuginBase::Panorama * m_pano
void setRightImage(unsigned int imgNr)
set right image
CPScrollHint m_scrollHint
void panoramaChanged(HuginBase::Panorama &pano)
called when the panorama changes and we should update our display
void OnActionSelectCreate(wxCommandEvent &e)
void OnColumnWidthChange(wxListEvent &e)
HuginBase::PTools::Transform m_rightInvTransformMag
const float getVerticalCPBias()
bool m_listenToPageChange
HuginBase::PTools::Transform m_rightTransformMag
wxCheckBox * m_estimateCB
selected point in right image
wxChoice * m_cpModeChoice
point in left image selected, finetune failed in right image
hugin_utils::FDiff2D LocalFineTunePoint(unsigned int srcNr, const vigra::Diff2D &srcPnt, hugin_utils::FDiff2D &movedSrcPnt, unsigned int moveNr, const hugin_utils::FDiff2D &movePnt)
HuginBase::PTools::Transform m_leftTransform
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"))
All variables of a source image.
HuginBase::CPointVector currentPoints
left and right point selected, waiting for add point.
double m_detailZoomFactor
void OnCelesteButton(wxCommandEvent &e)
ImageRotation
image rotation.
void panoramaImagesChanged(HuginBase::Panorama &pano, const HuginBase::UIntSet &imgNr)
notifies about changes to images
unsigned int m_selectedPoint
void UpdateDisplay(bool newImages)
updates the display after another image has been selected.