Hugintrunk  0.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
HuginBase::ImageVariableGroup Class Reference

Same as above, but use a non const panorama. More...

#include <ImageVariableGroup.h>

Inheritance diagram for HuginBase::ImageVariableGroup:
Inheritance graph

Public Member Functions

 ImageVariableGroup (std::set< ImageVariableEnum > variables, PanoramaData &pano)
 constructor More...
 
void unlinkVariablePart (ImageVariableEnum variable, unsigned int partNr)
 unlink one of the variables across a given part. More...
 
void unlinkVariableImage (ImageVariableEnum variable, unsigned int imageNr)
 unlink one the variables across the part containing a given image. More...
 
void linkVariablePart (ImageVariableEnum variable, unsigned int partNr)
 link one of the variables across a given part More...
 
void linkVariableImage (ImageVariableEnum variable, unsigned int imageNr)
 link one of the variables across a part containing a given image More...
 
void switchParts (unsigned int ImageNr, unsigned int partNr)
 switch a given image to a different part number. More...
 
- Public Member Functions inherited from HuginBase::ConstImageVariableGroup
 ConstImageVariableGroup (std::set< ImageVariableEnum > variables, const PanoramaData &pano)
 constructor More...
 
virtual ~ConstImageVariableGroup ()
 destructor More...
 
unsigned int getPartNumber (unsigned int imageNr) const
 Get a part number from an image number. More...
 
UIntSetVector getPartsSet () const
 return a vector which contains a HuginBase::UIntSet for each group with the corresponding images numbers More...
 
std::size_t getNumberOfParts () const
 get the number of parts. More...
 
bool getVarLinkedInPart (ImageVariableEnum variable, std::size_t part) const
 Get the linked status of a particular variable for a given part number. More...
 
void updatePartNumbers ()
 Update the part numbers, call this when the panorama changes. More...
 

Private Attributes

PanoramaDatam_pano
 

Additional Inherited Members

- Public Types inherited from HuginBase::ConstImageVariableGroup
enum  ImageVariableEnum
 
- Protected Member Functions inherited from HuginBase::ConstImageVariableGroup
void setPartNumbers ()
 Set the part numbers in m_image_part_numbers, and notify observers of changes. More...
 
- Protected Attributes inherited from HuginBase::ConstImageVariableGroup
std::set< ImageVariableEnumm_variables
 The set of variables which make up this group. More...
 
const PanoramaDatam_pano
 The panorama this group works on. More...
 
std::vector< unsigned int > m_image_part_numbers
 The part numbers for each image. More...
 
unsigned int m_num_parts
 

Detailed Description

Same as above, but use a non const panorama.

This can be used for changing part numbers and linking and unlink of variables.

Definition at line 145 of file ImageVariableGroup.h.

Constructor & Destructor Documentation

HuginBase::ImageVariableGroup::ImageVariableGroup ( std::set< ImageVariableEnum variables,
PanoramaData pano 
)
inline

constructor

Assign the ImageVariableGroup the image variables and the panorama that it should be handling.

Definition at line 153 of file ImageVariableGroup.h.

Member Function Documentation

void HuginBase::ImageVariableGroup::linkVariableImage ( ImageVariableEnum  variable,
unsigned int  imageNr 
)

link one of the variables across a part containing a given image

Definition at line 171 of file ImageVariableGroup.cpp.

References linkVariablePart(), and HuginBase::ConstImageVariableGroup::m_image_part_numbers.

Referenced by PanoCommand::ChangePartImagesLinkingCmd::processPanorama().

void HuginBase::ImageVariableGroup::linkVariablePart ( ImageVariableEnum  variable,
unsigned int  partNr 
)
void HuginBase::ImageVariableGroup::switchParts ( unsigned int  ImageNr,
unsigned int  partNr 
)

switch a given image to a different part number.

The part numbers may change after this call, so it not necessarily the case that the image has the given part number, but it is the case that the part the image is in after the call has the properties of the part specified as it was just before the call.

Note
When switching part numbers, Variables are linked by default, unless the variable is unlinked across multiple images in the part specified, in which case those variables are unlinked in the new member of that part.

Referenced by PossiblePano::GeneratePanorama(), LensCalFrame::GetPanorama(), main(), main2(), processImg(), PanoCommand::wxAddImagesCmd::processPanorama(), PanoCommand::wxApplyTemplateCmd::processPanorama(), and PanoCommand::ChangePartNumberCmd::processPanorama().

void HuginBase::ImageVariableGroup::unlinkVariableImage ( ImageVariableEnum  variable,
unsigned int  imageNr 
)

unlink one the variables across the part containing a given image.

Definition at line 132 of file ImageVariableGroup.cpp.

References HuginBase::ConstImageVariableGroup::m_image_part_numbers, and unlinkVariablePart().

Referenced by PanoCommand::ChangePartImagesLinkingCmd::processPanorama().

void HuginBase::ImageVariableGroup::unlinkVariablePart ( ImageVariableEnum  variable,
unsigned int  partNr 
)

unlink one of the variables across a given part.

Note
Linking and unlinking variables in a part where there is only one image has no effect, since there are no other images to be linked and unlinked from.

Referenced by processImg(), and unlinkVariableImage().

Member Data Documentation

PanoramaData& HuginBase::ImageVariableGroup::m_pano
private

Definition at line 192 of file ImageVariableGroup.h.


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