VR-Engage  2.2
Loading...
Searching...
No Matches
hudUpdater.h
Go to the documentation of this file.
1/******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4******************************************************************************/
5
6//! \file hudUpdater.h
7//! \brief Defines DtHudUpdater base class for managing HUD elements in the human role
8//! \ingroup vreHumanFrontend
9
10#pragma once
11
13
15#include "vreUtil/attribute.h"
17
18#include <vrvGraphics/DtGlFontManager.h>
19
20#include <osg/ref_ptr>
21#include <vreUtil/color.h>
22
23namespace makVrv
24{
25//! \brief Forward declaration of the display element class
26class DtDe;
27
28//! \brief Forward declaration of the quad proxy class
29class DtQuadProxy;
30
31//! \brief Forward declaration of the text proxy class
32class DtTextProxy;
33
34//! \brief Forward declaration of the OSG channel class
35class DtOsgChannel;
36
37//! \brief Forward declaration of the overlay renderer class
38class DtOverlayRenderer;
39} // namespace makVrv
40
41namespace osg
42{
43//! \brief Forward declaration of the OSG texture class
44class Texture;
45
46//! \brief Forward declaration of the OSG geode class
47class Geode;
48} // namespace osg
49
50namespace makVre
51{
53{
54//! \ingroup RoleConfigParams
55//! \defgroup HudUpdaterRoleParams HUD Updater Role Parameters
56//! \roleInherits{PlayerComponentRoleParams}
57//! Configuration Options for HUD updater role.
58//! @{
59
60//! \vreRoleParam{fontPath,string,"$(SHARED_DATA_DIR)/Fonts/Furore.otf",hudUpdater,Font file path for HUD text rendering.}
61constexpr const char* fontPath = "fontPath";
62
63//! \vreRoleParam{fontSize,float,16.0,hudUpdater,Font size for HUD text elements.}
64constexpr const char* fontSize = "fontSize";
65
66//! @}
67} // namespace HudUpdaterConfig
68
69//! \brief Forward declaration of the menu cursor class
70class DtMenuCursor;
71
72//! \brief Forward declaration of the entity resolver class
74
75//! \brief Forward declaration of the base HUD item class
76class HudItem;
77
78//! \brief Forward declaration of the HUD text item class
79class HudTextItem;
80
81//! \brief Forward declaration of the HUD image item class
82class HudImageItem;
83
84//! \brief Type identifier constant for DtHudUpdater components
85//!
86//! This constant defines the string identifier used to identify DtHudUpdater
87//! component types within the VR-Engage framework. It is used for component
88//! registration, type checking, and serialization operations.
89constexpr const char* DtHudUpdaterType = "DtHudUpdater";
90
91//! \brief Base class for HUD (Heads-Up Display) updaters in the human role
92//!
93//! DtHudUpdater provides a base framework for creating and managing HUD elements
94//! such as text, images, and colored quads. It handles visibility, positioning,
95//! and updates of HUD elements based on player state. This class is designed to be
96//! extended by specific HUD implementations for different gameplay purposes.
98{
99public:
100 //! \brief Constructor
101 //!
102 //! Creates a new HUD updater component with default state.
104
105 //! \brief Virtual destructor
106 virtual ~DtHudUpdater() override;
107
108 //! \brief Initializes the HUD updater
109 //! \param player Pointer to the player station
110 //! \param config Configuration settings for initialization
111 //! \return True if initialization was successful, false otherwise
113
114 //! \brief Performs post-initialization setup
115 //! \return True if post-initialization was successful, false otherwise
116 virtual bool postInitialize() override;
117
118 //! \brief Updates the HUD elements for the current frame
119 //! \param dt Delta time since the last frame in seconds
120 virtual void tick(double dt) override;
121
122 //! \brief Cleans up resources when the component is being shut down
123 virtual void shutdown() override;
124
125 //! \brief Returns the component type identifier
126 //! \return String identifier for this component type
127 //!
128 //! Returns the type identifier string for this component, which is used
129 //! by the VR-Engage framework for component identification and management.
130 //! The returned value matches DtHudUpdaterType.
131 virtual const char* type() const override;
132
133 //! \brief Adds a HUD item to this updater
134 //! \param item Pointer to the HUD item to add
136
137 //! \brief Removes a HUD item from this updater
138 //! \param item Pointer to the HUD item to remove
140
141 //! \brief Gets the overlay renderer used by this HUD updater
142 //! \return Pointer to the overlay renderer
143 makVrv::DtOverlayRenderer* getOverlay() const;
144
145 //! \brief Converts normalized x-coordinate to pixel x-coordinate
146 //! \param norm Normalized x-coordinate (0.0 to 1.0)
147 //! \return Pixel x-coordinate
148 inline float xPixel(const float norm) const;
149
150 //! \brief Converts normalized y-coordinate to pixel y-coordinate
151 //! \param norm Normalized y-coordinate (0.0 to 1.0)
152 //! \return Pixel y-coordinate
153 inline float yPixel(const float norm) const;
154
155 //! \brief Converts normalized width to pixel width
156 //! \param norm Normalized width (0.0 to 1.0)
157 //! \return Pixel width
158 inline float pixelW(const float norm) const;
159
160 //! \brief Converts normalized height to pixel height
161 //! \param norm Normalized height (0.0 to 1.0)
162 //! \return Pixel height
163 inline float pixelH(const float norm) const;
164
165protected:
166 //! \brief Calculates heading angle between observer and target positions
167 //! \param geocentricObserverPosition Geocentric position of the observer
168 //! \param geocentricTargetPosition Geocentric position of the target
169 //! \return Heading angle in degrees
170 //!
171 //! Utility function used by derived classes to calculate heading for HUD elements
172 double headingAngleTo(const DtVector& geocentricObserverPosition, const DtVector& geocentricTargetPosition);
173
174protected:
175 //! \brief Starts this HUD updater
176 //!
177 //! Initializes and shows HUD elements
178 virtual void start();
179
180 //! \brief Stops this HUD updater
181 //!
182 //! Hides and cleans up HUD elements
183 virtual void stop();
184
185 //! \brief Called when this HUD updater is started
186 //!
187 //! Pure virtual method implemented by derived classes to handle initialization
188 //! of specific HUD elements when the updater is started
189 virtual void onStart() = 0;
190
191 //! \brief Called when this HUD updater is stopped
192 //!
193 //! Pure virtual method implemented by derived classes to handle cleanup
194 //! of specific HUD elements when the updater is stopped
195 virtual void onStop() = 0;
196
197 //! \brief Updates all HUD elements
198 //!
199 //! Updates the state and visibility of all HUD elements managed by this updater
200 virtual void updateAll();
201
202 //! \brief Sets up overlay renderers for HUD elements
203 //!
204 //! Creates and configures overlay renderers for displaying HUD elements
205 virtual void setupOverlays();
206
207 //! \brief Updates HUD elements based on visibility
208 //! \param visible Flag indicating if the reticle is visible
209 //!
210 //! Pure virtual method called during tick to update HUD elements based on
211 //! visibility. Implemented by derived classes to handle specific HUD element updates.
212 virtual void updateHudElements(bool visible) = 0;
213
214 //! \brief Handles channel destruction event
215 //! \param displayName Name of the display
216 //! \param windowName Name of the window
217 //! \param channelName Name of the channel that was destroyed
218 virtual void channelDestroyed(
219 const std::string& displayName, const std::string& windowName, const std::string& channelName);
220
221 //! \brief Handles viewport change events
222 //!
223 //! Called when the viewport size or properties change
224 virtual void onViewportChanged();
225
226 //! \brief Deletes all HUD elements
227 //!
228 //! Removes all HUD elements managed by this updater
229 virtual void deleteAll();
230
231 //! \brief Called when all HUD elements are being deleted
232 //!
233 //! Pure virtual method implemented by derived classes to handle cleanup
234 //! of specific HUD elements when all elements are being deleted
235 virtual void onDeleteAll() = 0;
236
237 //! \brief Finds a channel by name
238 //! \param channelName Name of the channel to find, defaults to "Channel 1"
239 //! \return Pointer to the found channel, or nullptr if not found
240 //!
241 //! Looks up a channel by name. Finds the first channel if channelName is blank.
242 virtual makVrv::DtOsgChannel* findChannel(const std::string& channelName = "Channel 1");
243
244 //! \brief Creates an overlay renderer for the specified channel
245 //! \param channel Pointer to the channel to create the overlay for
246 //! \param geodeOut [out] Reference to the geode that will contain the overlay
247 //! \return Pointer to the created overlay renderer
248 virtual makVrv::DtOverlayRenderer* createOverlay(makVrv::DtOsgChannel* channel, osg::Geode*& geodeOut);
249
250 //! \brief Sets up quad elements for the HUD
251 //!
252 //! Initializes and configures quad elements used in the HUD
253 virtual void setupQuads();
254
255 //! \brief Map of text items to their proxies
256 //!
257 //! Maps HUD text items to pairs of the item and its text proxy
258 std::map<const makVre::HudTextItem*, std::pair<makVre::HudTextItem*, makVrv::DtTextProxy*>> myTextItemMap;
259
260 //! \brief Map of image items to their proxies
261 //!
262 //! Maps HUD image items to pairs of the item and its quad proxy
263 std::map<const makVre::HudImageItem*, std::pair<makVre::HudImageItem*, makVrv::DtQuadProxy*>> myImageItemMap;
264
265 //! \brief Flag indicating if this HUD updater is active
267
268 //! \brief Handle to Attribute indicating if VR mode is currently enabled
270
271 //! \brief Handles channel creation event
272 //!
273 //! Sets myChannelsUpdated to true. In the next tick call, the updater
274 //! will check to see if its channel exists.
276
277 //! \brief Handles channel destruction notification
278 //!
279 //! Called when a channel is about to be destroyed
281
282 //! \brief Configuration structure for HUD image elements
284 {
285 //! \brief Default constructor
287
288 //! \brief Texture for the image
289 osg::ref_ptr<osg::Texture> texture;
290
291 //! \brief Filename of the image texture
292 std::string filename;
293
294 //! \brief Normalized x-coordinate of the image (0.0 to 1.0)
295 float x;
296
297 //! \brief Normalized y-coordinate of the image (0.0 to 1.0)
298 float y;
299
300 //! \brief Normalized width of the image (0.0 to 1.0)
301 float width;
302
303 //! \brief Normalized height of the image (0.0 to 1.0)
304 float height;
305 };
306
307 //! \brief Configuration structure for colored quad HUD elements
309 {
310 //! \brief Default constructor
312
313 //! \brief Color information for the quad
315
316 //! \brief Normalized x-coordinate of the quad (0.0 to 1.0)
317 float x;
318
319 //! \brief Normalized y-coordinate of the quad (0.0 to 1.0)
320 float y;
321
322 //! \brief Normalized width of the quad (0.0 to 1.0)
323 float width;
324
325 //! \brief Normalized height of the quad (0.0 to 1.0)
326 float height;
327 };
328
329 //! \brief Configuration structure for text HUD elements
331 {
332 //! \brief Default constructor
334
335 //! \brief Normalized x-coordinate of the text (0.0 to 1.0)
336 float x;
337
338 //! \brief Normalized y-coordinate of the text (0.0 to 1.0)
339 float y;
340 };
341
342 //! \brief Structure for associating values with colors in HUD elements
344 {
345 //! \brief Integer value
346 int value;
347
348 //! \brief Color information associated with the value
350 };
351
352 //! \brief Enumeration of display layers for HUD elements
354 {
355 //! \brief Hidden layer (not visible)
357
358 //! \brief Overlay layer (normal HUD elements)
360
361 //! \brief UI layer (user interface elements)
362 UI = 2,
363 };
364
365 //! \brief Creates a texture from an image file
366 //! \param path Path to the image file
367 //! \return Pointer to the created texture, or nullptr if creation failed
368 virtual osg::Texture* createTexture(std::string path);
369
370 //! \brief Creates all quad elements needed by a derived class
371 //! \param overlay Pointer to the overlay renderer to create quads in
372 //! \param configs Vector of image configurations to create quads from
373 //!
374 //! Pure virtual method that must be implemented by derived classes to
375 //! create all quads needed for their specific HUD elements.
376 virtual void createQuads(makVrv::DtOverlayRenderer* overlay, const std::vector<HudImageConfig>& configs) = 0;
377
378 //! \brief Creates a textured quad in the overlay
379 //! \param overlay Pointer to the overlay renderer
380 //! \param config Configuration for the image quad
381 //! \return Pointer to the created quad proxy
382 //!
383 //! Creates a textured quad from the provided configuration.
384 //! The x and y coordinates are percentages of screen in 0.0 to 1.0 range.
385 virtual makVrv::DtQuadProxy* createQuad(makVrv::DtOverlayRenderer* overlay, const HudImageConfig& config);
386
387 //! \brief Creates a colored quad in the overlay
388 //! \param overlay Pointer to the overlay renderer
389 //! \param element Configuration for the colored quad
390 //! \return Pointer to the created quad proxy
391 virtual makVrv::DtQuadProxy* createQuadWithColor(
392 makVrv::DtOverlayRenderer* overlay, const HudColorQuadConfig& element);
393
394 //! \brief Loads image configuration from an initialization table
395 //! \param e Index of the image configuration
396 //! \param imageTable Initialization table containing image configurations
397 //! \param imageName Name of the image configuration
398 //! \param loadDimensions Flag indicating if dimensions should be loaded
399 //! \return True if loading was successful, false otherwise
400 virtual bool loadImageConfig(
401 unsigned int e, makVre::DtInitTable& imageTable, std::string imageName, bool loadDimensions = true);
402
403 //! \brief Loads text configuration from an initialization table
404 //! \param t Index of the text configuration
405 //! \param textTable Initialization table containing text configurations
406 //! \param textName Name of the text configuration
407 //! \return True if loading was successful, false otherwise
408 virtual bool loadTextConfig(unsigned int t, makVre::DtInitTable& textTable, std::string textName);
409
410 //! \brief Loads color quad configuration from an initialization table
411 //! \param quadIndex Index of the color quad configuration
412 //! \param colorQuadTable Initialization table containing color quad configurations
413 //! \param colorQuadName Name of the color quad configuration
414 //! \param loadDimensions Flag indicating if dimensions should be loaded
415 //! \return True if loading was successful, false otherwise
416 virtual bool loadColorQuadConfig(unsigned int quadIndex, makVre::DtInitTable& colorQuadTable,
417 std::string colorQuadName, bool loadDimensions = true);
418
419 //! \brief Loads color configuration from an initialization table
420 //! \param colorInfo Color information to load
421 //! \param colorTable Initialization table containing color configurations
422 //! \param colorName Name of the color configuration
423 //! \return True if loading was successful, false otherwise
424 virtual bool loadColorConfig(makVre::DtColor& colorInfo, makVre::DtInitTable& colorTable, std::string colorName);
425
426 //! \brief Loads value-color pairs configuration from an initialization table
427 //! \param valueColorPairsContainer Container for value-color pairs
428 //! \param hudTable Initialization table containing HUD configurations
429 //! \param valueColorPairsName Name of the value-color pairs configuration
430 //! \return True if loading was successful, false otherwise
431 virtual bool loadValueColorPairsConfig(std::vector<HudValueColorPair>& valueColorPairsContainer,
432 makVre::DtInitTable& hudTable, const std::string& valueColorPairsName);
433 virtual bool loadValueColorPairConfig(HudValueColorPair& valueColorPair, makVre::DtInitTable& valueColorPairConfig);
434
435 makVrv::DtTextProxy* createAndInitTextProxy(double normalizedX, double normalizedY, const std::string& defaultText);
436
437 // If incoming message is for entering the menu state, set myShowOverlays to false.
438 // This will hide overlays while we're in the menu state.
440
441 // If incoming message is for exiting the menu state, set showOverlays to true.
442 // This show overlays while in the running state.
444
445 // Returns OVERLAY if myShowOverlays is true, HIDDEN otherwise
446 virtual enum Layers overlayGroup();
447
448protected:
449 std::vector<HudImageConfig> myImages;
450 std::vector<HudColorQuadConfig> myColorQuads;
451 std::vector<HudTextConfig> myTexts;
452
453 // cached vars
454 makVrv::DtOverlayRenderer* myOverlayInterface;
455 makVrv::DtOsgChannel* myChannel;
456
458 makVrv::DtFontInterface* myFont;
459 std::string myFontFilePath;
461
462 // overlays
463 osg::Geode* myGeode;
464
466
468};
469} // namespace makVre
Provides attribute handling system for hierarchical data storage and manipulation.
Type-specific handle class for attributes.
Definition attributeHandle.h:181
Class for representing and manipulating RGBA colors.
Definition color.h:22
Entity resolution and mapping system.
Definition entityResolver.h:52
virtual void channelDestroyed(const std::string &displayName, const std::string &windowName, const std::string &channelName)
Handles channel destruction event.
std::vector< HudImageConfig > myImages
Definition hudUpdater.h:449
virtual void onStart()=0
Called when this HUD updater is started.
virtual makVre::DtVreMessageResult handleExitPlayerState(makVre::DtVreMessage *msg)
float myFontSize
Definition hudUpdater.h:457
virtual ~DtHudUpdater() override
Virtual destructor.
virtual makVre::DtVreMessageResult handleEnterPlayerState(makVre::DtVreMessage *msg)
int myLineHeight
Definition hudUpdater.h:460
virtual void stop()
Stops this HUD updater.
virtual void start()
Starts this HUD updater.
bool myShowOverlays
Definition hudUpdater.h:467
virtual makVrv::DtQuadProxy * createQuadWithColor(makVrv::DtOverlayRenderer *overlay, const HudColorQuadConfig &element)
Creates a colored quad in the overlay.
float pixelH(const float norm) const
Converts normalized height to pixel height.
virtual osg::Texture * createTexture(std::string path)
Creates a texture from an image file.
std::string myFontFilePath
Definition hudUpdater.h:459
std::map< const makVre::HudTextItem *, std::pair< makVre::HudTextItem *, makVrv::DtTextProxy * > > myTextItemMap
Map of text items to their proxies.
Definition hudUpdater.h:258
virtual bool postInitialize() override
Performs post-initialization setup.
std::vector< HudTextConfig > myTexts
Definition hudUpdater.h:451
virtual bool loadColorQuadConfig(unsigned int quadIndex, makVre::DtInitTable &colorQuadTable, std::string colorQuadName, bool loadDimensions=true)
Loads color quad configuration from an initialization table.
DtHudUpdater()
Constructor.
bool myActive
Flag indicating if this HUD updater is active.
Definition hudUpdater.h:266
bool myChannelsUpdated
Definition hudUpdater.h:465
virtual bool loadTextConfig(unsigned int t, makVre::DtInitTable &textTable, std::string textName)
Loads text configuration from an initialization table.
virtual const char * type() const override
Returns the component type identifier.
float yPixel(const float norm) const
Converts normalized y-coordinate to pixel y-coordinate.
virtual enum Layers overlayGroup()
virtual bool loadImageConfig(unsigned int e, makVre::DtInitTable &imageTable, std::string imageName, bool loadDimensions=true)
Loads image configuration from an initialization table.
virtual void updateHudElements(bool visible)=0
Updates HUD elements based on visibility.
makVrv::DtOverlayRenderer * myOverlayInterface
Definition hudUpdater.h:454
makVrv::DtOverlayRenderer * getOverlay() const
Gets the overlay renderer used by this HUD updater.
virtual makVrv::DtOsgChannel * findChannel(const std::string &channelName="Channel 1")
Finds a channel by name.
virtual void shutdown() override
Cleans up resources when the component is being shut down.
virtual bool loadValueColorPairsConfig(std::vector< HudValueColorPair > &valueColorPairsContainer, makVre::DtInitTable &hudTable, const std::string &valueColorPairsName)
Loads value-color pairs configuration from an initialization table.
double headingAngleTo(const DtVector &geocentricObserverPosition, const DtVector &geocentricTargetPosition)
Calculates heading angle between observer and target positions.
virtual void setupOverlays()
Sets up overlay renderers for HUD elements.
float xPixel(const float norm) const
Converts normalized x-coordinate to pixel x-coordinate.
virtual void onViewportChanged()
Handles viewport change events.
void addItem(makVre::HudItem *item)
Adds a HUD item to this updater.
makVrv::DtFontInterface * myFont
Definition hudUpdater.h:458
makVrv::DtTextProxy * createAndInitTextProxy(double normalizedX, double normalizedY, const std::string &defaultText)
virtual makVrv::DtQuadProxy * createQuad(makVrv::DtOverlayRenderer *overlay, const HudImageConfig &config)
Creates a textured quad in the overlay.
virtual void deleteAll()
Deletes all HUD elements.
virtual void createQuads(makVrv::DtOverlayRenderer *overlay, const std::vector< HudImageConfig > &configs)=0
Creates all quad elements needed by a derived class.
virtual bool loadValueColorPairConfig(HudValueColorPair &valueColorPair, makVre::DtInitTable &valueColorPairConfig)
virtual makVrv::DtOverlayRenderer * createOverlay(makVrv::DtOsgChannel *channel, osg::Geode *&geodeOut)
Creates an overlay renderer for the specified channel.
virtual void setupQuads()
Sets up quad elements for the HUD.
std::map< const makVre::HudImageItem *, std::pair< makVre::HudImageItem *, makVrv::DtQuadProxy * > > myImageItemMap
Map of image items to their proxies.
Definition hudUpdater.h:263
virtual void tick(double dt) override
Updates the HUD elements for the current frame.
void removeItem(makVre::HudItem *item)
Removes a HUD item from this updater.
DtAttributeHandleType< bool > myUsingVr
Handle to Attribute indicating if VR mode is currently enabled.
Definition hudUpdater.h:269
std::vector< HudColorQuadConfig > myColorQuads
Definition hudUpdater.h:450
virtual bool loadColorConfig(makVre::DtColor &colorInfo, makVre::DtInitTable &colorTable, std::string colorName)
Loads color configuration from an initialization table.
virtual bool initialize(makVre::DtPlayerStation *player, makVre::DtInitTable &config) override
Initializes the HUD updater.
osg::Geode * myGeode
Definition hudUpdater.h:463
void slot_onChannelToBeDestroyed()
Handles channel destruction notification.
virtual void onDeleteAll()=0
Called when all HUD elements are being deleted.
float pixelW(const float norm) const
Converts normalized width to pixel width.
virtual void updateAll()
Updates all HUD elements.
Layers
Enumeration of display layers for HUD elements.
Definition hudUpdater.h:354
@ OVERLAY
Overlay layer (normal HUD elements)
Definition hudUpdater.h:359
@ UI
UI layer (user interface elements)
Definition hudUpdater.h:362
@ HIDDEN
Hidden layer (not visible)
Definition hudUpdater.h:356
virtual void onStop()=0
Called when this HUD updater is stopped.
makVrv::DtOsgChannel * myChannel
Definition hudUpdater.h:455
void slot_onChannelCreated()
Handles channel creation event.
Table-based access to Lua state for configuration data.
Definition initializer.h:38
Class for managing menu cursor visualization.
Definition actionMenuManager.h:60
Base class for all role components in VR-Engage.
Definition playerComponent.h:78
virtual DtPlayerStation & player()
Gets the player station.
Class for managing the user interface for engaged roles.
Definition playerStation.h:51
Abstract base class for all VREngage messages.
Definition vreMessage.h:50
Image-based HUD item.
Definition hudItem.h:260
Base class for all HUD (Heads-Up Display) items.
Definition hudItem.h:25
Text-based HUD item.
Definition hudItem.h:204
Provides color representation and manipulation functionality.
constexpr const char * fontSize
Definition hudUpdater.h:64
constexpr const char * fontPath
Definition hudUpdater.h:61
Defines export macros for the Human Frontend library.
#define HUMAN_DLL
Definition export.h:19
Definition hudUpdater.h:53
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
constexpr const char * DtHudUpdaterType
Type identifier constant for DtHudUpdater components.
Definition hudUpdater.h:89
DtVreMessageResult
Enumeration of possible message handling results.
Definition vreMessage.h:33
Definition appLauncherComponent.h:28
Definition DtSceneObjectMimicUpdater.h:31
Defines the DtPlayerComponent base class for VR-Engage role components.
Configuration structure for colored quad HUD elements.
Definition hudUpdater.h:309
float width
Normalized width of the quad (0.0 to 1.0)
Definition hudUpdater.h:323
float x
Normalized x-coordinate of the quad (0.0 to 1.0)
Definition hudUpdater.h:317
float height
Normalized height of the quad (0.0 to 1.0)
Definition hudUpdater.h:326
float y
Normalized y-coordinate of the quad (0.0 to 1.0)
Definition hudUpdater.h:320
HudColorQuadConfig()
Default constructor.
makVre::DtColor colorInfo
Color information for the quad.
Definition hudUpdater.h:314
Configuration structure for HUD image elements.
Definition hudUpdater.h:284
float width
Normalized width of the image (0.0 to 1.0)
Definition hudUpdater.h:301
float y
Normalized y-coordinate of the image (0.0 to 1.0)
Definition hudUpdater.h:298
float height
Normalized height of the image (0.0 to 1.0)
Definition hudUpdater.h:304
float x
Normalized x-coordinate of the image (0.0 to 1.0)
Definition hudUpdater.h:295
osg::ref_ptr< osg::Texture > texture
Texture for the image.
Definition hudUpdater.h:289
HudImageConfig()
Default constructor.
std::string filename
Filename of the image texture.
Definition hudUpdater.h:292
HudTextConfig()
Default constructor.
float x
Normalized x-coordinate of the text (0.0 to 1.0)
Definition hudUpdater.h:336
float y
Normalized y-coordinate of the text (0.0 to 1.0)
Definition hudUpdater.h:339
Structure for associating values with colors in HUD elements.
Definition hudUpdater.h:344
makVre::DtColor colorInfo
Color information associated with the value.
Definition hudUpdater.h:349
int value
Integer value.
Definition hudUpdater.h:346
Defines the base class for all VREngage messages.