00001 // -*- c-basic-offset: 4 -*- 00024 #ifndef STANDARD_IMAGE_VARIABLE_GROUPS_H 00025 #define STANDARD_IMAGE_VARIABLE_GROUPS_H 00026 00027 #include <hugin_shared.h> 00028 #include "ImageVariableGroup.h" 00029 #include "PanoramaData.h" 00030 00031 // remove when todo below is complete. 00032 #include "Lens.h" 00033 00034 namespace HuginBase { 00035 00043 class IMPEX ConstStandardImageVariableGroups 00044 { 00045 public: 00051 ConstStandardImageVariableGroups(const PanoramaData & pano); 00052 00058 ConstImageVariableGroup & getLenses() 00059 { return m_lenses; } 00060 00066 static const std::set<ConstImageVariableGroup::ImageVariableEnum> & getLensVariables(); 00067 00082 Lens getLens(std::size_t lens_number); 00083 00092 Lens getLensForImage(std::size_t imgNr); 00093 00099 ConstImageVariableGroup & getStacks() 00100 { return m_stacks; } 00101 00107 static const std::set<ConstImageVariableGroup::ImageVariableEnum> & getStackVariables(); 00108 00113 void update(); 00114 protected: 00119 ConstImageVariableGroup m_lenses; 00120 00125 ConstImageVariableGroup m_stacks; 00126 00127 const PanoramaData & m_pano; 00128 }; 00129 00130 class IMPEX StandardImageVariableGroups: public ConstStandardImageVariableGroups 00131 { 00132 public: 00133 StandardImageVariableGroups(PanoramaData & pano); 00134 00140 ImageVariableGroup & getLenses() 00141 { return m_lenses; } 00142 00148 ImageVariableGroup & getStacks() 00149 { return m_stacks; } 00150 00155 void update(); 00156 protected: 00157 ImageVariableGroup m_lenses; 00158 ImageVariableGroup m_stacks; 00159 PanoramaData & m_pano; 00160 }; 00161 00162 } // namespace 00163 00164 #endif
1.3.9.1