VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
externalDataVisualManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
18 
19 #pragma once
20 
21 #include <vrfGuiCore/vrfGuiCore.h>
23 
24 
25 #include <vrvCore/DtUniqueID.h>
28 
29 #include <boost/bind.hpp>
30 
31 namespace makVrv
32 {
33  class DtDe;
34  class DtStateListener;
35  class DtVisualizerCreationSettings;
36 }
37 
38 namespace makVrf
39 {
40  class DtExternalDataVisualHandlerInterface;
41  class DtExternalDataVisualHandlerCreatorInterface;
42  class DtVrfSpotReportElement;
43  class DtSpotReportListenerImplementation;
44 
46  {
47  public:
48 
50  static DtExternalDataVisualManager& instance(makVrv::DtDe& de);
51 
52  public:
53  typedef std::map<makVrv::DtUniqueID, DtExternalDataVisualHandlerInterface*> ExternalDataHandlers;
54 
57  virtual void addExternalDataHandler(const std::string& s, DtExternalDataVisualHandlerCreatorInterface*);
58 
59  virtual void removeExternalDataHandler(const std::string& s);
60 
62  virtual void reset();
63 
65  const ExternalDataHandlers& externalDataVisualHandlers() { return myExternalDataHandlers; };
66 
68  boost::signals2::signal<void (DtVrfSpotReportElement*, makVrv::DtStateListener*)> signal_externalDataVisualizerCreated;
69 
70  virtual DtExternalDataVisualHandlerInterface* createExternalDataVisualHandler(const std::string& s, makVrv::DtUniqueID) const;
71 
73  virtual void createVisualizersByType( makVrv::DtModelSetId modelSet, int visualType );
74  virtual void destroyVisualizersByType( makVrv::DtModelSetId modelSet, int visualType );
75 
77  virtual const DtSpotReportListenerImplementation* spotReportListenerFor(makVrv::DtUniqueID id) const;
78  virtual DtSpotReportListenerImplementation* spotReportListenerFor(makVrv::DtUniqueID id);
79 
80  protected:
81 
84  virtual void slot_onStateViewAdded(const makVrv::DtStateView<DtExternalDataState>&);
85 
89  virtual void slot_stateViewAboutToBeRemoved(const makVrv::DtStateView<DtExternalDataState>&);
90 
92  virtual void slot_stateViewUpdated(makVrv::DtStateView<DtExternalDataState>*);
93 
95  virtual void createExternalDataFor(const DtExternalDataState&, makVrv::DtUniqueID);
96 
99  virtual void tick();
100 
101  protected:
104 
106  virtual ~DtExternalDataVisualManager();
107 
108  protected:
109  typedef std::map<std::string, DtExternalDataVisualHandlerCreatorInterface*> ExternalDataHandlerCreators;
110 
117  };
118 }
makVrv::DtVisualizerCreationSettings * myVisualTypeVisualizerSettings
Definition: externalDataVisualManager.h:116
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
ExternalDataHandlerCreators myExternalDataHandlerCreators
Definition: externalDataVisualManager.h:113
General dictionary of values that state can subclass from to hold information that is considered &quot;ext...
Definition: externalDataState.h:25
Definition: spotReportListenerImplementation.h:24
makVrv::DtSignalConnectionManager myConnections
Definition: externalDataVisualManager.h:112
makVrv::DtDe & myDe
Definition: externalDataVisualManager.h:111
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< std::string, DtExternalDataVisualHandlerCreatorInterface * > ExternalDataHandlerCreators
Definition: externalDataVisualManager.h:109
Contains makVrv::DtVirtualBaseClass class.
ExternalDataHandlers myExternalDataHandlers
Definition: externalDataVisualManager.h:114
A DtStateView is a the interface to simulation state information. Users can create DtStateViews for s...
Definition: DtStateView.h:49
std::map< makVrv::DtUniqueID, DtExternalDataVisualHandlerInterface * > ExternalDataHandlers
Definition: externalDataVisualManager.h:53
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
double myLastSimTime
Definition: externalDataVisualManager.h:115
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: externalDataVisualHandlerInterface.h:26
Base class to provide boost signal/slot management.
Definition: externalDataVisualManager.h:45
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:72
DtModelSetId
Definition: DtModelSetEnums.h:19
Definition: externalDataVisualHandlerInterface.h:78
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

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)