HuginBase::PanoramaMemento Class Reference

Memento class for a Panorama object. More...

#include <Panorama.h>

Inheritance diagram for HuginBase::PanoramaMemento:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 PanoramaMemento ()
 PanoramaMemento (const PanoramaMemento &o)
 copy ctor.
PanoramaMementooperator= (const PanoramaMemento &o)
 assignment operator
virtual ~PanoramaMemento ()

Protected Member Functions

bool loadPTScript (std::istream &i, int &ptoVersion, const std::string &prefix="")
 load a PTScript file

Private Types

enum  PTParseState {
  P_NONE, P_OUTPUT, P_MODIFIER, P_IMAGE,
  P_OPTIMIZE, P_CP
}

Private Member Functions

void deleteAllImages ()

Private Attributes

std::vector< SrcPanoImage * > images
 The images inside the panorama.
CPVector ctrlPoints
PanoramaOptions options
OptimizeVector optvec
int optSwitch
 stores the optimizer switch, use OR of HuginBase::OptimizerSwitches
int optPhotoSwitch
 stores the photometric optimizer switch, use OR of HuginBase::OptimizerSwitches
bool needsOptimization

Friends

class Panorama

Detailed Description

Memento class for a Panorama object.

Holds the internal state of a Panorama. Used when other objects need to get/set the state without knowing anything about the internals.

Definition at line 52 of file Panorama.h.


Member Enumeration Documentation

enum HuginBase::PanoramaMemento::PTParseState [private]
 

Enumeration values:
P_NONE 
P_OUTPUT 
P_MODIFIER 
P_IMAGE 
P_OPTIMIZE 
P_CP 

Definition at line 83 of file Panorama.h.


Constructor & Destructor Documentation

HuginBase::PanoramaMemento::PanoramaMemento  )  [inline]
 

Reimplemented in PT::PanoramaMemento.

Definition at line 58 of file Panorama.h.

HuginBase::PanoramaMemento::PanoramaMemento const PanoramaMemento o  ) 
 

copy ctor.

Definition at line 3381 of file Panorama.cpp.

HuginBase::PanoramaMemento::~PanoramaMemento  )  [virtual]
 

Reimplemented in PT::PanoramaMemento.

Definition at line 3601 of file Panorama.cpp.


Member Function Documentation

void HuginBase::PanoramaMemento::deleteAllImages  )  [private]
 

Definition at line 3606 of file Panorama.cpp.

Referenced by HuginBase::Panorama::reset().

bool HuginBase::PanoramaMemento::loadPTScript std::istream i,
int &  ptoVersion,
const std::string prefix = ""
[protected]
 

load a PTScript file

initializes the PanoramaMemento from a PTScript file

Reimplemented in PT::PanoramaMemento.

Definition at line 3618 of file Panorama.cpp.

Referenced by PT::PanoramaMemento::loadPTScript().

PanoramaMemento & HuginBase::PanoramaMemento::operator= const PanoramaMemento data  ) 
 

assignment operator

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

Definition at line 3387 of file Panorama.cpp.


Friends And Related Function Documentation

friend class Panorama [friend]
 

Definition at line 55 of file Panorama.h.


Member Data Documentation

CPVector HuginBase::PanoramaMemento::ctrlPoints [private]
 

Definition at line 101 of file Panorama.h.

Referenced by HuginBase::Panorama::getCtrlPointsForImage(), HuginBase::Panorama::getCtrlPointsVectorForImage(), HuginBase::Panorama::reset(), HuginBase::Panorama::UpdateCropFactor(), and HuginBase::Panorama::updateCtrlPointErrors().

std::vector<SrcPanoImage *> HuginBase::PanoramaMemento::images [private]
 

The images inside the panorama.

The image variables are stored inside. We use pointers to the real objects so that the memory addresses of them remain constant when we remove and swap the order of images. We should create and free images when necessary.

Definition at line 99 of file Panorama.h.

Referenced by HuginBase::Panorama::getImageVariables(), HuginBase::Panorama::getVariables(), HuginBase::Panorama::updateVariable(), and HuginBase::Panorama::updateVariables().

bool HuginBase::PanoramaMemento::needsOptimization [private]
 

Definition at line 114 of file Panorama.h.

Referenced by HuginBase::Panorama::reset(), and HuginBase::Panorama::updateVariable().

PanoramaOptions HuginBase::PanoramaMemento::options [private]
 

Definition at line 103 of file Panorama.h.

Referenced by HuginBase::Panorama::reset().

int HuginBase::PanoramaMemento::optPhotoSwitch [private]
 

stores the photometric optimizer switch, use OR of HuginBase::OptimizerSwitches

Definition at line 109 of file Panorama.h.

Referenced by HuginBase::Panorama::reset().

int HuginBase::PanoramaMemento::optSwitch [private]
 

stores the optimizer switch, use OR of HuginBase::OptimizerSwitches

Definition at line 107 of file Panorama.h.

Referenced by HuginBase::Panorama::reset().

OptimizeVector HuginBase::PanoramaMemento::optvec [private]
 

Definition at line 105 of file Panorama.h.

Referenced by HuginBase::Panorama::reset().


The documentation for this class was generated from the following files:
Generated on Mon Sep 1 01:25:52 2014 for Hugintrunk by  doxygen 1.3.9.1