[an error occurred while processing this directive]
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 

Generated on Mon Sep 20 01:01:26 2010 for Hugintrunk by doxygen 1.3.9.1