VR-Engage  2.2
Loading...
Searching...
No Matches
vreOsgSensorViewDisplayInfoOverlaySection.h
Go to the documentation of this file.
1/******************************************************************************
2** Copyright (c) 2025 MAK Technologies
3** All rights reserved.
4******************************************************************************/
5
6//! \file vreOsgSensorViewDisplayInfoOverlaySection.h
7//! \brief Defines the overlay section for displaying sensor view information
8//!
9//! This file contains the DtVreOsgSensorViewDisplayInfoOverlaySection class which
10//! provides an overlay section for displaying information about the current sensor
11//! view settings on the sensor display. This information appears as text in the
12//! upper left corner of the view and includes details like sensor type, zoom level,
13//! and other relevant parameters.
14
15#pragma once
16
18
19#include <vrvOsg/DtOsgSensorViewDisplayInfoOverlaySection.h>
20
21
22namespace makVrv
23{
24class DtTextProxy;
25}
26
27namespace makVre
28{
29//! \brief Overlay section for displaying sensor view information
30//!
31//! DtVreOsgSensorViewDisplayInfoOverlaySection is responsible for displaying
32//! information about the current sensor view settings on the sensor display.
33//! It renders text in the upper left corner of the sensor view that shows
34//! current settings like sensor type, zoom level, and other relevant
35//! parameters. This helps users understand the current sensor configuration
36//! at a glance.
37class PLAYERSTATION_DLL DtVreOsgSensorViewDisplayInfoOverlaySection : public makVrv::DtOsgSensorViewDisplayInfoOverlaySection
38{
39public:
40 //! \brief Friend declaration for creator class
41 //!
42 //! Allows the creator class to access protected constructor.
44
45 //! \brief Destructor
46 //!
47 //! Cleans up resources used by the display info overlay section.
49
50 //! \brief Updates the overlay with current sensor information
51 //! \param observer Reference to the observer object
52 //! \param state Current sensor field of view data
53 //!
54 //! Updates the text display with information from the current sensor state.
55 //! This includes sensor type, zoom level, and other relevant parameters
56 //! extracted from the observer and state objects.
57 virtual void update(const makVrv::DtOsgObserverObject& observer,
58 const makVrv::DtSensorFieldOfViewData& state) override;
59
60 //! \brief Gets the name of this overlay section
61 //! \return Reference to the section name string
62 //!
63 //! Returns the name of this section, which can be used to retrieve it
64 //! from the DtOsgSensorViewOverlay. The name uniquely identifies this
65 //! section type in the overlay system.
66 virtual const std::string& sectionName() const override;
67
68public:
69 //! \brief Static section name identifier
70 //!
71 //! Constant string that identifies this type of overlay section.
72 static const std::string SectionName;
73
74protected:
75 //! \brief Protected constructor
76 //! \param de Reference to the display engine
77 //!
78 //! Creates a new display info overlay section for the specified display engine.
79 //! This constructor is protected because instances should only be created by
80 //! the DtVreOsgSensorViewDisplayInfoOverlaySectionCreator.
82
83protected:
84 //! \brief Current zoom level
85 //!
86 //! Tracks the current zoom level for the sensor view.
88};
89
90//! \brief Factory creator for display info overlay sections
91//!
92//! DtVreOsgSensorViewDisplayInfoOverlaySectionCreator is a factory class that
93//! creates display info overlay section instances. It allows the overlay sections
94//! to be created on demand by the overlay system using the factory pattern.
96 : public makVrv::DtOsgSensorViewOverlaySectionCreator
97{
98public:
99 //! \brief Creates a new display info overlay section
100 //! \param de Reference to the display engine
101 //! \return Pointer to a newly created overlay section
102 //!
103 //! Factory method that creates a new display info overlay section
104 //! instance for the specified display engine.
105 virtual makVrv::DtOsgSensorViewOverlaySection* create(makVrv::DtDe& de) override;
106
107 //! \brief Creates a copy of this creator
108 //! \return Pointer to a new creator instance of the same type
109 //!
110 //! Creates a new instance of this creator class, used by the overlay system
111 //! for creator registration and management.
112 virtual makVrv::DtOsgSensorViewOverlaySectionCreator* clone() const override;
113};
114} // namespace makVre
Factory creator for display info overlay sections.
Definition vreOsgSensorViewDisplayInfoOverlaySection.h:97
virtual makVrv::DtOsgSensorViewOverlaySectionCreator * clone() const override
Creates a copy of this creator.
virtual makVrv::DtOsgSensorViewOverlaySection * create(makVrv::DtDe &de) override
Creates a new display info overlay section.
DtVreOsgSensorViewDisplayInfoOverlaySection(makVrv::DtDe &de)
Protected constructor.
virtual ~DtVreOsgSensorViewDisplayInfoOverlaySection() override
Destructor.
virtual const std::string & sectionName() const override
Gets the name of this overlay section.
virtual void update(const makVrv::DtOsgObserverObject &observer, const makVrv::DtSensorFieldOfViewData &state) override
Updates the overlay with current sensor information.
static const std::string SectionName
Static section name identifier.
Definition vreOsgSensorViewDisplayInfoOverlaySection.h:72
int myZoomLevel
Current zoom level.
Definition vreOsgSensorViewDisplayInfoOverlaySection.h:87
friend class DtVreOsgSensorViewDisplayInfoOverlaySectionCreator
Friend declaration for creator class.
Definition vreOsgSensorViewDisplayInfoOverlaySection.h:43
Defines export macros for the VR-Engage Player Station library.
#define PLAYERSTATION_DLL
Definition export.h:24
Include export definitions for this library.
Definition glsVreMessageUtil.h:49
Definition appLauncherComponent.h:28
makVrv::DtDe * de()
Gets the display element pointer used by the plugin.