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.
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.
: 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.
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.
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.