MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisStateObject.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 #if DtDIS
12 
13 #include <lgrSim/lgrSim.h>
14 #include <lgrCore/stateObject.h>
15 #include <lgrUtil/absoluteTime.h>
16 #include <list>
17 
18 struct DtNetPduHeader;
19 
20 namespace MAKLogger
21 {
22 
23  class DtMessageState;
24  class DtLgrDisMessageState;
25 
28  class DT_DLL_LGRSIM DtDisStateObject : public DtStateObject
29  {
30  public:
31 
32  DT_VIRTUAL_CTR(DtDisStateObject,(DtLgrDisMessageState&, const DtPacket&))
33  DT_VIRTUAL_BASE_CTR(DtStateObject,(DtMessageState&, const DtPacket&))
34 
35  virtual ~DtDisStateObject();
36 
38  virtual DtU64 uniqueId() const;
39 
41  virtual const DtString& name() const;
42 
44  virtual DtU64 packetId(const DtPacket& packet) const;
45 
48  virtual void setPacketId(DtU64,DtPacket&) const;
49 
51  virtual bool packetForMe(const DtPacket&) const;
52 
54  virtual void updateViaPacket(const DtPacket&);
55 
57  virtual DtPacket* createUpdate(const DtAbsoluteTime* time) const;
58 
60  virtual void createUpdate(const DtAbsoluteTime* time, std::list<DtPacket*>& packetlist) const;
61 
63  virtual DtPacket* createRemoval(const DtAbsoluteTime& time) const;
64 
67 
68  virtual bool isEntity() const;
69  virtual bool isAggregate() const;
70  virtual bool isEnvironmentalProcess() const;
71  virtual bool isGriddedData() const;
72  virtual bool isTransmitter() const;
73  virtual bool isReceiver() const;
74  virtual bool isDesignator() const;
75  virtual bool isDiGuy() const;
76  virtual bool isRelativeLocation() const;
78 
79 
80  protected:
81 
83  virtual void copyPacket(const DtPacket& packet,
84  DtNetPduHeader** lastPdu, int& lastPduSize, int& lastBufferSize);
85 
87  virtual void createUpdate(DtNetPduHeader* lastPdu, int lastPduSize,
88  const DtAbsoluteTime* time, std::list<DtPacket*>& packetlist) const;
89 
90  protected:
91 
92  DtAbsoluteTime myLastUpdateTime;
93  DtNetPduHeader* myLastPdu;
94  DtString myName;
95  bool myIsUpdateFromPast;
96 
97  DtNetPduHeader* myLastDiGuyAppearancePdu;
98  DtNetPduHeader* myLastDiGuyTypePdu;
99  DtNetPduHeader* myLastDiGuyActionPdu;
100 
101  int myLastPduSize;
102  int myLastDiGuyAppearancePduSize;
103  int myLastDiGuyTypePduSize;
104  int myLastDiGuyActionPduSize;
105  int myPduBufferSize;
106  int myDiGuyAppearancePduBufferSize;
107  int myDiGuyTypePduBufferSize;
108  int myDiGuyActionPduBufferSize;
109  };
110 
111 }
112 
113 #endif
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 MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22
Contains MAKLogger::DtStateObject class.

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)