VR-Forces 4.8 Class Documentation
 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 #include <vrvUtil/signalslib.h>
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 DtVrfSpotReportVisualizer;
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 (DtVrfSpotReportVisualizer*, makVrv::DtStateListener*)> signal_externalDataVisualizerCreated;
69 
70  virtual DtExternalDataVisualHandlerInterface* createExternalDataVisualHandler(const std::string& s, makVrv::DtUniqueID) const;
71 
73  virtual void createVisualizersByType( int modelSet, int visualType );
74  virtual void destroyVisualizersByType( int 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.
Definition: DtVirtualBaseClass.h:22
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:23
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.
Definition: DtStateView.h:52
std::map< makVrv::DtUniqueID, DtExternalDataVisualHandlerInterface * > ExternalDataHandlers
Definition: externalDataVisualManager.h:53
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
double myLastSimTime
Definition: externalDataVisualManager.h:115
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
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.
Definition: DtDe.h:69
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.
Definition: DtVisualizerCreationSettings.h:26

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)