Tulip
4.1.0
Better Visualization Through Research
Main Page
Related Pages
Modules
Classes
Files
Examples
File List
All
Classes
Files
Functions
Variables
Enumerations
Enumerator
Properties
Groups
Pages
GlConvexGraphHull.h
1
/*
2
*
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
///@cond DOXYGEN_HIDDEN
20
21
22
#ifndef GLCONVEXGRAPHHULL_H_
23
#define GLCONVEXGRAPHHULL_H_
24
25
#include <tulip/ObservableGraph.h>
26
#include <tulip/Color.h>
27
#include <tulip/ObservableProperty.h>
28
29
namespace
tlp {
30
31
class
GlComposite;
32
class
GlSimpleEntity;
33
class
Camera;
34
class
Graph;
35
class
LayoutProperty;
36
class
SizeProperty;
37
class
DoubleProperty;
38
class
GlComplexPolygon;
39
40
/**
41
* @brief This class draws a convex hull around a graph.
42
*
43
* Given a graph, this class computes the various control points of a convex hull that embraces the nodes and edges present into the graph.
44
* If this entity is translated using the translate method, every element of the linked graph will be translated as well.
45
*
46
* @warning The graph or any of the properties linked to a GlConvexGraphHull should never be deleted before the entity. Such a thing should be
47
* reported to the user in debug mode, raising an assertion.
48
*/
49
class
TLP_GL_SCOPE GlConvexGraphHull {
50
public
:
51
52
/**
53
* @brief ...
54
*
55
* @param parent ...
56
* @param name ...
57
* @param fcolor The color used to fill the hull.
58
* @param graph The graph whose elements should be inside the hull.
59
* @param layout The property used to layout the elements in the graph.
60
* @param size The property defining the graph's elements' sizes.
61
* @param rotation The property defining the graph's elements' rotation.
62
**/
63
GlConvexGraphHull(GlComposite* parent,
const
std::string& name,
const
tlp::Color &fcolor, Graph *graph, LayoutProperty *layout, SizeProperty *size, DoubleProperty *rotation);
64
65
~GlConvexGraphHull();
66
67
/**
68
* Recomputes the whole Hull
69
*/
70
void
updateHull();
71
72
void
setVisible(
bool
visible);
73
bool
isVisible();
74
private
:
75
GlComposite* _parent;
76
std::string _name;
77
Color _fcolor;
78
GlComplexPolygon* _polygon;
79
Graph *graph;
80
LayoutProperty *layout;
81
SizeProperty *size;
82
DoubleProperty *rotation;
83
static
int
bezierValue;
84
};
85
}
86
87
#endif
/* GLCONVEXGRAPHHULL_H_ */
88
///@endcond
library
tulip-ogl
include
tulip
GlConvexGraphHull.h
Generated on Mon Oct 22 2012 08:10:10 for Tulip by
1.8.2