MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisSimOutput.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2016 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 #include <lgrSim/lgrSim.h>
15 #include <lgrCore/lgrSimOutput.h>
16 #include <map>
18 
19 #include <vl/objectId.h>
20 
21 class DtEntityPublisher;
23 class DtPdu;
24 class DtExerciseConn;
25 
26 namespace MAKLogger
27 {
28 
29  class DtLgrDisSimulationManager;
30  class DtLgrDisMessageIOInfo;
31  class DtMessageIOInfo;
32  class DtConstLgrDisMessage;
33  class DtLgrPublisherInterface;
34 
37  class DT_DLL_LGRSIM DtLgrDisSimOutput : public DtLgrSimOutput
38  {
39  public:
40 
41  DT_VIRTUAL_CTR(DtLgrDisSimOutput,(DtLgrDisSimulationManager* manager))
42  DT_VIRTUAL_BASE_CTR(DtLgrSimOutput,(DtLgrDisSimulationManager* manager))
43 
44  virtual ~DtLgrDisSimOutput();
45 
46  private:
48  DtLgrDisSimOutput(const DtLgrDisSimOutput&);
50  DtLgrDisSimOutput& operator=(const DtLgrDisSimOutput&);
51  public:
52 
53 
54  virtual DtLgrSimOutput::PacketSenderType packetSenderType(const DtPacket&) const;
55 
57  virtual void disconnecting();
58 
61  virtual void activateImplementation();
62 
65  virtual void deactivateImplementation();
66 
67  virtual const DtMessageIOInfo* info() const;
68 
69  virtual void flush();
70 
72  virtual void setOutputScaling(double scaling, bool enableStatic, bool isPaused=false);
73 
77 
79  virtual void filterMessage(DtPacket* packet);
80 
81  virtual void removeEntity(const DtString& name);
82  virtual void removeEntity(DtPduKind kind, DtObjectId id);
83  virtual void removeEntity(DtConstLgrDisMessage&);
84 
86 
87  virtual void setExConnSimTime(DtTime time);
88  virtual DtTime exConnSimTime() const;
90 
92  virtual DtExerciseConn* exerciseConn();
93 
95  virtual const DtExerciseConn* exerciseConn() const;
96 
97  protected:
98 
100  virtual void retainedSend(const DtPacket&);
101 
103  virtual void immediateSend(const DtPacket&) const;
104 
105  virtual void sendPacket(const DtPacket& packet);
106 
107  virtual void parsePdu(const DtPdu* pdu) const;
108 
109  virtual void parsePacket(const DtPacket& packet);
110 
111  virtual void updateEntity(DtConstLgrDisMessage&);
112 
114  virtual void clearPublishers();
115 
117  virtual void getUpdates(DtMessageBuffer& stateBuffer, const DtAbsoluteTime& time);
118 
119  virtual void rescalePublishers(double oldScale,double newScale,
120  bool wasStatic, bool isStatic);
121 
122  typedef std::pair<DtPduKind,DtObjectId> UniqueObjectId;
123 
124  typedef std::map<UniqueObjectId,DtLgrPublisherInterface*> ObjectPublisherMap;
125 
126  DtLgrDisSimulationManager& myDisManager;
127 
128  ObjectPublisherMap myObjectPublisherMap;
129 
131  DtLgrDisMessageIOInfo* myMessageInfo;
132 
134  bool myOutputStatic;
135 
137  bool myIsPaused;
138 
140  mutable int mySendCount;
141  };
142 
143 }
144 
145 #endif
146 

Document ID: Generated on Tue Aug 1 09:00:26 EDT 2017 from SVN revision 179128
Copyright © 2017 VT MÄK. All Rights Reserved (www.mak.com)