MAK Data Logger API Documentation for DIS
 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;
22 class DtAggregatePublisher;
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 
38  {
39  public:
40 
43 
44  virtual ~DtLgrDisSimOutput();
45 
46  private:
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  //If no DIS override version is set, adjust DIS version to send to match DIS version of PDU from tape.
123  virtual void adjustProtocolVersionToSend(int pduDisVersion);
124 
125  //If no DIS override version is set, reset DIS version to default version.
126  virtual void resetProtocolVersionToSend();
127 
128  typedef std::pair<DtPduKind,DtObjectId> UniqueObjectId;
129 
130  typedef std::map<UniqueObjectId,DtLgrPublisherInterface*> ObjectPublisherMap;
131 
133 
135 
138 
141 
144 
146  mutable int mySendCount;
147 
148  //Save default DIS version
150  };
151 
152 }
153 
154 #endif
155 

Document ID: Generated on Wed Jun 5 18:45:18 EDT 2019 from SVN revision 198968
Copyright © 2019 VT MAK. All Rights Reserved (www.mak.com)