Tulip
5.6.0
Large graphs analysis and drawing
GlGrid.h
1
/*
2
*
3
* This file is part of Tulip (http://tulip.labri.fr)
4
*
5
* Authors: David Auber and the Tulip development Team
6
* from LaBRI, University of Bordeaux
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
#ifndef _Tulip_GLGRID_H_
21
#define _Tulip_GLGRID_H_
22
23
#include <tulip/Coord.h>
24
#include <tulip/Color.h>
25
#include <tulip/Size.h>
26
27
#include <tulip/GlSimpleEntity.h>
28
29
namespace
tlp
{
30
/**
31
* @ingroup OpenGL
32
* @brief General class used to render grids as GlSimpleEntity.
33
*
34
*/
35
class
TLP_GL_SCOPE
GlGrid
:
public
GlSimpleEntity
{
36
37
public
:
38
/**
39
* @brief Constructor
40
* @warning Don't use this constructor : see other constructor
41
*/
42
GlGrid
() {}
43
44
/**
45
* @brief Constructor
46
*
47
* @param frontTopLeft The minimum of the bounding box of the grid.
48
* @param backBottomRight The maximum of the bounding box of the grid.
49
* @param cell The size of a single cell of the grid.
50
* @param color The color of the lines of the grid.
51
* @param displays The dimensions of the grid to display.
52
* @param hollowGrid Indicates if the grid should be hollowed.
53
*/
54
GlGrid
(
const
Coord &frontTopLeft,
const
Coord &backBottomRight,
const
Size &cell,
55
const
Color &color,
bool
displays[3]);
56
/**
57
* @brief Virtual function used to draw the grid.
58
*/
59
void
draw(
float
lod,
Camera
*camera)
override
;
60
/**
61
* @brief Accessor in reading to the dimensions to display.
62
*/
63
void
getDisplayDim(
bool
displayDim[3])
const
;
64
/**
65
* @brief Accessor in writing to the dimensions to display.
66
*/
67
void
setDisplayDim(
bool
displayDim[3]);
68
69
/**
70
* @brief Translate entity
71
*/
72
void
translate(
const
Coord &mouvement)
override
;
73
74
/**
75
* @brief Function to export data in outString (in XML format)
76
*/
77
void
getXML(std::string &outString)
override
;
78
79
/**
80
* @brief Function to set data with inString (in XML format)
81
*/
82
void
setWithXML(
const
std::string &inString,
unsigned
int
¤tPosition)
override
;
83
84
protected
:
85
bool
displayDim[3];
/**< Which dimensions should be displayed ? Note that only one dimension at
86
most should be disabled*/
87
bool
hollowGrid
;
/**< Should the grid be hollowed ?*/
88
Coord
frontTopLeft
;
/**< Front top left point of the grid, the "minimum" */
89
Coord
backBottomRight
;
/**< Back bottom right point of the grid, the "maximum" */
90
Color
color
;
/**< The color of the grid */
91
Size
cell
;
/**< The size of a cell of the grid */
92
};
93
}
// namespace tlp
94
#endif
tlp::GlGrid::color
Color color
Definition:
GlGrid.h:90
tlp::GlGrid::GlGrid
GlGrid()
Constructor.
Definition:
GlGrid.h:42
tlp::GlGrid::cell
Size cell
Definition:
GlGrid.h:91
tlp::GlGrid
General class used to render grids as GlSimpleEntity.
Definition:
GlGrid.h:35
tlp::GlGrid::backBottomRight
Coord backBottomRight
Definition:
GlGrid.h:89
tlp::GlSimpleEntity
Base class for all Tulip OpenGL entities.
Definition:
GlSimpleEntity.h:62
tlp::GlGrid::frontTopLeft
Coord frontTopLeft
Definition:
GlGrid.h:88
tlp::GlGrid::hollowGrid
bool hollowGrid
Definition:
GlGrid.h:87
tlp
Definition:
AbstractProperty.h:34
tlp::Camera
Tulip OpenGL camera object.
Definition:
Camera.h:47
library
tulip-ogl
include
tulip
GlGrid.h
Generated on Thu Jun 24 2021 16:39:14 for Tulip by
1.8.17