VR-Forces 4.6 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::signal<void (makVrv::DtUniqueID, DtPropulsionNoiseStateData)> signal_stateUpdated;
84  boost::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 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)