Hugin trunk 0.1
Loading...
Searching...
No Matches
GLViewer.h
Go to the documentation of this file.
1// -*- c-basic-offset: 4 -*-
23#ifndef _GL_VIEWER_H
24#define _GL_VIEWER_H
25
26#include "ViewState.h"
27#include "base_wx/platform.h"
28#include <wx/glcanvas.h>
29#include <utility>
30#include <vigra/diff2d.hxx>
31
32class GLRenderer;
35class TextureManager;
36class MeshManager;
37class ToolHelper;
42class GLPreviewFrame;
43
44
45
46
51class GLViewer: public wxGLCanvas
52{
53public:
55 wxWindow* parent,
57 int args[],
60 );
61 virtual ~GLViewer();
62 void RedrawE(wxPaintEvent& e);
63 void Resized(wxSizeEvent& e);
64 void Redraw();
65 static void RefreshWrapper(void *obj);
66 void SetUpContext();
67 void SetPhotometricCorrect(bool state);
68 virtual void SetLayoutMode(bool state);
69 virtual void SetLayoutScale(double scale);
70
73 static size_t m_view_state_observer;
74
75 void SetActive(bool active) {this->active = active;}
76 bool IsActive() {return active;}
77
79
81 void MarkToolsDirty();
82protected:
85 void MouseEnter(wxMouseEvent & e);
86 void MouseLeave(wxMouseEvent & e);
88 void MouseWheel(wxMouseEvent& e);
89 void KeyDown(wxKeyEvent & e);
90 void KeyUp(wxKeyEvent & e);
91
96
97 virtual void setUp() = 0;
98
100 static bool initialised_glew;
101 vigra::Diff2D offset;
102 double m_scale = 1.0;
104
105 bool active;
106
108};
109
110class GLPreview : public GLViewer
111{
112public:
114 wxWindow* parent,
116 int args[],
119 ) : GLViewer(parent, pano, args, frame, shared_context) {}
120 void setUp();
121
122};
123
166
167#endif
void setUp()
Definition GLViewer.cpp:236
OverviewMode GetMode()
Definition GLViewer.h:151
GLPlaneOverviewRenderer * plane_m_renderer
Definition GLViewer.h:163
void SetMode(OverviewMode mode)
Definition GLViewer.cpp:492
PanosphereOverviewToolHelper * panosphere_m_tool_helper
Definition GLViewer.h:158
GLOverview(wxWindow *parent, HuginBase::Panorama &pano, int args[], GLPreviewFrame *frame, wxGLContext *shared_context=NULL)
Definition GLViewer.h:127
GLPanosphereOverviewRenderer * panosphere_m_renderer
Definition GLViewer.h:159
PanosphereOverviewVisualizationState * panosphere_m_visualization_state
Definition GLViewer.h:157
virtual void SetLayoutScale(double scale)
Definition GLViewer.cpp:314
OverviewMode mode
Definition GLViewer.h:155
PlaneOverviewVisualizationState * plane_m_visualization_state
Definition GLViewer.h:161
@ PANOSPHERE_OUTSIDE
Definition GLViewer.h:145
@ PANOSPHERE_INSIDE
Definition GLViewer.h:146
virtual void SetLayoutMode(bool state)
Definition GLViewer.cpp:307
PlaneOverviewToolHelper * plane_m_tool_helper
Definition GLViewer.h:162
subclass for the panosphere overview mode
Definition GLRenderer.h:102
subclass for the plane overview mode
Definition GLRenderer.h:119
The OpenGL preview frame.
void setUp()
Definition GLViewer.cpp:190
GLPreview(wxWindow *parent, HuginBase::Panorama &pano, int args[], GLPreviewFrame *frame, wxGLContext *shared_context=NULL)
Definition GLViewer.h:113
The renderer handles drawing the opengl scene.
Definition GLRenderer.h:48
A wxWidget to display the fast preview.
Definition GLViewer.h:52
void MarkToolsDirty()
Definition GLViewer.cpp:480
void MouseEnter(wxMouseEvent &e)
Definition GLViewer.cpp:432
static size_t m_view_state_observer
Definition GLViewer.h:73
virtual void SetLayoutMode(bool state)
Definition GLViewer.cpp:295
void SetActive(bool active)
Definition GLViewer.h:75
bool active
Definition GLViewer.h:105
void RedrawE(wxPaintEvent &e)
Definition GLViewer.cpp:322
wxGLContext * GetContext()
Definition GLViewer.h:78
virtual void setUp()=0
void MouseButtons(wxMouseEvent &e)
Definition GLViewer.cpp:445
virtual ~GLViewer()
Definition GLViewer.cpp:103
GLRenderer * m_renderer
Definition GLViewer.h:93
VisualizationState * m_visualization_state
Definition GLViewer.h:71
void KeyUp(wxKeyEvent &e)
Definition GLViewer.cpp:474
GLPreviewFrame * frame
Definition GLViewer.h:103
virtual void SetLayoutScale(double scale)
Definition GLViewer.cpp:301
wxGLContext * m_glContext
Definition GLViewer.h:94
vigra::Diff2D offset
Definition GLViewer.h:101
void SetPhotometricCorrect(bool state)
Definition GLViewer.cpp:289
void MouseMotion(wxMouseEvent &e)
Definition GLViewer.cpp:425
void SetUpContext()
Definition GLViewer.cpp:122
static void RefreshWrapper(void *obj)
Definition GLViewer.cpp:349
double m_scale
Definition GLViewer.h:102
ToolHelper * m_tool_helper
Definition GLViewer.h:92
wxColour m_background_color
Definition GLViewer.h:107
void MouseLeave(wxMouseEvent &e)
Definition GLViewer.cpp:439
void SetViewerBackground(wxColour col)
Definition GLViewer.cpp:485
void KeyDown(wxKeyEvent &e)
Definition GLViewer.cpp:468
bool IsActive()
Definition GLViewer.h:76
void Redraw()
Definition GLViewer.cpp:385
bool m_toolsInitialized
Definition GLViewer.h:99
HuginBase::Panorama * m_pano
Definition GLViewer.h:95
void Resized(wxSizeEvent &e)
Definition GLViewer.cpp:356
static bool initialised_glew
Definition GLViewer.h:100
void MouseWheel(wxMouseEvent &e)
Definition GLViewer.cpp:460
void OnEraseBackground(wxEraseEvent &e)
Definition GLViewer.cpp:420
bool redrawing
Definition GLViewer.h:99
static ViewState * m_view_state
Definition GLViewer.h:72
bool started_creation
Definition GLViewer.h:99
Model for a panorama.
Definition Panorama.h:153
A MeshManager handles the graphics system representation of a remapping, by creating OpenGL display l...
Definition MeshManager.h:38
implementation of huginApp Class
std::vector< deghosting::BImagePtr > threshold(const std::vector< deghosting::FImagePtr > &inputImages, const double threshold, const uint16_t flags)
Threshold function used for creating alpha masks for images.
Definition threshold.h:41