VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
propulsionNoiseSimDataProcessor.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
9 
10 #pragma once
11 
18 #include <vlutil/vlPerformanceStats.h>
19 
20 namespace makVrv
21 {
22  class DtSimEntryObjectAgent;
23 
24  namespace DT_PROTOCOL_NAMESPACE
25  {
26  class DtVrlinkConnection;
27  class DtEntityElementProcessor;
28  class DtAggregateElementProcessor;
30  class DtVrlinkAggregateStateListener;
31  }
32 }
33 
34 namespace makVrf
35 {
36  class DtPropulsionNoiseStateObjectAgent;
37 
38  namespace VRF_PROTOCOL_NAMESPACE
39  {
40  class DtPropulsionNoiseExistenceListener;
41  class DtVrlinkPropulsionNoiseStateListener;
42 
45  {
46  public:
49 
52 
55 
58 
60  virtual void postDrainInput();
61 
63  virtual void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
64 
66  virtual void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
67 
69  virtual void propulsionNoiseDiscovered(DtVrlinkPropulsionNoiseStateListener& listener);
70 
72  virtual void propulsionNoiseToBeDeleted(DtVrlinkPropulsionNoiseStateListener& listener);
73 
74  virtual void entityToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
75  virtual void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
76 
78  virtual void createAndSendState(makVrv::DtElementID entity,
79  DtPropulsionNoiseStateObjectAgent& objectDriver);
80  virtual void setState(DtVrlinkPropulsionNoiseStateListener& listener,
82 
83  boost::signals2::signal<void (makVrv::DtUniqueID, DtPropulsionNoiseStateData)> signal_stateUpdated;
84  boost::signals2::signal<void (makVrv::DtUniqueID, DtPropulsionNoiseStateData)> signal_stateAdded;
85 
86  protected:
87 
88  static void postDrainInput(void* usr);
89 
90  virtual void slot_postUpdateCallback(DtVrlinkPropulsionNoiseStateListener&);
91 
92  protected:
93 
94  //A Listener and a driver which will be updated with it.
96  {
97  public:
98 
100  DtPropulsionNoiseStateObjectAgent& driver, DtPropulsionNoiseSimDataProcessor& processor);
101 
103 
105 
106  //Are the updaters equal
107  bool operator==(const PropulsionNoiseStateUpdater& orig) const;
108 
110  void update(double timeT);
111 
112  protected:
113 
115  DtPropulsionNoiseStateObjectAgent* myObjectAgent;
117  };
118 
119  typedef std::vector<makVrv::DtUniqueID> PropulsionNoiseIdList;
120 
121  typedef std::map<DtString, DtVrlinkPropulsionNoiseStateListener*> PropulsionNoiseListeners;
123  {
125  DtPropulsionNoiseStateObjectAgent* myAgent;
126  std::string myHostId;
128  };
129 
130  typedef std::map<makVrv::DtUniqueID,PropulsionNoiseSimDataInstance > PropulsionNoiseAgentMap;
131 
133  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,PropulsionNoiseUpdaterGroup>
135 
136  protected:
138 
143  DtTimedSection myTimer;
144 
148 
149  typedef std::map<makVrv::DtUniqueID, DtPropulsionNoiseStateData> PropulsionNoiseStates;
151  };
152 
154  {
155  public:
158 
160 
163  static void registerInstance(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection& conn,
165 
167  };
168  }
169 }
DtTimedSection myTimer
Definition: propulsionNoiseSimDataProcessor.h:143
Contains makVrv::DtSimDataProcessorInterface class.
Virtual base class.
Definition: DtVirtualBaseClass.h:22
#define VRF_PROTOCOL_EXPORT
Definition: vrfProtocol.h:24
PropulsionNoiseStates myPropulsionNoiseStates
Definition: propulsionNoiseSimDataProcessor.h:150
UpdateRate
Definition: DtSimEntryUpdater.h:34
Definition: propulsionNoiseStateData.h:26
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
PropulsionNoiseUpdateGroupMap myRefreshRateGroups
Definition: propulsionNoiseSimDataProcessor.h:146
DtPropulsionNoiseExistenceListener & myListener
Definition: propulsionNoiseSimDataProcessor.h:142
DtPropulsionNoiseSimDataProcessor * myProcessor
Definition: propulsionNoiseSimDataProcessor.h:116
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
makVrv::DT_PROTOCOL_NAMESPACE::DtAggregateElementProcessor * myAggregateElementProcessor
Definition: propulsionNoiseSimDataProcessor.h:141
std::map< makVrv::DtSimEntryUpdater::UpdateRate, PropulsionNoiseUpdaterGroup > PropulsionNoiseUpdateGroupMap
Definition: propulsionNoiseSimDataProcessor.h:134
boost::signals2::signal< void(makVrv::DtUniqueID, DtPropulsionNoiseStateData)> signal_stateUpdated
Definition: propulsionNoiseSimDataProcessor.h:83
makVrv::DtBalancedUpdater< PropulsionNoiseStateUpdater > PropulsionNoiseUpdaterGroup
Definition: propulsionNoiseSimDataProcessor.h:132
The protocol specific processor for propulsionNoise sim data.
Definition: propulsionNoiseSimDataProcessor.h:44
#define VRF_PROTOCOL_NAMESPACE
Definition: vrfDis.h:18
DtPropulsionNoiseStateObjectAgent * myObjectAgent
Definition: propulsionNoiseSimDataProcessor.h:115
std::vector< makVrv::DtUniqueID > PropulsionNoiseIdList
Definition: propulsionNoiseSimDataProcessor.h:119
std::map< DtString, DtVrlinkPropulsionNoiseStateListener * > PropulsionNoiseListeners
Definition: propulsionNoiseSimDataProcessor.h:121
makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkConnection & mySimulation
Definition: propulsionNoiseSimDataProcessor.h:139
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
The DtAggregateElementProcessor will connect to the DtAggregateExistenceListener and handle the creat...
Definition: DtAggregateElementProcessor.h:47
DtBalanacedUpdater updates updatee classes at a desired rate in a fair (each instance gets the same n...
Definition: DtBalancedUpdater.h:29
Definition: propulsionNoiseSimDataProcessor.h:153
std::map< makVrv::DtUniqueID, PropulsionNoiseSimDataInstance > PropulsionNoiseAgentMap
Definition: propulsionNoiseSimDataProcessor.h:130
boost::signals2::signal< void(makVrv::DtUniqueID, DtPropulsionNoiseStateData)> signal_stateAdded
Definition: propulsionNoiseSimDataProcessor.h:84
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Methods a data processor needs to implement to be considered a data processor.
Definition: DtSimDataProcessorInterface.h:24
makVrv::DtSignalConnectionManager myConnections
Definition: propulsionNoiseSimDataProcessor.h:137
PropulsionNoiseAgentMap myPropulsionNoiseAgents
Definition: propulsionNoiseSimDataProcessor.h:145
PropulsionNoiseListeners myListeners
Definition: propulsionNoiseSimDataProcessor.h:124
#define DT_PROTOCOL_NAMESPACE
Make VR-Vantage VRLink code export with library #ifdef DL_DLL_IGCONVRLINK #undef DL_DLL_IGCONVRLINK #...
Definition: export.h:32
Contains makVrv::DtSimEntryUpdater class.
Contains makVrv::DtBalancedUpdater class.
Base class to provide boost signal/slot management.
makVrv::DtElementID myEntity
Definition: propulsionNoiseSimDataProcessor.h:114
The DtEntityElementProcessor will connect to the DtEntityExistenceListener and handle the creation of...
Definition: DtEntityElementProcessor.h:38
makVrv::DT_PROTOCOL_NAMESPACE::DtEntityElementProcessor * myEntityElementProcessor
Definition: propulsionNoiseSimDataProcessor.h:140
The reflected propulsion noise list used by the driver to listen to reflected propulsion noise object...
Definition: propulsionNoiseExistenceListener.h:64
std::map< makVrv::DtUniqueID, DtPropulsionNoiseStateData > PropulsionNoiseStates
Definition: propulsionNoiseSimDataProcessor.h:149
PropulsionNoiseIdList myForceUpdateList
Definition: propulsionNoiseSimDataProcessor.h:147
makVrv::DtSimEntryUpdater::UpdateRate myRate
Definition: propulsionNoiseSimDataProcessor.h:127
DtPropulsionNoiseStateObjectAgent * myAgent
Definition: propulsionNoiseSimDataProcessor.h:125

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)