VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtVisualizerCreationSettings.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2022 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
16 
17 #include <unordered_map>
18 
19 namespace makVrv
20 {
21  class DtSharedSettingsManager;
22  enum class DtModelSetId;
23 
34  {
35  public:
39  typedef std::unordered_map<int, bool> ModelSetVisualizerCreationMap;
40 
43  typedef std::unordered_map<DtModelSetId, ModelSetVisualizerCreationMap> VisualTypeVisualizerCreationMap;
44 
47 
50 
53 
56 
58  DtVisualizerCreationSettings& operator=( const DtVisualizerCreationSettings& ) = delete;
59 
61  const VisualTypeVisualizerCreationMap& visualTypeVisualizerCreationMap() const;
62 
68  virtual void connectToSettingsSignals();
69 
72  void setVisualizerCreationEnabled( DtModelSetId modelSet, int visualType, bool enabled );
73 
76  bool visualizerCreationEnabled( DtModelSetId modelSet, int visualType ) const;
77 
82  virtual void slot_visualizerCreationEnabled( DtModelSetId modelSet, int visualType );
83  boost::signalslib::signal<void( DtModelSetId, int )> signal_visualizerCreationEnabled;
84 
89  virtual void slot_visualizerCreationDisabled( DtModelSetId modelSet, int visualType );
90  boost::signalslib::signal<void( DtModelSetId, int )> signal_visualizerCreationDisabled;
91  protected:
96  };
97 }
DtSharedSettingsManager & mySharedSettingsManager
Definition: DtVisualizerCreationSettings.h:94
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::unordered_map< DtModelSetId, ModelSetVisualizerCreationMap > VisualTypeVisualizerCreationMap
Map that indicates whether a visualizer should be created, by visual type, for all given model sets...
Definition: DtVisualizerCreationSettings.h:43
boost::signalslib::signal< void(DtModelSetId, int)> signal_visualizerCreationEnabled
Definition: DtVisualizerCreationSettings.h:83
The shared settings manager, is the global object responsible for managing any shared settings object...
Definition: DtSharedSettingsManager.h:42
Contains makVrv::DtVirtualBaseClass class.
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
boost::signalslib::signal< void(DtModelSetId, int)> signal_visualizerCreationDisabled
Definition: DtVisualizerCreationSettings.h:90
Base class to provide boost signal/slot management.
DtModelSetId
Definition: DtModelSetEnums.h:19
DtSignalConnectionManager myConnections
Definition: DtVisualizerCreationSettings.h:95
std::unordered_map< int, bool > ModelSetVisualizerCreationMap
Map that indicates whether a visualizer should be created, by visual type, for a given model set (Vis...
Definition: DtVisualizerCreationSettings.h:39
VisualTypeVisualizerCreationMap myVisualTypeVisualizerCreationMap
The Viuualizer Creation Map.
Definition: DtVisualizerCreationSettings.h:93
Container class which indicates which visualizers need to be created for each modelSet, based on whether that visualizer visualizes something that is currently enabled and if the visualizer is create-on-demand vs. create-always. Visualizers with visual types not in the map are treated as needing to be created (hence the map only suppresses creation of unneeded visualizers). Once these settings have been initialized connestToSettingsSignals() should be called so that these settings are kept up to date with the settings in the GUI.
Definition: DtVisualizerCreationSettings.h:33
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)