Hugin trunk 0.1
Loading...
Searching...
No Matches
Public Member Functions | List of all members
HuginBase::ManagedPanoramaData Class Referenceabstract

#include <PanoramaData.h>

Inheritance diagram for HuginBase::ManagedPanoramaData:
Inheritance graph

Public Member Functions

virtual ~ManagedPanoramaData ()
 
virtual void addObserver (PanoramaObserver *o)=0
 add a panorama observer.
 
virtual bool removeObserver (PanoramaObserver *observer)=0
 remove a panorama observer.
 
virtual void clearObservers ()=0
 remove all panorama observers.
 
virtual void changeFinished ()=0
 notify observers about changes in this class
 
virtual void clearDirty ()=0
 clear dirty flag.
 
virtual void imageChanged (unsigned int imgNr)=0
 mark image for change notification.
 
virtual PanoramaDataMementogetNewMemento () const =0
 get the internal state
 
virtual bool setMementoToCopyOf (const PanoramaDataMemento *const memento)=0
 set the internal state
 
virtual bool needsOptimization ()=0
 true if control points or lens variables have been changed after the last optimisation
 
virtual void markAsOptimized (bool optimized=true)=0
 
- Public Member Functions inherited from HuginBase::PanoramaData
virtual ~PanoramaData ()
 
virtual PanoramaDatagetNewSubset (const UIntSet &imgs) const =0
 
virtual PanoramaDatagetNewCopy () const =0
 
virtual PanoramaDatagetUnlinkedSubset (UIntSetVector &imageGroups) const =0
 
virtual std::size_t getNrOfImages () const =0
 number of images.
 
virtual const SrcPanoImagegetImage (std::size_t nr) const =0
 get a panorama image, counting starts with 0
 
virtual void setImage (std::size_t nr, const SrcPanoImage &img)=0
 set a panorama image, counting starts with 0
 
virtual unsigned int addImage (const SrcPanoImage &img)=0
 the the number for a specific image
 
virtual void removeImage (unsigned int nr)=0
 creates an image, from filename, and a Lens, if needed
 
virtual void swapImages (unsigned int img1, unsigned int img2)=0
 swap images.
 
virtual void moveImage (size_t img1, size_t img2)=0
 moves images.
 
virtual SrcPanoImage getSrcImage (unsigned imgNr) const =0
 get a complete description of a source image
 
virtual void setSrcImage (unsigned int nr, const SrcPanoImage &img)=0
 set input image parameters TODO: Propagate changes to linked images.
 
virtual void setImageFilename (unsigned int img, const std::string &fname)=0
 set a new image filename
 
virtual void activateImage (unsigned int imgNr, bool active=true)=0
 mark an image as active or inactive.
 
virtual UIntSet getActiveImages () const =0
 get active images
 
virtual std::size_t getNrOfCtrlPoints () const =0
 number of control points
 
virtual const ControlPointgetCtrlPoint (std::size_t nr) const =0
 get a control point, counting starts with 0
 
virtual const CPVectorgetCtrlPoints () const =0
 get all control point of this Panorama
 
virtual std::vector< unsigned intgetCtrlPointsForImage (unsigned int imgNr) const =0
 return all control points for a given image.
 
virtual void setCtrlPoints (const CPVector &points)=0
 set all control points (Ippei: Is this supposed to be 'add' method?)
 
virtual unsigned int addCtrlPoint (const ControlPoint &point)=0
 add a new control point.
 
virtual void removeCtrlPoint (unsigned int pNr)=0
 remove a control point.
 
virtual void removeDuplicateCtrlPoints ()=0
 removes duplicates control points
 
virtual void changeControlPoint (unsigned int pNr, const ControlPoint &point)=0
 change a control Point.
 
virtual int getNextCPTypeLineNumber () const =0
 get the number of a control point
 
virtual void updateLineCtrlPoints ()=0
 assign new mode line numbers, if required
 
virtual void updateCtrlPointErrors (const CPVector &controlPoints)=0
 update control points distances.
 
virtual void updateCtrlPointErrors (const UIntSet &imgs, const CPVector &cps)=0
 update control points for a subset of images.
 
virtual VariableMapVector getVariables () const =0
 get variables of this panorama
 
virtual const VariableMap getImageVariables (unsigned int imgNr) const =0
 get variables of an image
 
virtual void updateVariables (const VariableMapVector &vars)=0
 Set the variables.
 
virtual void updateVariables (const UIntSet &imgs, const VariableMapVector &var)=0
 update variables for some specific images
 
virtual void updateVariables (unsigned int imgNr, const VariableMap &var)=0
 Set variables for a single picture.
 
virtual void updateVariable (unsigned int imgNr, const Variable &var)=0
 update a single variable
 
virtual void updateWhiteBalance (double redFactor, double blueFactor)=0
 update the global white balace of the panorama by multiplying the red and blue factor of each image with given factors
 
virtual const OptimizeVectorgetOptimizeVector () const =0
 return the optimize settings stored inside panorama
 
virtual void setOptimizeVector (const OptimizeVector &optvec)=0
 set optimize setting
 
virtual const int getOptimizerSwitch () const =0
 returns optimizer master switch
 
virtual void setOptimizerSwitch (const int newSwitch)=0
 set optimizer master switch
 
virtual const int getPhotometricOptimizerSwitch () const =0
 return the photometric optimizer master switch
 
virtual void setPhotometricOptimizerSwitch (const int newSwitch)=0
 sets the photometric optimizer master switch
 
virtual const PanoramaOptionsgetOptions () const =0
 returns the options for this panorama
 
virtual void setOptions (const PanoramaOptions &opt)=0
 set new output settings This is not used directly for optimizing/stiching, but it can be feed into runOptimizer() and runStitcher().
 
virtual void printPanoramaScript (std::ostream &o, const OptimizeVector &optvars, const PanoramaOptions &options, const UIntSet &imgs, bool forPTOptimizer, const std::string &stripPrefix="") const =0
 create an optimizer script
 
virtual void printStitcherScript (std::ostream &o, const PanoramaOptions &target, const UIntSet &imgs) const =0
 create the stitcher script
 
virtual void updateMasksForImage (unsigned int imgNr, MaskPolygonVector newMasks)=0
 set complete mask list for image with number
 
virtual void updateMasks (bool convertPosMaskToNeg=false)=0
 updates all active masks
 
virtual void transferMask (MaskPolygon mask, unsigned int imgNr, const UIntSet &targetImgs)=0
 transfers given mask from image imgNr to all targetImgs
 
virtual void updateOptimizeVector ()=0
 updates the optimize vector according to master switches
 
virtual std::set< size_tgetRefImages ()=0
 returns set of reference image and images linked with reference images
 
virtual void checkRefOptStatus (bool &linkRefImgsYaw, bool &linkRefImgsPitch, bool &linkRefImgsRoll)=0
 checks if yaw/pitch/roll of reference image can be check, it depends on number and type of control points
 

Detailed Description

Definition at line 456 of file PanoramaData.h.

Constructor & Destructor Documentation

◆ ~ManagedPanoramaData()

virtual HuginBase::ManagedPanoramaData::~ManagedPanoramaData ( )
inlinevirtual

Definition at line 461 of file PanoramaData.h.

Member Function Documentation

◆ addObserver()

virtual void HuginBase::ManagedPanoramaData::addObserver ( PanoramaObserver o)
pure virtual

add a panorama observer.

It will recieve all change messages. An observer can only be added once. if its added twice, the second addObserver() will have no effect.

Implemented in HuginBase::Panorama.

◆ changeFinished()

virtual void HuginBase::ManagedPanoramaData::changeFinished ( )
pure virtual

notify observers about changes in this class

This needs to be called explicitly by somebody after changes have been made. Allows to compress multiple changes into one notification.

Implements HuginBase::PanoramaData.

Implemented in HuginBase::Panorama.

◆ clearDirty()

virtual void HuginBase::ManagedPanoramaData::clearDirty ( )
pure virtual

clear dirty flag.

call after load, save or new project

Implemented in HuginBase::Panorama.

◆ clearObservers()

virtual void HuginBase::ManagedPanoramaData::clearObservers ( )
pure virtual

remove all panorama observers.

Warning
this is a hack. it must not be used on normal Panorama's.

Implemented in HuginBase::Panorama.

◆ getNewMemento()

virtual PanoramaDataMemento * HuginBase::ManagedPanoramaData::getNewMemento ( ) const
pure virtual

get the internal state

Implemented in HuginBase::Panorama.

◆ imageChanged()

virtual void HuginBase::ManagedPanoramaData::imageChanged ( unsigned int  imgNr)
pure virtual

mark image for change notification.

Does not send the notification, this is left to changedFinished()

Implements HuginBase::PanoramaData.

Implemented in HuginBase::Panorama.

◆ markAsOptimized()

virtual void HuginBase::ManagedPanoramaData::markAsOptimized ( bool  optimized = true)
pure virtual

Implemented in HuginBase::Panorama.

◆ needsOptimization()

virtual bool HuginBase::ManagedPanoramaData::needsOptimization ( )
pure virtual

true if control points or lens variables have been changed after the last optimisation

Implemented in HuginBase::Panorama.

◆ removeObserver()

virtual bool HuginBase::ManagedPanoramaData::removeObserver ( PanoramaObserver observer)
pure virtual

remove a panorama observer.

Observers must be removed before they are destroyed, else Panorama will try to notify them after they have been destroyed

Returns
true if observer was known, false otherwise.

Implemented in HuginBase::Panorama.

◆ setMementoToCopyOf()

virtual bool HuginBase::ManagedPanoramaData::setMementoToCopyOf ( const PanoramaDataMemento *const  memento)
pure virtual

set the internal state

Implemented in HuginBase::Panorama.


The documentation for this class was generated from the following file: