Panorama.cpp File Reference

implementation of Panorama Class More...

#include "Panorama.h"
#include "PTScriptParsing.h"
#include "ImageVariableTranslate.h"
#include "StandardImageVariableGroups.h"
#include <panotools/PanoToolsInterface.h>
#include <algorithms/basic/CalculateOverlap.h>
#include <panodata/OptimizerSwitches.h>
#include <fstream>
#include <typeinfo>
#include <vigra/impex.hxx>
#include "image_variables.h"

Include dependency graph for Panorama.cpp:

Go to the source code of this file.

Namespaces

namespace  HuginBase

Defines

#define image_variable(name, type, default_value)
#define image_variable(name, type, default_value)
#define image_variable(name, type, default_value)
#define image_variable(name, type, default_value)
#define image_variable(name, type, default_value)   dest->set##name (img.get##name());
#define image_variable(name, type, default_value)
#define image_variable(name, type, default_value)
#define image_variable(name, type, default_value)
#define image_variable(name, type, default_value)
#define RESET_LOCALE   setlocale(LC_NUMERIC,old_locale); free(old_locale);
#define image_variable(name, type, default_value)
#define check_stack_link(name)

Functions

void HuginBase::UpdateOptVectorSet (std::set< std::string > &imgVar, const std::string var, const bool opt)


Detailed Description

implementation of Panorama Class

Author:
Pablo d'Angelo <pablo.dangelo@web.de>
$Id$

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this software; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Definition in file Panorama.cpp.


Define Documentation

#define check_stack_link ( name   ) 

Value:

if(!new_img.YawisLinked() && new_img.name##isLinked())\
        {\
            new_img.unlink##name();\
        };\
        if(new_img.YawisLinked() && !new_img.name##isLinked())\
        {\
            for(size_t j=0; j<i; j++)\
            {\
                if(new_img.YawisLinkedWith(*images[j]))\
                {\
                    new_img.link##name(images[j]);\
                    break;\
                };\
            };\
        }

#define image_variable ( name,
type,
default_value   ) 

Value:

PTOVariableConverterFor##name::addToVariableMap(name_src.get##name##IV(), vars_for_name);\
        for (VariableMap::iterator vit = vars_for_name.begin();\
             vit != vars_for_name.end(); vit++)\
        {\
            if (link >= 0 && iImgInfo[i].links[vit->first] >= 0)\
            {\
                if (   !(PTGUILensLoaded && link == 0)\
                    && (int) images.size() < link && (!PTGUILensLoaded))\
                {\
                    DEBUG_ERROR("variables must be linked to an image with a lower number" << endl\
                                << "number links: " << link << " images: " << images.size() << endl\
                                << "error on line " << lineNr << ":" << endl\
                                << line);\
                    RESET_LOCALE\
                    return false;\
                }\
                DEBUG_DEBUG("anchored to image " << iImgInfo[i].links[vit->first]);\
                new_img.link##name(images[iImgInfo[i].links[vit->first]]);\
            } else {\
                double val = map_get(vars, vit->first).getValue();\
                new_img.setVar(vit->first, val);\
            }\
        }\
        vars_for_name.clear();
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Value:

if (data.images[i]->name##isLinkedWith(*data.images[j]))\
            {\
                images[i]->link##name(images[j]);\
            }
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Value:

if(img.name##isLinkedWith(newPano.getImage(j)))\
                {\
                    linkImageVariable##name(new_image_nr[i],new_image_nr[j]);\
                };
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Value:

if (state.images[*i]->name##isLinkedWith(*state.images[*j]))\
            {\
                subset.state.images[ic]->link##name(subset.state.images[jc]);\
            }
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Value:

for (std::size_t i = 0; i < getNrOfImages(); i++)\
    {\
        if(state.images[imgNr]->name##isLinkedWith(*state.images[i]))\
        {\
            imageChanged(i);\
        }\
    }
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   )     dest->set##name (img.get##name());

Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Value:

void Panorama::unlinkImageVariable##name(unsigned int imgNr)\
{\
    state.images[imgNr]->unlink##name();\
    imageChanged(imgNr);\
    state.needsOptimization = true;\
}
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Value:

void Panorama::linkImageVariable##name(unsigned int sourceImgNr, unsigned int destImgNr)\
{\
    state.images[destImgNr]->link##name(state.images[sourceImgNr]);\
    imageChanged(destImgNr);\
    imageChanged(sourceImgNr);\
    state.needsOptimization = true;\
}
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define image_variable ( name,
type,
default_value   ) 

Value:

if (PTOVariableConverterFor##name::checkApplicability(var.getName())) \
        {\
            for (std::size_t i = 0; i < getNrOfImages(); i++)\
            {\
                if (state.images[imgNr]->name##isLinkedWith(*state.images[i]))\
                {\
                    imageChanged(i);\
                }\
            }\
        }\
    else
Todo:
call imageChanged on those images changed by the linking.

Definition at line 694 of file Panorama.cpp.

#define RESET_LOCALE   setlocale(LC_NUMERIC,old_locale); free(old_locale);


Generated on 25 Oct 2014 for Hugintrunk by  doxygen 1.4.7