Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Todo List
Class CPEditorPanel
support control lines
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 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 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::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
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.
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 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 HuginBase::PTScriptParsing::ImgInfo::varnames []
Use information from image_variables.h and ImageVariableTranslate.h 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().
File image_variables.h

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

Check for multiple parts. If there is some complex set of links, we may need to merge two parts together.

It should be possible to speed this up by not linking things that have been already linked to something previously linked to the target.

This is quite inefficent, maybe we should store the links as a vector of sets of image numbers for each variable to speed up this? Links / unlinks should all go through the Panorama object, so we could keep track of them easily.

What is the PTGUI special case? What images use the lens created here?

Warn the user when the script links variables in a way not expressable by SrcPanoImage.

Class ImagesList
make the listcontents editable -> wxListCtrl->wxGrid?
Member ImagesList::Init (HuginBase::Panorama *pano)
check new didn't return NULL in non-debug builds.
Member ImagesPanel::panoramaChanged (HuginBase::Panorama &pano)
react on different update signals more special
Member ImagesTreeCtrl::Init (HuginBase::Panorama *pano)
check new didn't return NULL in non-debug builds.
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 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 PanoCommand::CombinedPanoCommand::processPanorama (HuginBase::Panorama &pano)
Should I revert if processing fails?
Class PanoCommand::RemoveImageCmd
would be nice to remove multiple at once
Member PanoPanel::panoramaChanged (HuginBase::Panorama &pano)
react on different update signals more special
Member PanoPanel::UpdateDisplay (const HuginBase::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 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 information 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.

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