VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMapInformationOverlayInstance.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
16 
19 
20 #include <string>
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtChannel;
26  class DtChannelManager;
27  class DtChannelConfiguration;
28  class DtWindowConfiguration;
29  class DtMapInformationSectionOverlayCreator;
30  class DtMapInformationSectionOverlay;
31  class DtWindowPolygon;
32 
46  {
48 
49  public:
52 
55 
56  public:
59 
62 
65 
67  DtMapInformationOverlayInstance& operator=(const DtMapInformationOverlayInstance& other) = delete;
68 
70  virtual void setChannelName(const std::string& deName,
71  const std::string& winName, const std::string& channelName);
72 
80  virtual void setModelDefinition(const std::string& modelDefinitionName);
81 
83  virtual bool isVisible();
84 
87  virtual void destroyVisuals();
88 
91  virtual void createVisuals();
92 
96  virtual void createSectionVisuals(DtObserverSettingsManager::ObserverSetting setting);
97 
101  virtual void destroySectionVisuals(DtObserverSettingsManager::ObserverSetting setting);
102 
110  virtual void setSectionVisible(DtObserverSettingsManager::ObserverSetting setting, bool isVisible);
111 
116  virtual void setOverlayGroup(int group);
117 
122  virtual int overlayGroup() const;
123 
125  virtual void setBackgroundColor(float r, float g, float b, float a);
126 
128  virtual bool getBackgroundColor(float& r, float& g, float& b, float& a) const;
129 
132  virtual void setFontColor(float r, float g, float b, float a);
133 
136  virtual bool getFontColor(float& r, float& g, float& b, float& a) const;
137 
140  virtual void setFontFile(const std::string& fontFile);
141 
144  virtual std::string fontFile() const;
145 
148  virtual void setFontPointSize(int pointSize);
149 
152  virtual int fontPointSize() const;
153 
154  protected:
155 
157  // @{
158 
163  virtual void slot_channelCreated(DtChannelManager*, DtChannel*);
164 
168  virtual void slot_channelToBeDestroyed(DtChannelManager*, DtChannel*);
169 
172  virtual void slot_channelConfigurationModified(const std::string& deName,
173  const std::string& winName, const std::string& oldChannelName,
174  const DtChannelConfiguration& config);
175 
178  virtual void slot_windowConfigurationModified(const std::string& deName,
179  const std::string& winName, const DtWindowConfiguration& config);
180 
181  // @}
182 
186  virtual void slot_sectionOverlayDimensionsChanged();
187 
189  virtual void update();
190 
193  virtual void updateGeometries();
194 
197  virtual void synchronizeWindowAndChannelDimensions();
198 
201  virtual void setPixelRatio(float pixelRatio);
202 
205  virtual void destroyBackground();
206 
209  virtual void createBackground();
210 
211  protected:
212 
216 
217  protected:
218 
220 
223 
226 
227  std::string myDisplayName;
228  std::string myWindowName;
229  std::string myChannelName;
230 
232  float myBackgroundColor[4];
233 
235 
242 
248 
251 
256 
258 
259  std::string myFontFile;
260  float myFontColor[4];
262 
263  };
264 
274  public DtVirtualBaseClass
275  {
276  public:
279 
280  public:
284  static DtMapInformationOverlayInstanceCreator& instance(DtDe& de);
285 
288  static void registerInstance(DtDe& de,
290 
292  virtual DtMapInformationOverlayInstance* create(DtDe& de);
293 
299  static void defaultOverlaySectionCreators(DtDe& de,
301 
303  virtual const DtMapInformationOverlayInstance::DtMapInformationOverlayInstanceSectionCreators& overlaySectionCreators() const;
304 
307  virtual void setOverlaySectionCreators(
309 
311  static void deleteOverlaySectionCreators(
313 
314  protected:
315 
319 
320  };
321 }
bool myGeometryDirty
Definition: DtMapInformationOverlayInstance.h:234
DtSignalConnectionManager myConnections
Definition: DtMapInformationOverlayInstance.h:219
int myMarginLeft
margin in pixels
Definition: DtMapInformationOverlayInstance.h:244
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Contains DtMapInformationSectionOverlay class declaration.
int myMarginRight
Definition: DtMapInformationOverlayInstance.h:245
double myPreviousViewportRight
Definition: DtMapInformationOverlayInstance.h:239
std::map< DtObserverSettingsManager::ObserverSetting, DtMapInformationSectionOverlay * > DtMapInformationOverlayInstanceSections
Definition: DtMapInformationOverlayInstance.h:54
DtMapInformationOverlayInstanceSectionCreators mySectionCreators
The list of overlay section creators to be used when creating a new sensor view overlay.
Definition: DtMapInformationOverlayInstance.h:254
int myFontPointSize
Definition: DtMapInformationOverlayInstance.h:261
DtWindowPolygon * myBackgroundQuad
Definition: DtMapInformationOverlayInstance.h:231
DtDe & myDe
Definition: DtMapInformationOverlayInstance.h:225
int myMarginBottom
Definition: DtMapInformationOverlayInstance.h:247
DtSignalConnectionManager myPixelRatioConnection
Definition: DtMapInformationOverlayInstance.h:221
This owns a list of channel configurations.
Definition: DtWindowConfiguration.h:26
std::map< DtObserverSettingsManager::ObserverSetting, DtMapInformationSectionOverlayCreator * > DtMapInformationOverlayInstanceSectionCreators
Definition: DtMapInformationOverlayInstance.h:51
Contains makVrv::DtObserverSettingsManager class.
std::string myChannelName
Definition: DtMapInformationOverlayInstance.h:229
int myOverlayGroup
Definition: DtMapInformationOverlayInstance.h:257
The abstract Channel Class.
Definition: DtChannel.h:35
Creator class for DtMapInformationOverlayInstance objects Use the creator to customize which sections...
Definition: DtMapInformationOverlayInstance.h:273
int myMarginTop
Definition: DtMapInformationOverlayInstance.h:246
std::string myFontFile
Definition: DtMapInformationOverlayInstance.h:259
Contains makVrv::DtVirtualBaseClass class.
DtMapInformationOverlayInstance is responsible for creating and updating an information overlay in a ...
Definition: DtMapInformationOverlayInstance.h:45
std::string myDisplayName
Definition: DtMapInformationOverlayInstance.h:227
DtMapInformationOverlayInstanceSections mySections
Definition: DtMapInformationOverlayInstance.h:255
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
DtMapInformationOverlayInstance::DtMapInformationOverlayInstanceSectionCreators mySectionCreators
The list of overlay section creators to be used when creating a new sensor view overlay.
Definition: DtMapInformationOverlayInstance.h:318
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
float myPixelRatio
Definition: DtMapInformationOverlayInstance.h:222
double myPreviousViewportBottom
Definition: DtMapInformationOverlayInstance.h:241
double myPreviousWindowWidth
Definition: DtMapInformationOverlayInstance.h:237
double myPreviousViewportLeft
Definition: DtMapInformationOverlayInstance.h:238
Base class for handling DtChannels. Derived classes should override the tick() method and advance the...
Definition: DtChannelManager.h:32
DtMapInformationSectionOverlay is an abstract base class that contains functionality common to all in...
Definition: DtMapInformationSectionOverlay.h:35
Base class to provide boost signal/slot management.
Configuration for a single channel Serialized and sent to remote displays as necessary to configure r...
Definition: DtChannelConfiguration.h:24
A model-like object that draws a 2D polygon on screen. This polygon class inherits from DtWindowObjec...
Definition: DtWindowPolygon.h:40
Contains makVrv::DtUniqueID type.
double myPreviousWindowHeight
Definition: DtMapInformationOverlayInstance.h:236
DtChannel * myChannel
Definition: DtMapInformationOverlayInstance.h:224
double myPreviousViewportTop
Definition: DtMapInformationOverlayInstance.h:240
ObserverSetting
Definition: DtObserverSettingsManager.h:41
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
Abstract base class for creating new DtMapInformationOverlaySection objects. All implementations of i...
Definition: DtMapInformationSectionOverlay.h:145
std::string myWindowName
Definition: DtMapInformationOverlayInstance.h:228
int myRowSpacing
space between rows in pixels
Definition: DtMapInformationOverlayInstance.h:250
Contains DLL export macros.

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)