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-2025 MAK Technologies, Inc
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  //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 
132  DtLgrDisSimulationManager& myDisManager;
133 
134  ObjectPublisherMap myObjectPublisherMap;
135 
137  DtLgrDisMessageIOInfo* myMessageInfo;
138 
140  bool myOutputStatic;
141 
143  bool myIsPaused;
144 
146  mutable int mySendCount;
147 
148  //Save default DIS version
149  int myDefaultDISVersion;
150  };
151 
152 }
153 
154 #endif
155 
Defines IMPORT/EXPORT macros for lgrSim library.
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
#define DT_VIRTUAL_BASE_CTR(BASE_NAME, ARG_TYPES_LIST)
Declare a Virtual Base Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where BASE_...
Definition: virtualConstructor.h:118
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
virtual void setOutputScaling(double scale)
Set/Get the output scaling.
PacketSenderType
Definition: lgrSimOutput.h:72
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
Contains MAKLogger::DtLgrSimOutput subclass of MAKLogger::DtMessageOutput.

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)