VR-Forces 4.3 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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 
19 namespace makVrv
20 {
21  class DtSimEntryObjectAgent;
22 
23  namespace DT_PROTOCOL_NAMESPACE
24  {
25  class DtVrlinkConnection;
26  class DtEntityElementProcessor;
27  class DtAggregateElementProcessor;
29  class DtVrlinkAggregateStateListener;
30  }
31 }
32 
33 namespace makVrf
34 {
35  class DtPropulsionNoiseStateObjectAgent;
36 
37  namespace VRF_PROTOCOL_NAMESPACE
38  {
39  class DtPropulsionNoiseExistenceListener;
40  class DtVrlinkPropulsionNoiseStateListener;
41 
44  {
45  public:
48 
51 
54 
57 
59  virtual void postDrainInput();
60 
62  virtual void setObjectUpdateRate(makVrv::DtUniqueID uniqueId, makVrv::DtSimEntryUpdater::UpdateRate rate);
63 
65  virtual void forceObjectUpdate(makVrv::DtUniqueID uniqueId);
66 
68  virtual void propulsionNoiseDiscovered(DtVrlinkPropulsionNoiseStateListener& listener);
69 
71  virtual void propulsionNoiseToBeDeleted(DtVrlinkPropulsionNoiseStateListener& listener);
72 
73  virtual void entityToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkEntityStateListener& listener);
74  virtual void aggregateToBeDeleted(makVrv::DT_PROTOCOL_NAMESPACE::DtVrlinkAggregateStateListener& listener);
75 
77  virtual void createAndSendState(makVrv::DtElementID entity,
78  DtPropulsionNoiseStateObjectAgent& objectDriver);
79  virtual void setState(DtVrlinkPropulsionNoiseStateListener& listener,
81 
82  boost::signal<void (makVrv::DtUniqueID, DtPropulsionNoiseStateData)> signal_stateUpdated;
83  boost::signal<void (makVrv::DtUniqueID, DtPropulsionNoiseStateData)> signal_stateAdded;
84 
85  protected:
86 
87  static void postDrainInput(void* usr);
88 
89  virtual void slot_postUpdateCallback(DtVrlinkPropulsionNoiseStateListener&);
90 
91  protected:
92 
93  //A Listener and a driver which will be updated with it.
95  {
96  public:
97 
99  DtPropulsionNoiseStateObjectAgent& driver, DtPropulsionNoiseSimDataProcessor& processor);
100 
102 
104 
105  //Are the updaters equal
106  bool operator==(const PropulsionNoiseStateUpdater& orig) const;
107 
109  void update(double timeT);
110 
111  protected:
112 
114  DtPropulsionNoiseStateObjectAgent* myObjectAgent;
116  };
117 
118  typedef std::vector<makVrv::DtUniqueID> PropulsionNoiseIdList;
119 
120  typedef std::map<DtString, DtVrlinkPropulsionNoiseStateListener*> PropulsionNoiseListeners;
122  {
124  DtPropulsionNoiseStateObjectAgent* myAgent;
125  std::string myHostId;
127  };
128 
129  typedef std::map<makVrv::DtUniqueID,PropulsionNoiseSimDataInstance > PropulsionNoiseAgentMap;
130 
132  typedef std::map<makVrv::DtSimEntryUpdater::UpdateRate,PropulsionNoiseUpdaterGroup>
134 
135  protected:
137 
142  DtTimedSection myTimer;
143 
147 
148  typedef std::map<makVrv::DtUniqueID, DtPropulsionNoiseStateData> PropulsionNoiseStates;
150  };
151  }
152 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)