IVT
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
OpenGLVisualizerControl.h
Go to the documentation of this file.
1
// ****************************************************************************
2
// This file is part of the Integrating Vision Toolkit (IVT).
3
//
4
// The IVT is maintained by the Karlsruhe Institute of Technology (KIT)
5
// (www.kit.edu) in cooperation with the company Keyetech (www.keyetech.de).
6
//
7
// Copyright (C) 2014 Karlsruhe Institute of Technology (KIT).
8
// All rights reserved.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are met:
12
//
13
// 1. Redistributions of source code must retain the above copyright
14
// notice, this list of conditions and the following disclaimer.
15
//
16
// 2. Redistributions in binary form must reproduce the above copyright
17
// notice, this list of conditions and the following disclaimer in the
18
// documentation and/or other materials provided with the distribution.
19
//
20
// 3. Neither the name of the KIT nor the names of its contributors may be
21
// used to endorse or promote products derived from this software
22
// without specific prior written permission.
23
//
24
// THIS SOFTWARE IS PROVIDED BY THE KIT AND CONTRIBUTORS “AS IS” AND ANY
25
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
26
// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27
// DISCLAIMED. IN NO EVENT SHALL THE KIT OR CONTRIBUTORS BE LIABLE FOR ANY
28
// DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
29
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
30
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
31
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
32
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
33
// THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34
// ****************************************************************************
35
// ****************************************************************************
36
// Filename: OpenGLVisualizerControl.h
37
// Author: Florian Hecht
38
// Date: 2009
39
// ****************************************************************************
40
41
42
#ifndef _OPENGL_VISUALIZER_CONTROL_H_
43
#define _OPENGL_VISUALIZER_CONTROL_H_
44
45
46
// ****************************************************************************
47
// Necessary includes
48
// ****************************************************************************
49
50
#include "
Interfaces/MainWindowEventInterface.h
"
51
#include "
Math/Math3d.h
"
52
53
54
// ****************************************************************************
55
// Forward declarations
56
// ****************************************************************************
57
58
class
CMainWindowInterface
;
59
class
COpenGLVisualizer
;
60
61
62
63
// ****************************************************************************
64
// COpenGLVisualizerControl
65
// ****************************************************************************
66
67
class
COpenGLVisualizerControl
:
public
CMainWindowEventInterface
68
{
69
public
:
70
// constructor
71
COpenGLVisualizerControl
(
WIDGET_HANDLE
widget,
int
width,
int
height,
COpenGLVisualizer
*visualizer,
CMainWindowInterface
*main_window,
CMainWindowEventInterface
*event_callback);
72
73
74
// public methods
75
void
SetViewMatrix
(
const
Transformation3d
&transformation);
76
const
Transformation3d
&
GetViewMatrix
();
77
void
ResetViewMatrix
();
78
79
void
Update
();
80
81
// CMainWindowEventInterface
82
83
// this two events are specific for the image widget
84
void
RectSelected
(
WIDGET_HANDLE
widget,
int
x0,
int
y0,
int
x1,
int
y1);
85
void
PointClicked
(
WIDGET_HANDLE
widget,
int
x,
int
y);
86
87
// the following events are only generated for image and GL widgets
88
void
MouseDown
(
WIDGET_HANDLE
widget,
int
button,
int
x,
int
y);
89
void
MouseUp
(
WIDGET_HANDLE
widget,
int
button,
int
x,
int
y);
90
void
MouseMove
(
WIDGET_HANDLE
widget,
int
x,
int
y);
91
void
KeyDown
(
WIDGET_HANDLE
widget,
int
key);
92
void
KeyUp
(
WIDGET_HANDLE
widget,
int
key);
93
94
// this event is only emitted for buttons
95
void
ButtonPushed
(
WIDGET_HANDLE
widget);
96
97
// this event is generated by check boxes, sliders, text edits (value = -1)
98
// and combo boxes
99
void
ValueChanged
(
WIDGET_HANDLE
widget,
int
value);
100
101
102
private
:
103
WIDGET_HANDLE
m_widget;
104
COpenGLVisualizer
*m_visualizer;
105
CMainWindowInterface
*m_main_window;
106
CMainWindowEventInterface
*m_event_callback;
107
108
Transformation3d
m_ViewMatrix;
109
110
int
m_width;
111
int
m_height;
112
113
int
m_mouse_mode;
114
int
m_mouse_old_x;
115
int
m_mouse_old_y;
116
};
117
118
119
120
#endif
/* _OPENGL_VISUALIZER_CONTROL_H_ */
COpenGLVisualizerControl::Update
void Update()
Definition:
OpenGLVisualizerControl.cpp:200
WIDGET_HANDLE
void * WIDGET_HANDLE
Definition:
MainWindowInterface.h:53
COpenGLVisualizerControl::MouseDown
void MouseDown(WIDGET_HANDLE widget, int button, int x, int y)
Definition:
OpenGLVisualizerControl.cpp:104
COpenGLVisualizerControl::COpenGLVisualizerControl
COpenGLVisualizerControl(WIDGET_HANDLE widget, int width, int height, COpenGLVisualizer *visualizer, CMainWindowInterface *main_window, CMainWindowEventInterface *event_callback)
Definition:
OpenGLVisualizerControl.cpp:57
COpenGLVisualizerControl::RectSelected
void RectSelected(WIDGET_HANDLE widget, int x0, int y0, int x1, int y1)
Definition:
OpenGLVisualizerControl.cpp:91
COpenGLVisualizerControl::KeyUp
void KeyUp(WIDGET_HANDLE widget, int key)
Definition:
OpenGLVisualizerControl.cpp:176
COpenGLVisualizerControl::GetViewMatrix
const Transformation3d & GetViewMatrix()
Definition:
OpenGLVisualizerControl.cpp:76
COpenGLVisualizerControl::PointClicked
void PointClicked(WIDGET_HANDLE widget, int x, int y)
Definition:
OpenGLVisualizerControl.cpp:97
COpenGLVisualizerControl::ButtonPushed
void ButtonPushed(WIDGET_HANDLE widget)
Definition:
OpenGLVisualizerControl.cpp:183
COpenGLVisualizerControl::SetViewMatrix
void SetViewMatrix(const Transformation3d &transformation)
Definition:
OpenGLVisualizerControl.cpp:68
COpenGLVisualizerControl::KeyDown
void KeyDown(WIDGET_HANDLE widget, int key)
Definition:
OpenGLVisualizerControl.cpp:170
COpenGLVisualizerControl::ValueChanged
void ValueChanged(WIDGET_HANDLE widget, int value)
Definition:
OpenGLVisualizerControl.cpp:191
COpenGLVisualizer
Definition:
OpenGLVisualizer.h:70
CMainWindowInterface
Interface for the creation of GUIs with the GUI toolkit of the IVT.
Definition:
MainWindowInterface.h:81
CMainWindowEventInterface
Interface for the event mechanism of GUIs using the GUI toolkit of the IVT.
Definition:
MainWindowEventInterface.h:71
COpenGLVisualizerControl::ResetViewMatrix
void ResetViewMatrix()
Definition:
OpenGLVisualizerControl.cpp:81
COpenGLVisualizerControl
Definition:
OpenGLVisualizerControl.h:67
MainWindowEventInterface.h
COpenGLVisualizerControl::MouseMove
void MouseMove(WIDGET_HANDLE widget, int x, int y)
Definition:
OpenGLVisualizerControl.cpp:156
Math3d.h
Transformation3d
Data structure for the representation of a 3D rigid body transformation.
Definition:
Math3d.h:105
COpenGLVisualizerControl::MouseUp
void MouseUp(WIDGET_HANDLE widget, int button, int x, int y)
Definition:
OpenGLVisualizerControl.cpp:140
src
Visualizer
OpenGLVisualizerControl.h
Generated on Thu May 8 2014 09:18:58 for IVT by
1.8.6