[an error occurred while processing this directive]
Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

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

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.


Constructor & Destructor Documentation

HuginBase::PanoramaMemento::PanoramaMemento  )  [inline]
 

Reimplemented in PT::PanoramaMemento.

HuginBase::PanoramaMemento::PanoramaMemento const PanoramaMemento o  ) 
 

copy ctor.

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

Reimplemented in PT::PanoramaMemento.


Member Function Documentation

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.

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.

Note:
This file is #included multiple times after defining a macro for image_variable. The idea is to reduce the amount of tedoius code copy & pasted for each image variable. The list will be used to generate things the following:
  1. Member variables: ImageVarianle<[type]> m_[name];
  2. Accessor functions: [type] get[name]() const;
  3. Set functions: void set[name](const [type] data);
  4. Link functions: void link[name](SrcPanoImg)
  5. Unlink functions: void unlink[name]();
The arguments work as follows:
  1. the name of the variable
  2. the type of the variable
  3. the default value
There is some non automatic stuff in ImageVariableTranslate.h that will need changing if this list changes. That file handles the translation to and from PTO file format style variables.
See also:
ImageVariableTranslate.h


Friends And Related Function Documentation

friend class Panorama [friend]
 


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

Generated on Mon Sep 20 01:01:36 2010 for Hugintrunk by doxygen 1.3.9.1