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 ()
bool loadPTScript (std::istream &i, int &ptoVersion, const std::string &prefix="")
 load a Hugin file

Private Types

 P_NONE
 P_OUTPUT
 P_MODIFIER
 P_IMAGE
 P_OPTIMIZE
 P_CP
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.
std::string iccProfileDesc
 description of the icc profile
int bands = 0
 number of bands of first image (without alpha channel), currently we can't mix grayscale and RGB images
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 49 of file Panorama.h.


Member Enumeration Documentation

enum HuginBase::PanoramaMemento::PTParseState [private]

Enumerator:
P_NONE 
P_OUTPUT 
P_MODIFIER 
P_IMAGE 
P_OPTIMIZE 
P_CP 

Definition at line 74 of file Panorama.h.


Constructor & Destructor Documentation

HuginBase::PanoramaMemento::PanoramaMemento (  )  [inline]

Reimplemented in PT::PanoramaMemento.

Definition at line 55 of file Panorama.h.

HuginBase::PanoramaMemento::PanoramaMemento ( const PanoramaMemento o  ) 

copy ctor.

Reimplemented in PT::PanoramaMemento.

Definition at line 3532 of file Panorama.cpp.

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

Reimplemented in PT::PanoramaMemento.

Definition at line 3758 of file Panorama.cpp.


Member Function Documentation

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

Definition at line 3763 of file Panorama.cpp.

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

bool HuginBase::PanoramaMemento::loadPTScript ( std::istream i,
int &  ptoVersion,
const std::string prefix = "" 
)

load a Hugin file

initializes the PanoramaMemento from a script file

Reimplemented in PT::PanoramaMemento.

Referenced by RunStitchPanel::DetectProject(), PT::PanoramaMemento::loadPTScript(), MainFrame::OnMergeProject(), iCPApp::OnRun(), PanoCommand::wxApplyTemplateCmd::processPanorama(), PanoCommand::wxLoadPTProjectCmd::processPanorama(), Project::ReadOptions(), AutoCtrlPointCreator::readUpdatedControlPoints(), and RunStitchPanel::StitchProject().

PanoramaMemento& HuginBase::PanoramaMemento::operator= ( const PanoramaMemento o  ) 

assignment operator


Friends And Related Function Documentation

friend class Panorama [friend]

Definition at line 52 of file Panorama.h.


Member Data Documentation

int HuginBase::PanoramaMemento::bands = 0 [private]

number of bands of first image (without alpha channel), currently we can't mix grayscale and RGB images

Definition at line 95 of file Panorama.h.

CPVector HuginBase::PanoramaMemento::ctrlPoints [private]

Definition at line 97 of file Panorama.h.

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

std::string HuginBase::PanoramaMemento::iccProfileDesc [private]

description of the icc profile

Definition at line 92 of file Panorama.h.

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 90 of file Panorama.h.

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

bool HuginBase::PanoramaMemento::needsOptimization [private]

Definition at line 110 of file Panorama.h.

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

PanoramaOptions HuginBase::PanoramaMemento::options [private]

Definition at line 99 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 105 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 103 of file Panorama.h.

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

OptimizeVector HuginBase::PanoramaMemento::optvec [private]

Definition at line 101 of file Panorama.h.

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


The documentation for this class was generated from the following files:
Generated on 8 Dec 2016 for Hugintrunk by  doxygen 1.4.7