VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtInfoWidgetUpdater.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
10 
11 #pragma once
12 
13 #include <vrvCore/vrvCore.h>
14 #include <vrvCore/DtTickable.h>
15 #include <vrvCore/DtUniqueID.h>
16 #include <vrvCore/DtForceManager.h>
17 
18 #include <vrvUtil/DtUnicode.h>
20 
21 namespace makVrv
22 {
23  class DtDe;
24  class DtWidgetLabel;
25  class DtSceneObject;
26  class DtCoordinateSystem;
27  class DtDisplayUnitsConverter;
28 
30  {
31  public:
33  DtInfoWidgetUpdater() = delete;
34 
36  DtInfoWidgetUpdater( const DtInfoWidgetUpdater& ) = delete;
37 
39  DtInfoWidgetUpdater& operator=( const DtInfoWidgetUpdater& ) = delete;
40 
43 
45  virtual ~DtInfoWidgetUpdater();
46 
48  virtual bool needsUpdate( DtTime tNow ) override;
49 
52  virtual void update( DtTime tNow ) override;
53 
55  virtual void setWidget( DtWidgetLabel* widget );
56 
59  virtual void setSceneObject( DtSceneObject* sceneObject );
60 
62  virtual void slot_sceneObjectToBeDeleted( const DtUniqueID& id );
63 
65  virtual void slot_coordinateSystemChanged();
66 
68  virtual void setDisplayUnitCollection( const DtUnicode& displayUnitType );
69 
71  virtual void setForceType( int force );
72 
74  virtual void setDisplayStrings( std::string displayName,
75  std::string objectType, std::string identifierString );
76 
79  virtual void setVisible( bool v );
80  protected:
82  virtual void updateDisplayUnitCollectionNameIfNeeded( );
83 
89  virtual void updateBasedOnLatestDisplayUnitSettings( );
90 
95  virtual void connectToDisplayUnitSettingSignals();
96 
99  virtual DtUnicode generateInfoString( DtTime tNow ) const;
100  protected:
104 
106 
110  boost::signalslib::connection mySceneObjectConnection;
111 
114 
115  DtForceType myForceType;
116  std::string myForceName;
117 
118  std::string myDisplayName;
119  std::string myObjectType;
120  std::string myIdentifierString;
121 
122  // Only tick this object if it is visible
125 
127 
130  DtCoordinateSystem* myCoordinateSystem = nullptr;
131  };
132 }
std::string myIdentifierString
Definition: DtInfoWidgetUpdater.h:120
std::string myDisplayName
Definition: DtInfoWidgetUpdater.h:118
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
bool myIsVisible
Definition: DtInfoWidgetUpdater.h:123
An abstract base class for objects that require updates. This object automatically adds itself to a D...
Definition: DtTickable.h:26
std::string myForceName
Definition: DtInfoWidgetUpdater.h:116
DtSignalConnectionManager myConnections
Definition: DtInfoWidgetUpdater.h:126
std::string myObjectType
Definition: DtInfoWidgetUpdater.h:119
DtWidgetLabel * myWidgetLabel
Definition: DtInfoWidgetUpdater.h:102
DtForceType myForceType
Definition: DtInfoWidgetUpdater.h:115
DtDe & myDe
Definition: DtInfoWidgetUpdater.h:101
DtUnicode myDisplayUnitCollectionName
Definition: DtInfoWidgetUpdater.h:112
DtTime myLastUpdateTime
Definition: DtInfoWidgetUpdater.h:124
const DtDisplayUnitsConverter & myDisplayUnitsConverter
Definition: DtInfoWidgetUpdater.h:105
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
This is the implementation independent widget class for showing text.
Definition: DtWidgetLabel.h:26
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
DtSceneObject * mySceneObject
Definition: DtInfoWidgetUpdater.h:103
Utility class for doing global unit conversion. All conversions functions use the following naming co...
Definition: DtDisplayUnitsSettingsManager.h:61
bool myDisplayUnitInformationIsInitialized
Definition: DtInfoWidgetUpdater.h:113
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
Contains makVrv::DtForceManager class.
Base class to provide boost signal/slot management.
Contains the declaration for makVrv::DtTickable.
A DtSceneObject represents an object that can be positioned in the scene by (possibly) attaching it t...
Definition: DtSceneObject.h:42
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:70
Definition: DtInfoWidgetUpdater.h:29
boost::signalslib::connection mySceneObjectConnection
When the class is destructed, the scene object may or may not exist. Using a separate connection vari...
Definition: DtInfoWidgetUpdater.h:110
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)