3 * This file is part of Tulip (www.tulip-software.org)
4 *
5 * Authors: David Auber and the Tulip development Team
6 * from LaBRI, University of Bordeaux 1 and Inria Bordeaux - Sud Ouest
7 *
8 * Tulip is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation, either version 3
11 * of the License, or (at your option) any later version.
12 *
13 * Tulip is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU General Public License for more details.
17 *
18 */
19#ifndef GLINTERACTOR_H
20#define GLINTERACTOR_H
21
22#include <tulip/InteractorComposite.h>
23
24#include <QIcon>
25
26namespace tlp {
27
28class GlMainWidget;
29
30/**
31 * @brief The GLInteractorComponent class is an InteractorComponent that can do OpenGL rendering on a GlMainWidget.
32 *
33 * @warning Only GLInteractorComponent that are stored into a GLInteractorComposite will be able to do OpenGL rendering. Storing them into an InteractorComposite will have no effect.
34 *
35 * GLInteractorComponent are meant to be stored into a GLInteractorComposite
36 * When installed on a GlMainWidget, this interactor will have two new methods getting called:
37 * @list
38 * @li draw: Draws a visual feedback into the OpenGL scene. This is called after the scene was rendered
39 * @li compute: Allows the interactor to do some pre-initialisation steps before the OpenGL scene is rendered.
64 * @brief The GLInteractorComposite class behaves like a InteractorComposite but is meant to store GLInteractorComponent.
65 * @warning Only GLInteractorComponent that are stored into a GLInteractorComposite will be able to do OpenGL rendering. Storing them into an InteractorComposite will have no effect.