VR-Forces 4.6.1 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::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 }

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)