Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages
hugin_base/algorithms/basic/CalculateOverlap.h
Go to the documentation of this file.00001 // -*- c-basic-offset: 4 -*- 00002 00014 /* This program is free software; you can redistribute it and/or 00015 * modify it under the terms of the GNU General Public 00016 * License as published by the Free Software Foundation; either 00017 * version 2 of the License, or (at your option) any later version. 00018 * 00019 * This software is distributed in the hope that it will be useful, 00020 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00021 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00022 * General Public License for more details. 00023 * 00024 * You should have received a copy of the GNU General Public 00025 * License along with this software; if not, write to the Free Software 00026 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00027 * 00028 */ 00029 00030 #ifndef _ALGO_CALCULATE_OVERLAP_H 00031 #define _ALGO_CALCULATE_OVERLAP_H 00032 00033 #include <hugin_shared.h> 00034 #include <panodata/PanoramaData.h> 00035 #include <panodata/Panorama.h> 00036 #include <panotools/PanoToolsInterface.h> 00037 00038 namespace HuginBase 00039 { 00040 00042 class IMPEX CalculateImageOverlap 00043 { 00044 public: 00046 CalculateImageOverlap(const PanoramaData * pano); 00048 virtual ~CalculateImageOverlap(); 00051 void calculate(unsigned int steps); 00053 double getOverlap(unsigned int i, unsigned int j); 00055 void limitToImages(UIntSet img); 00056 00057 private: 00058 std::vector<std::vector<double> > m_overlap; 00059 std::vector<PTools::Transform*> m_transform; 00060 std::vector<PTools::Transform*> m_invTransform; 00061 unsigned int m_nrImg; 00062 const PanoramaData* m_pano; 00063 UIntSet testImages; 00064 }; 00065 00066 } //namespace 00067 #endif // _ALGO_CALCULATE_OVERLAP_H
1.3.9.1