VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTDLMessageDataProcessor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2017 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
15 
16 #pragma once
17 
18 #include <vrfGuiCore/vrfGuiCore.h>
19 
20 #include <vrvCore/DtUniqueID.h>
25 #include <vrfutil/rwUUID.h>
26 
27 #include <boost/bind.hpp>
28 
29 class DtSpotReport;
30 
31 namespace makVrv
32 {
33  class DtDe;
34  class DtSimEntryObjectAgent;
35  class DtSimObjectEntry;
36 }
37 
38 namespace makVrf
39 {
40  class DtVrfTDLMessageDataHandler;
41  class DtVrfSimBackendManager;
42  class DtTDLGenericNetworkMessage;
43  class DtVrfTDLMessageDataHandlerCreatorInterface;
44 
46  {
47  public:
48 
50  static DtVrfTDLMessageDataProcessor& instance(makVrv::DtDe& de);
51 
53  void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
54 
55  public:
56 
61  virtual bool addOrUpdateTDLMessage(const std::string& type, const DtTDLGenericNetworkMessage& message);
62 
64  virtual void removeTDLMessage(makVrv::DtUniqueID id);
65 
67  virtual void removeTDLMessage(const std::string& uniqueIdentifier);
68 
70  virtual void removeAllTDLMessages();
71 
74  virtual void addTDLMessageDataHandler(const std::string& s, DtVrfTDLMessageDataHandlerCreatorInterface*);
75 
76  virtual void removeTDLMessageDataHandler(const std::string& s);
77 
78  virtual bool isTDLMessageData(makVrv::DtUniqueID id) const;
79 
80  protected:
81  virtual DtVrfTDLMessageDataHandler* createVrfTDLMessageDataHandler(const std::string& type, makVrv::DtUniqueID) const;
82 
84  virtual bool createTDLMessageData(const std::string& type, const DtTDLGenericNetworkMessage&);
85 
88  virtual void slot_simObjectEntryAboutToBeRemoved(makVrv::DtSimObjectEntry& entry);
89 
90  virtual DtVrfSimBackendManager& backendManager() const;
91 
92  virtual double simTime() const;
93 
94  protected:
97 
100 
102  virtual void tick();
103 
104  protected:
106  makVrv::DtSimEntryObjectAgent* mySimEntryAgent;
107 
108  typedef std::map<std::string, DtVrfTDLMessageDataHandler*> VrfTDLMessageDataHandlers;
110 
111  typedef std::map<makVrv::DtUniqueID, DtVrfTDLMessageDataHandler*> VrfTDLMessageDataHandlersById;
113 
115 
116  typedef std::set<makVrv::DtUniqueID> VrfTDLMessageDataIdList;
118 
120 
121  typedef std::map<std::string, DtVrfTDLMessageDataHandlerCreatorInterface*> VrfTDLMessageDataHandlerCreators;
123  };
124 }
Contains makVrv::DtSimDataProcessorInterface class.
makVrv::DtSignalConnectionManager myConnections
Definition: vrfTDLMessageDataProcessor.h:105
VrfTDLMessageDataIdList myForceUpdateList
Definition: vrfTDLMessageDataProcessor.h:117
makVrv::DtDe & myDe
Definition: vrfTDLMessageDataProcessor.h:119
std::set< makVrv::DtUniqueID > VrfTDLMessageDataIdList
Definition: vrfTDLMessageDataProcessor.h:116
Contains the DtUUID class declaration.
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
makVrv::DtSimEntryObjectAgent * mySimEntryAgent
Definition: vrfTDLMessageDataProcessor.h:106
std::map< makVrv::DtUniqueID, DtVrfTDLMessageDataHandler * > VrfTDLMessageDataHandlersById
Definition: vrfTDLMessageDataProcessor.h:111
std::map< std::string, DtVrfTDLMessageDataHandlerCreatorInterface * > VrfTDLMessageDataHandlerCreators
Definition: vrfTDLMessageDataProcessor.h:121
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
Definition: vrfTDLMessageDataProcessor.h:45
Definition: tdlGenericNetworkMessage.h:20
Definition: vrfTDLMessageDataHandler.h:33
VrfTDLMessageDataHandlersById myVrfTDLMessageDataHandlersById
Definition: vrfTDLMessageDataProcessor.h:112
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
std::map< std::string, DtVrfTDLMessageDataHandler * > VrfTDLMessageDataHandlers
Definition: vrfTDLMessageDataProcessor.h:108
Methods a data processor needs to implement to be considered a data processor.
Definition: DtSimDataProcessorInterface.h:24
DtVrfSimBackendManager * myBackendManager
Definition: vrfTDLMessageDataProcessor.h:114
Contains makVrv::DtSimEntryUpdater class.
Contains makVrv::DtBalancedUpdater class.
Base class to provide boost signal/slot management.
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:77
Definition: vrfTDLMessageDataHandler.h:81
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:70
VrfTDLMessageDataHandlerCreators myVrfTDLMessageDataHandlerCreators
Definition: vrfTDLMessageDataProcessor.h:122
VrfTDLMessageDataHandlers myVrfTDLMessageDataHandlers
Definition: vrfTDLMessageDataProcessor.h:109
DtSpotReport; subclass of DtSimReport.
Definition: spotReport.h:35

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)