58 : m_widget(widget), m_visualizer(visualizer), m_main_window(main_window), m_event_callback(event_callback), m_width(width), m_height(height), m_mouse_mode(0)
70 m_ViewMatrix = transformation;
106 if (widget == m_widget)
136 if (m_event_callback)
137 m_event_callback->
MouseDown(widget, button, x, y);
142 if (widget == m_widget)
152 if (m_event_callback)
153 m_event_callback->
MouseUp(widget, button, x, y);
158 if (widget == m_widget && m_mouse_mode != 0)
166 if (m_event_callback)
167 m_event_callback->
MouseMove(widget, x, y);
172 if (m_event_callback)
173 m_event_callback->
KeyDown(widget, key);
178 if (m_event_callback)
179 m_event_callback->
KeyUp(widget, key);
185 if (m_event_callback)
193 if (m_event_callback)
197 #define ROT_SPEED 0.1f
198 #define TRANS_SPEED 100.0f
202 float fx = (float)(m_mouse_old_x - (m_width / 2)) / (
float)(m_width / 2);
203 float fy = (float)(m_mouse_old_y - (m_height / 2)) / (
float)(m_height / 2);
205 if (m_mouse_mode == 1)
218 else if (m_mouse_mode == 2)
225 else if (m_mouse_mode == 3)
233 else if (m_mouse_mode == 4)
virtual void RectSelected(WIDGET_HANDLE widget, int x0, int y0, int x1, int y1)
void SetRotationMatZ(Mat3d &matrix, float theta)
virtual void MouseUp(WIDGET_HANDLE widget, int button, int x, int y)
virtual void KeyDown(WIDGET_HANDLE widget, int key)
void MouseDown(WIDGET_HANDLE widget, int button, int x, int y)
COpenGLVisualizerControl(WIDGET_HANDLE widget, int width, int height, COpenGLVisualizer *visualizer, CMainWindowInterface *main_window, CMainWindowEventInterface *event_callback)
void RectSelected(WIDGET_HANDLE widget, int x0, int y0, int x1, int y1)
virtual void MouseMove(WIDGET_HANDLE widget, int x, int y)
void KeyUp(WIDGET_HANDLE widget, int key)
virtual void ButtonPushed(WIDGET_HANDLE widget)
const Transformation3d & GetViewMatrix()
void PointClicked(WIDGET_HANDLE widget, int x, int y)
void ButtonPushed(WIDGET_HANDLE widget)
void MulMatMat(const Mat3d &matrix1, const Mat3d &matrix2, Mat3d &result)
void SetViewMatrix(const Transformation3d &transformation)
#define IVT_MIDDLE_BUTTON
void SetRotationMatY(Mat3d &matrix, float theta)
virtual void PointClicked(WIDGET_HANDLE widget, int x, int y)
void SetViewMatrix(const Transformation3d &transformation)
void KeyDown(WIDGET_HANDLE widget, int key)
void ValueChanged(WIDGET_HANDLE widget, int value)
virtual void KeyUp(WIDGET_HANDLE widget, int key)
Interface for the creation of GUIs with the GUI toolkit of the IVT.
virtual void MouseDown(WIDGET_HANDLE widget, int button, int x, int y)
Interface for the event mechanism of GUIs using the GUI toolkit of the IVT.
virtual void ValueChanged(WIDGET_HANDLE widget, int value)
Data structure for the representation of a 3x3 matrix.
void MouseMove(WIDGET_HANDLE widget, int x, int y)
void SetRotationMatX(Mat3d &matrix, float theta)
virtual int GetModifierKeyState()=0
void MouseUp(WIDGET_HANDLE widget, int button, int x, int y)