VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rangeLineSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2020 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
6 #pragma once
7 
8 #include <vrvCore/vrvCore.h>
9 
11 
13 
14 
15 #include <boost/unordered_map.hpp>
16 
17 #include <matrix/vlVector.h>
18 
19 namespace makVrv
20 {
21  class DtDe;
22 }
23 
24 namespace makVrf
25 {
29  : public makVrv::DtBaseSettingsManager<makVrf::DtRangeLineSettingsRecord>
30  {
31  public:
32 
34  static DtRangeLineSettingsManager& instance( makVrv::DtDe& de );
35 
37  virtual ~DtRangeLineSettingsManager();
38 
41 
43  void setRangeLinesVisible( bool enabled );
45  bool rangeLinesVisible() const;
46 
48  void setColor( float r, float g, float b, float a );
50  void color( float& r, float& g, float& b, float& a ) const;
51 
53  void setRangeInfoLabelBackgroundColor( float r, float g, float b, float a );
55  void rangeInfoLabelBackgroundColor( float& r, float& g, float& b, float& a ) const;
56 
58  void setFontColor( float r, float g, float b, float a );
60  void fontColor( float& r, float& g, float& b, float& a ) const;
61 
63  void setFontSize(int);
65  int fontSize() const;
66 
68  void setLineWidth(int);
70  int lineWidth() const;
71 
73  void setHatLinesEnabled( bool hatEnabled );
75  bool hatLinesEnabled() const;
76 
78  void setHatLinesOnSelectionOnly( bool selOnly );
80  bool hatLinesOnSelectionOnly() const;
81 
83 
86 
87  boost::signals2::signal<void (bool)> signal_rangeLinesVisibleChanged;
88  boost::signals2::signal<void (int)> signal_fontSizeChanged;
89  boost::signals2::signal<void (int)> signal_lineWidthChanged;
90  boost::signals2::signal<void (bool)> signal_hatLinesEnabledSet;
91  boost::signals2::signal<void (bool)> signal_hatLinesOnSelectionOnlySet;
92  boost::signals2::signal<void (float r, float g, float b, float a)> signal_colorSet;
93  boost::signals2::signal<void (float r, float g, float b, float a)> signal_fontColorSet;
94  boost::signals2::signal<void (float r, float g, float b, float a)> signal_rangeInfoBackgroundColorSet;
95 
97 
100 
102  virtual void setFromRecord( const DtRangeLineSettingsRecord& rec );
103 
105  virtual void getRecord( DtRangeLineSettingsRecord& rec ) const;
106 
107  void setAutoSave(bool b);
108  bool autoSave() const;
109 
111 
112  protected:
113 
115  template <typename ManagerClass>
116  friend ManagerClass& makVrv::defaultManagerInstanceFunction( makVrv::DtDe&, bool );
117 
119  template <typename ManagerClass>
120  friend void makVrv::defaultManagerRegisterInstanceFunction( makVrv::DtDe&, ManagerClass* );
121 
124 
126  virtual void completeSetup();
127 
128  protected:
130  };
131 }
132 
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:271
boost::signals2::signal< void(int)> signal_lineWidthChanged
Definition: rangeLineSettingsManager.h:89
boost::signals2::signal< void(float r, float g, float b, float a)> signal_colorSet
Definition: rangeLineSettingsManager.h:92
DtRangeLineSettingsRecord mySettings
Definition: rangeLineSettingsManager.h:129
boost::signals2::signal< void(bool)> signal_hatLinesEnabledSet
Definition: rangeLineSettingsManager.h:90
boost::signals2::signal< void(float r, float g, float b, float a)> signal_rangeInfoBackgroundColorSet
Definition: rangeLineSettingsManager.h:94
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Record class for Range Line settings.
Definition: rangeLineSettingsRecord.h:20
boost::signals2::signal< void(float r, float g, float b, float a)> signal_fontColorSet
Definition: rangeLineSettingsManager.h:93
boost::signals2::signal< void(int)> signal_fontSizeChanged
Definition: rangeLineSettingsManager.h:88
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:866
This manager will manage settings for intervisibility objects.
Definition: rangeLineSettingsManager.h:28
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:828
boost::signals2::signal< void(bool)> signal_rangeLinesVisibleChanged
Definition: rangeLineSettingsManager.h:87
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
boost::signals2::signal< void(bool)> signal_hatLinesOnSelectionOnlySet
Definition: rangeLineSettingsManager.h:91
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)