VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2024 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 #include <vrvCore/DtUniqueID.h>
14 
16 
17 #include <string>
18 #include <vector>
19 #include <limits>
20 
21 namespace makVrv
22 {
23 
24  class DtDe;
25  class DtWidgetUpdater;
26 
30  {
31  public:
33  {
34  public:
35  DtDynamicSizeConfiguration(double altitude, float sizeX, float sizeY)
36  : myAltitude(altitude)
37  , mySizeX(sizeX)
38  , mySizeY(sizeY)
39  , myOffsetX(0.0)
40  , myOffsetY(0.0)
41  { }
42 
43  DtDynamicSizeConfiguration( double altitude, float sizeX, float sizeY,
44  float offsetX, float offsetY )
45  : myAltitude( altitude )
46  , mySizeX( sizeX )
47  , mySizeY( sizeY )
48  , myOffsetX( offsetX )
49  , myOffsetY( offsetY )
50  {
51  }
52 
54  : myAltitude(std::numeric_limits<double>::min())
55  , mySizeX(0.0f)
56  , mySizeY(0.0f)
57  , myOffsetX( 0.0f )
58  , myOffsetY( 0.0f )
59  { }
60 
61  ~DtDynamicSizeConfiguration() = default;
63  const DtDynamicSizeConfiguration &other) = default;
64  DtDynamicSizeConfiguration &operator=(
65  const DtDynamicSizeConfiguration &other) = default;
66 
67  double myAltitude;
68  float mySizeX;
69  float mySizeY;
70  float myOffsetX;
71  float myOffsetY;
72  };
73 
74  typedef std::vector<DtDynamicSizeConfiguration> DtDynamicSizeConfigurationCollection;
75 
76  public:
77  DtWidget(DtDe& de, DtUniqueID id);
78 
79  virtual ~DtWidget();
80 
82  DtWidget( const DtWidget& other ) = delete;
83 
85  DtWidget& operator=( const DtWidget& other ) = delete;
86 
88  DtWidget( const DtWidget&& other ) = delete;
89 
91  DtWidget& operator=( const DtWidget&& other ) = delete;
92 
93  public:
94 
96  virtual void setOverlay(unsigned int overlay) = 0;
97 
99  virtual unsigned int overlay() const = 0;
100 
102  virtual void setOrderGroup(unsigned int group) = 0;
103 
105  virtual void setRotation( float ) = 0;
106 
108  virtual unsigned int orderGroup() const = 0;
109 
111  virtual void setParentId( DtUniqueID id);
112 
114  virtual void setPosition(float x,float y,float z,float w = 0) = 0;
115 
117  virtual void setBackgroundImage(const std::string& filename) = 0;
118 
120  virtual void setColor(float r,float g,float b, float a) = 0;
121 
123  virtual void setOriginOffset( int xOffset, int yOffset ) = 0;
124 
126  virtual void setSize(float w, float h) = 0;
127 
132  virtual void setAltitudeSpecificSizes(
134 
139  virtual void clearAltitudeSpecificSizes();
140 
147  virtual void setIsForcedSizeByAltitudeEnabled(bool enabled);
148 
152  virtual void setAltitudeForForcedSize(double minimumAltitudeForUse);
153 
157  virtual void setLodOutAltitude(double lodOutAltitude) = 0;
158 
162  virtual void setIsLodOutAltitudeEnabled(bool isLodOutAltitudeEnabled) = 0;
163 
165  virtual void setPadding(float paddingX, float paddingY) = 0;
166 
169  virtual void setModelDefinition(const std::string& str) = 0;
170 
172  virtual void setEventsEnabled(bool enabled) = 0;
173 
175  virtual void setVisible(bool visible) = 0;
176 
179  virtual DtUniqueID id() const;
180 
185  virtual DtUniqueID parentId() const;
186 
193  virtual void registerUpdater(DtWidgetUpdater* updater);
194 
198  virtual void unregisterUpdater(DtWidgetUpdater* updater);
199 
201  virtual DtWidgetUpdater* updater();
202 
203  protected:
206  virtual void updateEventSignals() = 0;
207  protected:
213  };
214 }
float mySizeX
Definition: DtWidget.h:68
DtDynamicSizeConfiguration()
Definition: DtWidget.h:53
double myAltitude
Definition: DtWidget.h:67
DtDynamicSizeConfiguration(double altitude, float sizeX, float sizeY)
Definition: DtWidget.h:35
DtDynamicSizeConfiguration(double altitude, float sizeX, float sizeY, float offsetX, float offsetY)
Definition: DtWidget.h:43
DtDe & myDe
Definition: DtWidget.h:208
float myOffsetX
Definition: DtWidget.h:70
std::vector< DtDynamicSizeConfiguration > DtDynamicSizeConfigurationCollection
Definition: DtWidget.h:74
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
The abstract base class for widgets.
Definition: DtWidget.h:29
float mySizeY
Definition: DtWidget.h:69
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtSignalConnectionManager mySignalConnectionManager
Definition: DtWidget.h:211
DtUniqueID myParentId
Definition: DtWidget.h:210
Base class to provide boost signal/slot management.
DtUniqueID myId
Definition: DtWidget.h:209
DtWidgetUpdater * myUpdater
Definition: DtWidget.h:212
Contains makVrv::DtUniqueID type.
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:76
This updater provides a way to modifiy a set of widgets that are added to it. Typically a set of widg...
Definition: DtWidgetUpdater.h:31
float myOffsetY
Definition: DtWidget.h:71
Contains DLL export macros.

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)