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 #include <vrvCore/DtUniqueID.h>
27 
28 #include <boost/bind/bind.hpp>
29 
30 namespace makVrv
31 {
32  class DtDe;
33  class DtStateListener;
34  class DtVisualizerCreationSettings;
35 }
36 
37 namespace makVrf
38 {
39  class DtStateComponent;
40  class DtGuiLocalObject;
41  class DtExternalDataVisualHandlerInterface;
42  class DtExternalDataVisualHandlerCreatorInterface;
43  class DtVrfSpotReportElement;
44  class DtSpotReportListenerImplementation;
45  struct DtSpotReportStateComponentData;
46 
48  {
49  public:
50 
52  static DtExternalDataVisualManager& instance(makVrv::DtDe& de);
53 
54  public:
55  typedef std::map<makVrv::DtUniqueID, DtExternalDataVisualHandlerInterface*> ExternalDataHandlers;
56 
59  virtual void addExternalDataHandler(const std::string& s, DtExternalDataVisualHandlerCreatorInterface*);
60 
61  virtual void removeExternalDataHandler(const std::string& s);
62 
64  virtual void reset();
65 
67  const ExternalDataHandlers& externalDataVisualHandlers() { return myExternalDataHandlers; };
68 
70  boost::signals2::signal<void (DtVrfSpotReportElement*, makVrv::DtStateListener*)> signal_externalDataVisualizerCreated;
71 
72  virtual DtExternalDataVisualHandlerInterface* createExternalDataVisualHandler(const DtUUID&, const std::string& s, makVrv::DtUniqueID) const;
73 
75  virtual void createVisualizersByType( makVrv::DtModelSetId modelSet, int visualType );
76  virtual void destroyVisualizersByType( makVrv::DtModelSetId modelSet, int visualType );
77 
79  virtual const DtSpotReportListenerImplementation* spotReportListenerFor(makVrv::DtUniqueID id) const;
80  virtual DtSpotReportListenerImplementation* spotReportListenerFor(makVrv::DtUniqueID id);
81 
82  protected:
83 
86  virtual void slot_localObjectAdded(DtGuiLocalObject*);
87 
91  virtual void slot_localObjectRemoved(DtGuiLocalObject*);
92  virtual void slot_objectDeleted(DtSimObjectReference);
93  virtual void objectDeleted(makVrv::DtUniqueID);
94 
96  virtual void slot_spotReportUpdated(DtGuiLocalObject*);
97  virtual void slot_spotReportLocationComponentUpdated(DtGuiLocalObject*);
98 
100  virtual void createExternalDataFor(const DtUUID& spotReportUUID, const DtSpotReportStateComponentData&, makVrv::DtUniqueID);
101 
104  virtual void tick();
105 
106  protected:
109 
111  virtual ~DtExternalDataVisualManager() override;
112 
113  protected:
114  typedef std::map<std::string, DtExternalDataVisualHandlerCreatorInterface*> ExternalDataHandlerCreators;
115 
122  };
123 }
makVrv::DtVisualizerCreationSettings * myVisualTypeVisualizerSettings
Definition: externalDataVisualManager.h:121
UUID is a unique ID wrapper class.
Definition: uuid.h:59
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:118
Definition: spotReportListenerImplementation.h:28
makVrv::DtSignalConnectionManager myConnections
Definition: externalDataVisualManager.h:117
makVrv::DtDe & myDe
Definition: externalDataVisualManager.h:116
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
std::map< std::string, DtExternalDataVisualHandlerCreatorInterface * > ExternalDataHandlerCreators
Definition: externalDataVisualManager.h:114
Contains makVrv::DtVirtualBaseClass class.
ExternalDataHandlers myExternalDataHandlers
Definition: externalDataVisualManager.h:119
std::map< makVrv::DtUniqueID, DtExternalDataVisualHandlerInterface * > ExternalDataHandlers
Definition: externalDataVisualManager.h:55
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
0) Define the State Component Data. This struct replaces the legion stuff
Definition: spotReportStateComponent.h:25
double myLastSimTime
Definition: externalDataVisualManager.h:120
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Definition: guiLocalObject.h:18
Definition: externalDataVisualHandlerInterface.h:27
Base class to provide boost signal/slot management.
Definition: externalDataVisualManager.h:47
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:76
DtModelSetId
Definition: DtModelSetEnums.h:19
Definition: externalDataVisualHandlerInterface.h:83
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 Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)