26#include "hugin_config.h"
46#include <wx/renderer.h>
104 m_degDigits = wxConfigBase::Get()->Read(
"/General/DegreeFractionalDigits",1);
105 m_pixelDigits = wxConfigBase::Get()->Read(
"/General/PixelFractionalDigits",1);
106 m_distDigits = wxConfigBase::Get()->Read(
"/General/DistortionFractionalDigits",3);
129#define ADDCOLUMN(header, mapName, width, align, isEditable, IVE, tooltip) \
130 AddColumn(header, width, align, -1, true, false, tooltip);\
131 m_columnMap[mapName]=counter;\
132 m_columnVector.push_back(mapName);\
135 m_editableColumns.insert(counter);\
137 m_variableVector.push_back(IVE);\
139 ADDCOLUMN(
"#",
"imgNr", 35,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Image number"))
140 ADDCOLUMN(
_(
"Filename"),
"filename", 200,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Filename"))
141 ADDCOLUMN(
_(
"Width"),
"width", 60,
wxALIGN_RIGHT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Image width"))
142 ADDCOLUMN(
_(
"Height"),
"height", 60,
wxALIGN_RIGHT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Image height"))
143 ADDCOLUMN(
_(
"Anchor"),
"anchor", 60,
wxALIGN_RIGHT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Anchor image for position and/or exposure"))
144 ADDCOLUMN(
_(
"# Ctrl Pnts"),
"cps", 60,
wxALIGN_RIGHT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Number of control points in this image"))
145 ADDCOLUMN(
_(
"Lens no."),
"lensNr", 60,
wxALIGN_RIGHT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Assigned lens number"))
146 ADDCOLUMN(
_(
"Stack no."),
"stackNr", 60,
wxALIGN_RIGHT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Assigned stack number"))
148 ADDCOLUMN(
_(
"Maker"),
"maker", 100,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Camera maker"))
149 ADDCOLUMN(
_(
"Model"),
"model", 100,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Camera model"))
150 ADDCOLUMN(
_(
"Lens"),
"lens", 100,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Used lens"))
151 ADDCOLUMN(
_(
"Capture date"),
"date", 100,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Date, image was taken"))
152 ADDCOLUMN(
_(
"Focal length"),
"focallength", 80,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Focal length"))
153 ADDCOLUMN(
_(
"Aperture"),
"aperture", 50,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Aperture"))
154 ADDCOLUMN(
_(
"Shutter Speed"),
"time", 50,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Shutter speed"))
155 ADDCOLUMN(
_(
"ISO"),
"iso", 50,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"ISO speed"))
160 ADDCOLUMN(
"X (TrX)",
"TrX", 60,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Yaw,
_(
"Camera translation X"))
161 ADDCOLUMN(
"Y (TrY)",
"TrY", 60,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Yaw,
_(
"Camera translation Y"))
162 ADDCOLUMN(
"Z (TrZ)",
"TrZ", 60,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Yaw,
_(
"Camera translation Z"))
163 ADDCOLUMN(
_(
"Plane yaw"),
"Tpy", 60,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Yaw,
_(
"Translation remap plane yaw"))
164 ADDCOLUMN(
_(
"Plane pitch"),
"Tpp", 60,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Yaw,
_(
"Translation remap plane pitch"))
165 ADDCOLUMN(
_(
"Camera translation"),
"cam_trans", 60,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Yaw,
_(
"Camera translation"))
167 ADDCOLUMN(
_(
"Lens type (f)"),
"projection", 100,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Lens type (rectilinear, fisheye, equirectangular, ...)"))
168 ADDCOLUMN(
_(
"Hfov (v)"),
"v", 80,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_HFOV,
_(
"Horizontal field of view (v)"))
169 ADDCOLUMN(
"a",
"a", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialDistortion,
_(
"Radial distortion (a)"))
170 ADDCOLUMN(
"b",
"b", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialDistortion,
_(
"Radial distortion (b, barrel)"))
171 ADDCOLUMN(
"c",
"c", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialDistortion,
_(
"Radial distortion (c)"))
172 ADDCOLUMN(
"d",
"d", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialDistortionCenterShift,
_(
"Horizontal image center shift (d)"))
173 ADDCOLUMN(
"e",
"e", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialDistortionCenterShift,
_(
"Vertical image center shift (e)"))
174 ADDCOLUMN(
"g",
"g", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Shear,
_(
"Horizontal image shearing (g)"))
175 ADDCOLUMN(
"t",
"t", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_Shear,
_(
"Vertical image shearing (t)"))
177 ADDCOLUMN(
"EV",
"Eev", 50,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_ExposureValue,
_(
"Exposure value (Eev)"))
178 ADDCOLUMN(
"Er",
"Er", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_WhiteBalanceRed,
_(
"Red multiplier (Er)"))
179 ADDCOLUMN(
"Eb",
"Eb", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_WhiteBalanceBlue,
_(
"Blue multiplier (Eb)"))
180 ADDCOLUMN(
"Vb",
"Vb", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialVigCorrCoeff,
_(
"Vignetting (Vb, Vc, Vd)"))
181 ADDCOLUMN(
"Vc",
"Vc", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialVigCorrCoeff,
_(
"Vignetting (Vb, Vc, Vd)"))
182 ADDCOLUMN(
"Vd",
"Vd", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialVigCorrCoeff,
_(
"Vignetting (Vb, Vc, Vd)"))
183 ADDCOLUMN(
"Vx",
"Vx", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialVigCorrCenterShift,
_(
"Horizontal vignetting center shift (Vx)"))
184 ADDCOLUMN(
"Vy",
"Vy", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_RadialVigCorrCenterShift,
_(
"Vertical vignetting center shift (Vy)"))
185 ADDCOLUMN(
_(
"Response type"),
"response", 80,
wxALIGN_LEFT,
false, HuginBase::ImageVariableGroup::IVE_Filename,
_(
"Camera response type"))
186 ADDCOLUMN(
"Ra",
"Ra", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_EMoRParams,
_(
"Camera response parameter"))
187 ADDCOLUMN(
"Rb",
"Rb", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_EMoRParams,
_(
"Camera response parameter"))
188 ADDCOLUMN(
"Rc",
"Rc", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_EMoRParams,
_(
"Camera response parameter"))
189 ADDCOLUMN(
"Rd",
"Rd", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_EMoRParams,
_(
"Camera response parameter"))
190 ADDCOLUMN(
"Re",
"Re", 40,
wxALIGN_LEFT,
true, HuginBase::ImageVariableGroup::IVE_EMoRParams,
_(
"Camera response parameter"))
199 int width = wxConfigBase::Get()->Read(wxString::Format(
m_configClassName+
"/ColumnWidth%d",
j ), -1);
441 if(img.getX()!=0.0 || img.getY()!=0.0 || img.getZ()!=0.0 || img.getTranslationPlaneYaw()!=0.0 || img.getTranslationPlanePitch()!=0.0)
477 std::vector<double>
dist=img.getRadialDistortion();
542 std::vector<double>
dist=img.getRadialVigCorrCoeff();
574 std::vector<float>
vec = img.getEMoRParams();
636 if(img.getX()!=0.0 || img.getY()!=0.0 || img.getZ()!=0.0 || img.getTranslationPlaneYaw()!=0.0 || img.getTranslationPlanePitch()!=0.0)
678 std::vector<double>
dist=img.getRadialDistortion();
743 std::vector<double>
dist=img.getRadialVigCorrCoeff();
769 std::vector<float>
vec=img.getEMoRParams();
814 HuginBase::UIntSet::const_iterator
it=imgs.begin();
884 for(HuginBase::UIntSet::const_iterator
it=imgNrs.begin();
it!=imgNrs.end() && !
opt;++
it)
947 int colNum = e.GetColumn();
1111 if(e.GetItem().IsOk())
1159 menu.AppendSeparator();
1187 menu.AppendSeparator();
1234 if(
menu.GetMenuItemCount()>0)
1236 menu.AppendSeparator();
1243 if(
subMenu->GetMenuItemCount()>0)
1255 if(
subMenu->GetMenuItemCount()>0)
1266 if(
subMenu->GetMenuItemCount()>0)
1276 if(
subMenu->GetMenuItemCount()>0)
1285 if(
menu.GetMenuItemCount()>0)
1323 while (
child.IsOk())
1350 while (
child.IsOk())
1379 while (
child.IsOk())
1430 std::set<HuginBase::ImageVariableGroup::ImageVariableEnum> variables;
1434 variables.insert(HuginBase::ImageVariableGroup::IVE_Pitch);
1435 variables.insert(HuginBase::ImageVariableGroup::IVE_Roll);
1436 variables.insert(HuginBase::ImageVariableGroup::IVE_X);
1437 variables.insert(HuginBase::ImageVariableGroup::IVE_Y);
1438 variables.insert(HuginBase::ImageVariableGroup::IVE_Z);
1439 variables.insert(HuginBase::ImageVariableGroup::IVE_TranslationPlaneYaw);
1440 variables.insert(HuginBase::ImageVariableGroup::IVE_TranslationPlanePitch);
1571 for (
auto&
i : images)
1691 std::set<std::string> var;
1737 for (std::set<std::string>::const_iterator
varIt = var.begin();
varIt != var.end(); ++
varIt)
1752 for (std::set<std::string>::const_iterator
varIt = var.begin();
varIt != var.end(); ++
varIt)
1754 for (HuginBase::UIntSet::const_iterator
imgIt = imgs.begin();
imgIt != imgs.end(); ++
imgIt)
1762 for (std::set<std::string>::const_iterator
varIt = var.begin();
varIt != var.end(); ++
varIt)
1764 for (HuginBase::UIntSet::const_iterator
imgIt = imgs.begin();
imgIt != imgs.end(); ++
imgIt)
1824 if (imgNr >= 0 && imgNr < 2)
1850 std::set<std::string>
imgVars;
1852 if(var==
"cam_trans")
1863 if(var==
"Vb" || var==
"Vc" || var==
"Vd")
1869 if(var==
"Vx" || var==
"Vy")
1874 if(var==
"Ra" || var==
"Rb" || var==
"Rc" || var==
"Rd" || var==
"Re")
1920 for(HuginBase::UIntSet::iterator img=imgs.begin(); img!=imgs.end(); ++img)
1926 if((*
it==
"y" || *
it==
"p" || *
it==
"r" || *
it==
"TrX" || *
it==
"TrY" || *
it==
"TrZ" || *
it==
"Tpy" || *
it==
"Tpp") &&
1982 switch(e.GetKeyCode())
1996 for (
auto& img : imgs)
1998 ImageCache::getInstance().removeImage(
m_pano->
getImage(img).getFilename());
2007#if defined __WXMAC__
2051 if(e.IsEditCancelled())
2086 wxString::Format(
_(
"You have given a field of view of %.2f degrees.\n But the orthographic projection is limited to a field of view of 180 degress.\nDo you want still use that high value?"), val),
2144 : wxTreeListCtrlXmlHandler()
2154 GetPosition(), GetSize(),
Definition of dialog to edit image variables.
Declare the ImageVariableGroup and ImageVariableGroupObserver classes.
#define ADDCOLUMN(header, mapName, width, align, isEditable, IVE, tooltip)
declaration of main image tree control
declaration of functions to handle stacks and layers
Somewhere to specify what variables belong to what.
HuginBase::UIntSet GetDragGroupImages()
void SetDragGroupImages(HuginBase::UIntSet imageDragGroup_in, bool update_check_box=true)
@ RESPONSE_EMOR
empirical model of response
std::size_t getNumberOfParts() const
get the number of parts.
unsigned int getPartNumber(unsigned int imageNr) const
Get a part number from an image number.
UIntSetVector getPartsSet() const
return a vector which contains a HuginBase::UIntSet for each group with the corresponding images numb...
static const std::set< ConstImageVariableGroup::ImageVariableEnum > & getLensVariables()
Get the set of lens image variables.
static const std::set< ConstImageVariableGroup::ImageVariableEnum > & getStackVariables()
Get the set of stack image variables.
unsigned int optimizeReferenceImage
unsigned int colorReferenceImage
const SrcPanoImage & getImage(std::size_t nr) const
get a panorama image, counting starts with 0
const PanoramaOptions & getOptions() const
returns the options for this panorama
std::vector< unsigned int > getCtrlPointsForImage(unsigned int imgNr) const
return all control points for a given image.
void addObserver(PanoramaObserver *o)
add a panorama observer.
bool removeObserver(PanoramaObserver *observer)
remove a panorama observer.
const OptimizeVector & getOptimizeVector() const
return the optimize settings stored inside panorama
UIntSet getActiveImages() const
get active images
std::size_t getNrOfImages() const
number of images.
All variables of a source image.
ImageVariableGroup & getStacks()
Get the ImageVariableGroup representing the group of stack variables.
ImageVariableGroup & getLenses()
Get the ImageVariableGroup representing the group of lens variables.
void update()
Update part numbers for each variable group.
a variable has a value and a name.
Dialog for editing image variables.
virtual wxObject * DoCreateResource()
virtual bool CanHandle(wxXmlNode *node)
the main images tree control, used on images and optimizer tabs
HuginBase::StandardImageVariableGroups * m_variable_groups
void OnExecuteOperation(wxCommandEvent &e)
menu event handler for PanoOperation (context menu items)
void UpdateItemFont()
update the font colour for all items
void OnMouseMove(wxMouseEvent &e)
event handler for mouse motion, handles focussing of check boxes
wxTreeItemId m_leftDownItem
stores where left mouse click happend
std::vector< HuginBase::ImageVariableGroup::ImageVariableEnum > m_variableVector
vector for easier access to linking information
void OnContextMenu(wxTreeEvent &e)
event handler to display context menu
void OnActivateImage(wxCommandEvent &e)
event handler for activate image
void OnBeginEdit(wxTreeEvent &e)
event handler for beginning editing
void GenerateSubMenu(wxMenu *menu, PanoOperation::PanoOperationVector *operations, int &id)
generates submenu for given PanoOperationVector
void UpdateGroupText(wxTreeItemId item)
updates the information fot the given lens/stack in the tree
void OnSelectLensStack(wxCommandEvent &e)
event handler for select all optimizer variables for selected lens/stack
void UpdateImageText(wxTreeItemId item)
updates the information for the given image in tree
void CreateCheckboxImages()
create image list with necessary images of checkboxes
void OnEditImageVariables(wxCommandEvent &e)
event handler for showing image variables editing dialog
bool m_optimizerMode
true, if in optimizer mode
bool Create(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL, const wxString &name="panel")
creates the control
void OnUnselectLensStack(wxCommandEvent &e)
event handler for unselect all optimizer variables for selected lens/stack
void OnBeginDrag(wxTreeEvent &e)
event handler when dragging begins, veto if dragging is not possible
wxTreeItemId m_lastCurrentItem
stores last item on which the mouse was hovering
bool m_needsUpdate
helper variable for update of output stacks/layers
virtual ~ImagesTreeCtrl(void)
destructor
HuginBase::Panorama * m_pano
void OnSelectAll(wxCommandEvent &e)
event handler for select all optimizer variables
HuginBase::UIntSet GetSelectedImages()
returns the selected images
void SelectAllParameters(bool select, bool allImages)
select/unselect all variables in the active column @select true selects all, false unselect all @allI...
void SetGuiLevel(GuiLevel newSetting)
sets the GuiLevel of the control
void OnLinkImageVariables(wxCommandEvent &e)
event handler for linking image variables
HuginBase::UIntSet m_editableColumns
set, which contains editable columns (all column which contains numeric image variables
void OnDeactivateImage(wxCommandEvent &e)
event handler for deactivate image
void Init(HuginBase::Panorama *pano)
initialization, connects all control with Panorama, register observer
std::map< std::string, size_t > m_columnMap
map for easier access to column information
void OnHeaderContextMenu(wxListEvent &e)
event handler for context menu on header
void OnColumnWidthChange(wxListEvent &e)
event handler, when column width was changed, save into wxConfig
void SetGroupMode(GroupMode newMode)
sets the group mode to given mode
GroupMode m_groupMode
the active group mode
void panoramaImagesChanged(HuginBase::Panorama &pano, const HuginBase::UIntSet &imgNr)
receive the update signal and update display accordingly
void OnUnselectAll(wxCommandEvent &e)
event handler for unselect all optimizer variables
void SetOptimizerMode()
sets to control into optimizer mode
size_t m_selectedColumn
selected column
void OnUnlinkImageVariables(wxCommandEvent &e)
event handler for unlinking image variables
GroupMode
enumeration for grouping mode
void CreateColumns()
creates all columns and stores information in m_columnMap, m_columnVector, m_editableColumns and m_va...
void OnLeftDblClick(wxMouseEvent &e)
event handler for left double click
std::map< int, PanoOperation::PanoOperation * > m_menuOperation
map with current active context menu PanoOperation
wxString m_editOldString
wxString, as shown before editing started
void UnLinkImageVariables(bool linked)
helper procedure for link/unlink image variables
void OnLeftDown(wxMouseEvent &e)
event handler for left mouse down, handles toggle of optimizer variables
bool m_markDisabledImages
true, if disabled images should be marked with other font color
GuiLevel m_guiLevel
stores the active GuiLevel
void SetDisplayMode(DisplayMode newMode)
sets the display mode to given mode
void UpdateOptimizerVariables()
updates the display of the optimizer variables (set font)
bool m_dragging
true, if dragging
DisplayMode
enumeration for display mode, limits the displayed columns
@ DISPLAY_PHOTOMETRICS_LENSES
@ DISPLAY_PHOTOMETRICS_IMAGES
void OnLeftUp(wxMouseEvent &e)
event handler for left up, handles end of dragging and updates of optimizer variables states
HuginBase::UIntSet m_draggingImages
UIntSet of dragging images.
wxTreeItemId m_root
pointer to root item, not shown
virtual void panoramaChanged(HuginBase::Panorama &pano)
receives notification about panorama changes
double m_editVal
value, which is currently edited
void UpdateGroup(wxTreeItemId parent, const HuginBase::UIntSet imgs, HuginBase::UIntSet &changed)
updates the given group, updates number of images and the images itself
void OnDpiChanged(wxDPIChangedEvent &e)
event handler for updating dpi
void MarkActiveImages(const bool markActive)
sets the flag, if active/disabled image should be marked with different colour
void OnChar(wxTreeEvent &e)
event handler for key events
void OnEndEdit(wxTreeEvent &e)
event handler for ending editing, updates the Panorama with modified value
DisplayMode m_displayMode
the active display mode
ImagesTreeCtrl()
general constructor
wxString m_configClassName
std::vector< std::string > m_columnVector
vector for easier access to column information
const bool IsGroup() const
const long GetImgNr() const
void SetImgNr(long newImgNr)
const long GetGroupNr() const
ImagesTreeData(const long &nr)
static MainFrame * Get()
hack.. kind of a pseudo singleton...
GLPreviewFrame * getGLPreview()
Change the linking of some variables across parts of an ImageVariableGroup containing some specified ...
Switch the part number of an image.
void addCommand(PanoCommand *command, bool execute=true)
Adds a command to the history.
static GlobalCmdHist & getInstance()
move image from position1 to position2
Make a new part in a ImageVariableGroup for a set of images, given the variables that make up the gro...
Base class for all panorama commands.
remove multiple images from a panorama
update a single variable, possibly for a group of images
updates the optimize vector, aka all variables which should be optimized
simple class that forward the drop to the mainframe
base class for different PanoOperations derived classes should overwrite protected PanoOperation::Get...
virtual PanoCommand::PanoCommand * GetCommand(wxWindow *parent, HuginBase::Panorama &pano, HuginBase::UIntSet images, GuiLevel guiLevel)
returns the appropriate PanoCommand::PanoCommand to be inserted into GlobalCmdHistory,...
void SetItemText(const wxTreeItemId &item, const wxString &text)
wxTreeItemData * GetItemData(const wxTreeItemId &item) const
wxTreeItemId GetNext(const wxTreeItemId &item) const
size_t GetSelections(wxArrayTreeItemIds &) const
void AddColumn(const wxString &text, int width=DEFAULT_COL_WIDTH, int flag=wxALIGN_LEFT, int image=-1, bool shown=true, bool edit=false, const wxString &tooltip=wxEmptyString)
size_t GetChildrenCount(const wxTreeItemId &item, bool recursively=true)
bool IsSelected(const wxTreeItemId &item) const
wxTreeItemId AddRoot(const wxString &text, int image=-1, int selectedImage=-1, wxTreeItemData *data=NULL)
void SetItemImage(const wxTreeItemId &item, int image, wxTreeItemIcon which=wxTreeItemIcon_Normal)
void Refresh(bool erase=TRUE, const wxRect *rect=NULL)
wxString GetItemText(const wxTreeItemId &item) const
wxTreeItemId AppendItem(const wxTreeItemId &parent, const wxString &text, int image=-1, int selectedImage=-1, wxTreeItemData *data=NULL)
int GetColumnCount() const
void SetColumnWidth(int column, int width)
void SetColumnEditable(int column, bool edit=true)
int GetColumnWidth(int column) const
void SetColumnShown(int column, bool shown=true)
void ExpandAll(const wxTreeItemId &item)
int GetItemImage(const wxTreeItemId &item, wxTreeItemIcon which=wxTreeItemIcon_Normal) const
wxTreeItemId HitTest(const wxPoint &point)
void SetItemTextColour(const wxTreeItemId &item, const wxColour &colour)
void DeleteChildren(const wxTreeItemId &item)
void AssignImageList(wxImageList *imageList)
wxTreeItemId GetItemParent(const wxTreeItemId &item) const
wxTreeItemId GetFirstChild(const wxTreeItemId &item, wxTreeItemIdValue &cookie) const
void SetItemBold(const wxTreeItemId &item, bool bold=true)
void EndEdit(bool isCancelled)
void Delete(const wxTreeItemId &item)
wxTreeItemId GetLastChild(const wxTreeItemId &item, wxTreeItemIdValue &cookie) const
wxTreeItemId GetNextChild(const wxTreeItemId &item, wxTreeItemIdValue &cookie) const
#define DEBUG_ASSERT(cond)
std::vector< std::set< std::string > > OptimizeVector
std::vector< UIntSet > UIntSetVector
std::set< unsigned int > UIntSet
PanoOperationVector * GetStacksOperationVector()
returns list of PanoOperation for stacks
PanoOperationVector * GetImagesOperationVector()
returns list of PanoOperation for work with images
std::vector< PanoOperation * > PanoOperationVector
PanoOperationVector * GetControlPointsOperationVector()
returns list of PanoOperation for work with control points
PanoOperationVector * GetLensesOperationVector()
returns list of PanoOperation for work with lenses
PanoOperationVector * GetResetOperationVector()
returns list of PanoOperation for resetting
bool str2double(const wxString &s, double &d)
wxString doubleTowxString(double d, int digits)
int HuginMessageBox(const wxString &message, const wxString &caption, int style, wxWindow *parent)
include file for the hugin project
include file for the hugin project
bool set_contains(const _Container &c, const typename _Container::key_type &key)
void fill_set(_Container &c, typename _Container::key_type begin, typename _Container::key_type end)
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.