Gazebo Rendering
API Reference
9.0.0
insert_drive_file
Tutorials
library_books
Classes
toc
Namespaces
insert_drive_file
Files
launch
Gazebo Website
Index
List
Hierarchy
Members: All
Members: Functions
Members: Variables
Members: Typedefs
Members: Enumerations
Members: Enumerator
List
Members
Functions
Typedefs
Variables
Enumerations
Enumerator
src
gz-rendering
include
gz
rendering
base
BaseText.hh
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2018 Open Source Robotics Foundation
3
*
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
* you may not use this file except in compliance with the License.
6
* You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*
16
*/
17
#ifndef GZ_RENDERING_BASE_BASETEXT_HH_
18
#define GZ_RENDERING_BASE_BASETEXT_HH_
19
20
#include <string>
21
#include "
gz/rendering/Text.hh
"
22
#include "
gz/rendering/base/BaseObject.hh
"
23
24
namespace
gz
25
{
26
namespace
rendering
27
{
28
inline
namespace
GZ_RENDERING_VERSION_NAMESPACE {
29
//
31
template
<
class
T>
32
class
BaseText
:
33
public
virtual
Text
,
34
public
virtual
T
35
{
37
protected
:
BaseText
();
38
40
public
:
virtual
~BaseText
();
41
42
// Documentation inherited.
43
public
:
virtual
void
PreRender
()
override
;
44
45
// Documentation inherited.
46
public
:
virtual
void
Destroy
()
override
;
47
48
// Documentation inherited.
49
public
:
void
SetFontName
(
const
std::string
&_font)
override
;
50
51
// Documentation inherited.
52
public
:
std::string
FontName
()
const override
;
53
54
// Documentation inherited.
55
public
:
virtual
void
SetTextString
(
const
std::string
&_text)
override
;
56
57
// Documentation inherited.
58
public
:
virtual
std::string
TextString
()
const override
;
59
60
// Documentation inherited.
61
public
:
virtual
void
SetColor
(
const
gz::math::Color
&_color)
62
override
;
63
64
// Documentation inherited.
65
public
:
virtual
gz::math::Color
Color
()
const override
;
66
67
// Documentation inherited.
68
public
:
virtual
void
SetCharHeight
(
const
float
_height)
override
;
69
70
// Documentation inherited.
71
public
:
virtual
float
CharHeight
()
const override
;
72
73
// Documentation inherited.
74
public
:
virtual
void
SetSpaceWidth
(
const
float
_width)
override
;
75
76
// Documentation inherited.
77
public
:
virtual
float
SpaceWidth
()
const override
;
78
79
// Documentation inherited.
80
public
:
virtual
void
SetTextAlignment
(
const
TextHorizontalAlign
&_hAlign,
81
const
TextVerticalAlign
&_vAlign)
override
;
82
// Documentation inherited.
83
public
:
virtual
TextHorizontalAlign
HorizontalAlignment
()
const override
;
84
85
// Documentation inherited.
86
public
:
virtual
TextVerticalAlign
VerticalAlignment
()
const override
;
87
88
// Documentation inherited.
89
public
:
virtual
void
SetBaseline
(
const
float
_baseline)
override
;
90
91
// Documentation inherited.
92
public
:
virtual
float
Baseline
()
const override
;
93
94
// Documentation inherited.
95
public
:
void
SetShowOnTop
(
const
bool
_onTop)
override
;
96
97
// Documentation inherited.
98
public
:
virtual
bool
ShowOnTop
()
const override
;
99
100
// Documentation inherited.
101
public
:
virtual
gz::math::AxisAlignedBox
AABB
()
const override
;
102
104
protected
:
std::string
fontName =
"Liberation Sans"
;
105
107
protected
:
std::string
text
;
108
110
protected
:
gz::math::Color
color =
gz::math::Color::White
;
111
113
protected
:
float
charHeight = 1.0;
114
116
protected
:
float
spaceWidth = 0;
117
119
protected
:
TextHorizontalAlign
horizontalAlign =
120
TextHorizontalAlign::LEFT;
121
123
protected
:
TextVerticalAlign
verticalAlign = TextVerticalAlign::BOTTOM;
124
126
protected
:
float
baseline = 0;
127
130
protected
:
bool
onTop =
false
;
131
133
protected
:
bool
textDirty =
false
;
134
};
135
137
// BaseText
139
template
<
class
T>
140
BaseText<T>::BaseText
()
141
{
142
}
143
145
template
<
class
T>
146
BaseText<T>::~BaseText
()
147
{
148
}
149
151
template
<
class
T>
152
std::string
BaseText<T>::FontName
()
const
153
{
154
return
this->fontName;
155
}
156
158
template
<
class
T>
159
void
BaseText<T>::SetFontName
(
const
std::string
&_font)
160
{
161
this->fontName = _font;
162
this->textDirty =
true
;
163
}
164
166
template
<
class
T>
167
std::string
BaseText<T>::TextString
()
const
168
{
169
return
this->text;
170
}
171
173
template
<
class
T>
174
void
BaseText<T>::SetTextString
(
const
std::string
&_text)
175
{
176
this->text = _text;
177
this->textDirty =
true
;
178
}
179
181
template
<
class
T>
182
gz::math::Color
BaseText<T>::Color
()
const
183
{
184
return
this->color;
185
}
186
188
template
<
class
T>
189
void
BaseText<T>::SetColor
(
const
gz::math::Color
&_color)
190
{
191
this->color = _color;
192
this->textDirty =
true
;
193
}
194
196
template
<
class
T>
197
float
BaseText<T>::CharHeight
()
const
198
{
199
return
this->charHeight;
200
}
201
203
template
<
class
T>
204
void
BaseText<T>::SetCharHeight
(
const
float
_height)
205
{
206
this->charHeight = _height;
207
this->textDirty =
true
;
208
}
209
211
template
<
class
T>
212
float
BaseText<T>::SpaceWidth
()
const
213
{
214
return
this->spaceWidth;
215
}
216
218
template
<
class
T>
219
void
BaseText<T>::SetSpaceWidth
(
const
float
_width)
220
{
221
this->spaceWidth = _width;
222
this->textDirty =
true
;
223
}
224
226
template
<
class
T>
227
TextHorizontalAlign
BaseText<T>::HorizontalAlignment
()
const
228
{
229
return
this->horizontalAlign;
230
}
231
233
template
<
class
T>
234
TextVerticalAlign
BaseText<T>::VerticalAlignment
()
const
235
{
236
return
this->verticalAlign;
237
}
238
240
template
<
class
T>
241
void
BaseText<T>::SetTextAlignment
(
const
TextHorizontalAlign
&_horzAlign,
242
const
TextVerticalAlign
&_vertAlign)
243
{
244
this->horizontalAlign = _horzAlign;
245
this->verticalAlign = _vertAlign;
246
this->textDirty =
true
;
247
}
248
250
template
<
class
T>
251
float
BaseText<T>::Baseline
()
const
252
{
253
return
this->baseline;
254
}
255
257
template
<
class
T>
258
void
BaseText<T>::SetBaseline
(
const
float
_baseline)
259
{
260
this->baseline = _baseline;
261
this->textDirty =
true
;
262
}
263
265
template
<
class
T>
266
bool
BaseText<T>::ShowOnTop
()
const
267
{
268
return
this->onTop;
269
}
270
272
template
<
class
T>
273
void
BaseText<T>::SetShowOnTop
(
const
bool
_onTop)
274
{
275
this->onTop = _onTop;
276
this->textDirty =
true
;
277
}
278
280
template
<
class
T>
281
gz::math::AxisAlignedBox
BaseText<T>::AABB
()
const
282
{
283
math::AxisAlignedBox
box;
284
return
box;
285
}
286
288
template
<
class
T>
289
void
BaseText<T>::PreRender
()
290
{
291
T::PreRender();
292
}
293
295
template
<
class
T>
296
void
BaseText<T>::Destroy
()
297
{
298
T::Destroy();
299
}
300
}
301
}
302
}
303
#endif