Todo List

Member PT::CombinedPanoCommand::processPanorama (Panorama &pano)
Should I revert if processing fails?

Member makefile::Comment::toString ()
strip disallowed characters.

Member HuginBase::ConstStandardImageVariableGroups::getLens (std::size_t lens_number)
replace everything using this and remove the function.

Member HuginBase::ConstStandardImageVariableGroups::getLensForImage (std::size_t imgNr)
replace everything using this and remove the function.

Class CPEditorPanel
support control lines

Member CPEditorPanel::EstimatePoint (const hugin_utils::FDiff2D &p, bool left)
use Pano Tools optimizer, to create better estimates, that are correct in most cases..

Member CPEditorPanel::SelectLocalPoint (unsigned int LVpointNr)
scroll windows so that the point is centred

Member GLPreviewFrame::ShowProjectionWarnings ()
The message doesn't really fit in the status bar, so we should have some other GUI arrangement or remove this feature. On my system, the status bar remains too short to contain the two lines of text in the message.

Member GreatCircleArc::GreatCircleArc (double startLat, double startLong, double endLat, double endLong, VisualizationState &m_visualizationState)
don't check the +/- 180 degree boundary when projection does not break there.

Member GreatCircleArc::draw (bool withCross=true, double width=1.0) const
It is probably more apropriate to use thin rectangles than lines. There are hardware defined limits on what width a line can be, and the worst case is the hardware only alows lines 1 pixel thick.

Class ImagesList
make the listcontents editable -> wxListCtrl->wxGrid?

Member ImagesList::Init (PT::Panorama *pano)
check new didn't return NULL in non-debug builds.

Member ImagesPanel::panoramaChanged (PT::Panorama &pano)
react on different update signals more special

Member ImagesTreeCtrl::Init (PT::Panorama *pano)
check new didn't return NULL in non-debug builds.

Class HuginBase::ImageVariable< Type >
These will probably be copied when creating the Undo/redo data, but their pointers will remain the same. Therefore when copying a SrcPanoImg, we should offset all the pointers by the difference between the old and new SrcPanoImg, so the links are relatively the same.

Member HuginBase::PTScriptParsing::ImgInfo::varnames []
Use information from image_variables.h and ImageVariableTranslate.h instead?

Member LayoutRemapper::UpdateAndResetIndex ()
Offset the centre position for images in brackets, when showing all brackets together.

Member MainFrame::ShowStitcherTab ()
Stop using magic numbers for the tabs.

Member makefile::Makefile::remove (MakefileItem *item)
Should it be necessary, implement this remove method to not throw everyting away.

Member MaskEditorPanel::DisplayCrop (int imgNr)
can this be done with img.getSize() / 2 + img.getRadialDistortionCenterShift()?

Member MeshManager::MeshInfo::Update ()
Maybe we should find the scale once, instead of for each image, and find a more asthetic way to calculate it.

Member NonaOptionsDialog::panoramaChanged (PT::Panorama &pano)
react on different update signals more special

Member PanoPanel::CheckGoodSize ()
(Possibly) make a dialog manually with properly labelled buttons.

Member PanoPanel::panoramaChanged (PT::Panorama &pano)
react on different update signals more special

Member PanoPanel::UpdateDisplay (const PT::PanoramaOptions &opt, const bool hasStacks)
Is this right? I don't see a 4th item in the combo box, and exr is a confusing LDR format.

Class HuginBase::Panorama
should the changer call the report() functions?

should we add constraints for the simple / advanced functionality to the model? I have to think a bit more about that issue. maybe the contraints can be factored out into another class that corrects then when updating. or we could have different models.. SimplePanorama and AdvancedPanorama.

Member HuginBase::Panorama::getImageVariables (unsigned int imgNr) const
change things using this to use getImage(imgNr).get*() instead.

Member HuginBase::PanoramaData::getImageVariables (unsigned int imgNr) const =0
remove when not used.

Class PreviewControlPointTool
: Delete control points when clicked and show the control point window on right click / middle click / modifier-key click? Perhaps not - not responding to user input allows us to show the control points while using the interactive tools.

Member PreviewControlPointTool::MakeTransforms ()
[efficiency] check the ViewState to see if we can keep the last one.

Class PreviewLayoutLinesTool
Update line information when control point informations changes, and only when it changes. The main preview system doesn't redraw when control points change. This should save on the draw time, since we don't always need to examine the control points to draw the preview.

Member PreviewLayoutLinesTool::updateLineInformation ()
Check both ways around. This only checks if points from the smallest numbered image are within the largest numbered image. If the first image is huge compared to the second, then it many points will miss and we might not reach the target even if the second image is contained within the first.

Use only points inside the circle when circular crop is used.

Class PT::RemoveImageCmd
would be nice to remove multiple at once

Member HuginBase::Nona::SpaceTransform::createInvTransform (const vigra::Diff2D &srcSize, const VariableMap &srcVars, Lens::LensProjectionFormat srcProj, const vigra::Diff2D &destSize, PanoramaOptions::ProjectionFormat destProj, double destHFOV)
remove this obsolete function. Callers should use a SrcPanoImg instead

Member HuginBase::Nona::SpaceTransform::createTransform (const vigra::Diff2D &srcSize, const VariableMap &srcVars, Lens::LensProjectionFormat srcProj, const vigra::Diff2D &destSize, PanoramaOptions::ProjectionFormat destProj, double destHFOV)
remove this obsolete function. Callers should use a SrcPanoImg instead

Member HuginBase::SrcPanoImage::getHeight () const
replace all calls to getHeight() with getSize().height().

Member HuginBase::SrcPanoImage::getVariableMap () const
remove this infavour of the individual get*() functions. This creates a map of all the variables, regardless of which ones are actually needed, every time it is called.

Member HuginBase::SrcPanoImage::getWidth () const
replace all calls to getWidth() with getSize().width().

Member HuginBase::PTools::Transform::createTransform (const vigra::Diff2D &srcSize, VariableMap srcVars, Lens::LensProjectionFormat srcProj, const vigra::Diff2D &destSize, PanoramaOptions::ProjectionFormat destProj, const std::vector< double > &destProjParam, double destHFOV, const vigra::Diff2D &origSrcSize)
The next few functions could be rewritten to make more effective use of SrcPanoImages.

Member PT::wxAddImagesCmd::processPanorama (Panorama &pano)
avoid copying the SrcPanoImage.

avoid copying the SrcPanoImage.

Member image_variable (name, type, default_value)
avoid copying image data in processPanorama

File SpaceTransform.h
The file implements a lot of functions of libpano new. These should be replace with libpano versions.

Member HuginBase::Nona::stitchPanorama (const PanoramaData &pano, const PanoramaOptions &opt, AppBase::MultiProgressDisplay &progress, const std::string &basename, const UIntSet &usedImgs)
vignetting correction

do not keep complete output image in memory

File image_variables.h
I think the sensor size should be copied over, but SrcPanoImage doesn't have such a variable yet.

Member HuginBase::PTOVariableConverterForCropRect
This could be S, but it is 4 integers in the form a,b,c,d -hence not a double.

Member HuginBase::PTOVariableConverterForFilename
This could be n, but it is a string, not a double.

Member HuginBase::PTOVariableConverterForFlatfieldFilename
This could be Vf, but it is a string, not a double.

Member image_variable (name, type, default_value)
call imageChanged on those images changed by the linking.

Member image_variable (name, type, default_value)
call imageChanged on those images changed by the unlinking.

Generated on Tue Sep 23 01:25:54 2014 for Hugintrunk by  doxygen 1.3.9.1