tuto2.h 3.02 KB
Newer Older
Pierre Kraemer's avatar
Pierre Kraemer committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*******************************************************************************
* CGoGN: Combinatorial and Geometric modeling with Generic N-dimensional Maps  *
* version 0.1                                                                  *
* Copyright (C) 2009, IGG Team, LSIIT, University of Strasbourg                *
*                                                                              *
* This library is free software; you can redistribute it and/or modify it      *
* under the terms of the GNU Lesser General Public License as published by the *
* Free Software Foundation; either version 2.1 of the License, or (at your     *
* option) any later version.                                                   *
*                                                                              *
* This library is distributed in the hope that it will be useful, but WITHOUT  *
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or        *
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License  *
* for more details.                                                            *
*                                                                              *
* You should have received a copy of the GNU Lesser General Public License     *
* along with this library; if not, write to the Free Software Foundation,      *
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.           *
*                                                                              *
* Web site: https://iggservis.u-strasbg.fr/CGoGN/                              *
* Contact information: cgogn@unistra.fr                                        *
*                                                                              *
*******************************************************************************/
Sylvain Thery's avatar
Sylvain Thery committed
24
25
#ifndef __TUTO2_
#define __TUTO2_
Pierre Kraemer's avatar
Pierre Kraemer committed
26
27


Sylvain Thery's avatar
Sylvain Thery committed
28
#include <iostream>
Pierre Kraemer's avatar
Pierre Kraemer committed
29
30


Sylvain Thery's avatar
Sylvain Thery committed
31
32
33
34
#include "Utils/qtSimple.h"
#include "ui_tuto2.h"
#include "Utils/qtui.h"

35
36
37
38
39
40
41
#include "Geometry/vector_gen.h"

// forward definitions (minimize includes)
namespace CGoGN { namespace Algo { namespace Render { namespace GL2 { class MapRender; }}}}
namespace CGoGN { namespace Utils { class VBO; } }
namespace CGoGN { namespace Utils { class ShaderSimpleColor; } }

Sylvain Thery's avatar
Sylvain Thery committed
42
using namespace CGoGN ;
Pierre Kraemer's avatar
Pierre Kraemer committed
43

Sylvain Thery's avatar
Sylvain Thery committed
44
45
46
47
48
49
50
51
52
/**
 * Utilisation de designer-qt4:
 * Faire un DockWiget (laisser le nom par defaut
 * dans le Contents ajouter le layout choisi (vertical classiquement)
 * Ajouter les widgets necessaires, mettre des noms clairs pour
 * les utiliser dans le .cpp (pour les call back principalement)
 */

class MyQT: public Utils::QT::SimpleQT
Pierre Kraemer's avatar
Pierre Kraemer committed
53
{
Sylvain Thery's avatar
Sylvain Thery committed
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
	Q_OBJECT

	bool m_with_lines;
	Geom::Vec4f m_color;
	int m_line_width;
public:

	// render
	Algo::Render::GL2::MapRender* m_render;

	// VBO
	Utils::VBO* m_positionVBO;

	// shader basic
	Utils::ShaderSimpleColor* m_shader;

	MyQT():m_render(NULL), m_positionVBO(NULL), m_shader(NULL) {}


	void cb_redraw();

	void cb_initGL();

// slots locaux
public slots:
	void lines_slot(bool x);
	void line_width_slot(int x);
	void color_slot();
Pierre Kraemer's avatar
Pierre Kraemer committed
82
83


Sylvain Thery's avatar
Sylvain Thery committed
84
};
Pierre Kraemer's avatar
Pierre Kraemer committed
85

Sylvain Thery's avatar
Sylvain Thery committed
86
#endif
Pierre Kraemer's avatar
Pierre Kraemer committed
87