Tulip
4.3.0
Better Visualization Through Research
Main Page
Related Pages
Modules
Classes
Files
Examples
File List
All
Classes
Namespaces
Files
Functions
Variables
Enumerations
Enumerator
Properties
Groups
Pages
GlRect.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
20
21
#ifndef GL_RECT_H
22
#define GL_RECT_H
23
24
#include <tulip/GlPolygon.h>
25
#include <tulip/Size.h>
26
27
namespace
tlp {
28
29
/**
30
* @ingroup OpenGL
31
* \brief This is a general class for the rendering of 2D rectangles.
32
*
33
* This class is used as a 2D HUD for the rendering of 2D rectangles.
34
*/
35
36
class
TLP_GL_SCOPE
GlRect
:
public
GlPolygon
{
37
protected
:
38
39
public
:
40
/**
41
* Constructor : with topLeft/bottomRight coords, topLeft/bottomRight colors and if GlRect is filled/outlined
42
*/
43
GlRect
(
const
Coord &topLeftPos,
const
Coord &bottomRightPos,
const
Color &topLeftCol,
const
Color &bottomRightCol,
bool
filled=
true
,
bool
outlined=
false
);
44
45
/**
46
* Constructor : with center coords and size, fill color and outline color
47
*/
48
GlRect
(
const
Coord ¢er,
const
float
width,
const
float
height,
const
Color &fillColor,
const
Color &outlineColor);
49
50
51
/**
52
* Constructor : with GlRect is filled/outlined
53
*/
54
GlRect
(
bool
filled=
true
,
bool
outlined=
false
);
55
56
/**
57
* Destructor
58
*/
59
virtual
~
GlRect
();
60
61
/**
62
* Accessor in reading to the Top Left Corner of the rectangle
63
*/
64
virtual
Coord getCenter();
65
66
/**
67
* Set the center and the size of the GlRect
68
*/
69
void
setCenterAndSize(
const
Coord ¢er,
const
Size &size);
70
71
/**
72
* Accessor in reading to the Top Left Corner of the rectangle
73
*/
74
virtual
Coord getTopLeftPos();
75
76
/**
77
* Accessor in reading to the Bottom Right Corner of the rectangle
78
*/
79
virtual
Coord getBottomRightPos();
80
81
/**
82
* Accessor in reading to the Top Left Corner Color of the rectangle
83
*/
84
virtual
Color getTopLeftColor();
85
86
/**
87
* Accessor in reading to the Bottom Right Corner Color of the Rectangle
88
*/
89
virtual
Color getBottomRightColor();
90
91
/**
92
* Accessor in writing to the Top Left Corner of the rectangle
93
*/
94
virtual
void
setTopLeftPos(
const
Coord &topLeftPos);
95
96
/**
97
* Accessor in writing to the Bottom Right Corner Color of the rectangle
98
*/
99
virtual
void
setBottomRightPos(
const
Coord &bottomRightPos);
100
101
/**
102
* Accessor in writing to the Top Left Corner of the rectangle
103
*/
104
virtual
void
setTopLeftColor(
const
Color &topLeftCol);
105
106
/**
107
* Accessor in writing to the Bottom Right Corner Color of the rectangle
108
*/
109
virtual
void
setBottomRightColor(
const
Color &bottomRightCol);
110
111
/**
112
* Is the point in the rectangle ?
113
*/
114
bool
inRect(
double
x,
double
y);
115
116
virtual
void
draw(
float
lod,
Camera
*camera);
117
118
};
119
120
}
121
#endif
library
tulip-ogl
include
tulip
GlRect.h
Generated on Tue Jun 11 2013 12:01:58 for Tulip by
1.8.2