Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages
hugin1/hugin/MeshManager.h
Go to the documentation of this file.00001 // -*- c-basic-offset: 4 -*- 00022 #ifndef _MESHMANAGER_H 00023 #define _MESHMANAGER_H 00024 00025 #include "PT/Panorama.h" 00026 00027 class MeshRemapper; 00028 class ViewState; 00029 00034 class MeshManager 00035 { 00036 public: 00037 MeshManager(PT::Panorama *pano, ViewState *view_state); 00038 ~MeshManager(); 00039 void CheckUpdate(); 00041 void CleanMeshes(); 00042 void RenderMesh(unsigned int image_number) const; 00043 unsigned int GetDisplayList(unsigned int image_number) const; 00044 00052 void SetLayoutMode(bool state); 00053 void SetLayoutScale(double scale); 00054 private: 00055 PT::Panorama * m_pano; 00056 ViewState * view_state; 00059 class MeshInfo 00060 { 00061 public: 00070 MeshInfo(PT::Panorama * m_pano, unsigned int image_number, 00071 ViewState * view_state, bool layout_mode_on); 00075 MeshInfo(const MeshInfo & source); 00076 ~MeshInfo(); 00078 void CallList() const; 00080 void Update(); 00081 unsigned int display_list_number; 00082 void SetScaleFactor(double scale); 00083 private: 00084 unsigned int image_number; 00085 PT::Panorama *m_pano; 00086 double scale_factor; 00087 ViewState *m_view_state; 00089 MeshRemapper * remap; 00091 void CompileList(); 00092 bool layout_mode_on; 00093 }; 00094 std::vector<MeshInfo> meshes; 00095 bool layout_mode_on; 00096 }; 00097 00098 #endif 00099
1.3.9.1