MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaAggregatePublisher.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
11 
12 #if DtHLA
13 
15 
16 #include "lgrPublisherInterface.h"
17 #include <vl/rtiCompatibility.h>
18 #include <vl/aggregatePublisherHLA.h>
19 
20 class DtBaseEntityStateRepository;
21 class DtDeadReckoner;
22 
23 namespace MAKLogger
24 {
25  class DtLgrHlaAggregateStateRepository;
26 
29  class DT_DLL_LGRSIM DtLgrHlaAggregatePublisher : public DtAggregatePublisher,
30  public DtLgrPublisherInterface
31  {
32  public:
33 
37  DT_VIRTUAL_CTR_DEFAULTS(DtLgrHlaAggregatePublisher,
38  (DtLgrHlaSimulationManager& simMgr,
39  DtLgrHlaHandle loggerObjectId, DtLgrHlaHandle loggerClassHandle,
40  RTI::ObjectClassHandle classHandle,
41  const char* objName, const DtDDMRegionSet* regionSetToUse,
42  double hbtime, bool waitForRegionData, bool stat),
43  (DtLgrHlaSimulationManager& simMgr,
44  DtLgrHlaHandle loggerObjectId, DtLgrHlaHandle loggerClassHandle,
45  RTI::ObjectClassHandle classHandle,
46  const char* objName, const DtDDMRegionSet* regionSetToUse,
47  double hbtime=0.0, bool waitForRegionData=false, bool stat=true))
48 
49 
50  virtual ~DtLgrHlaAggregatePublisher();
51 
53  virtual void update(const DtStateMsg& msg, const DtAbsoluteTime& updateTime,
54  bool isTimeFromPast, bool isStateUpdate, double scaling, bool isStatic, bool sendFlag);
55 
57  virtual DtObjectPublisher* objPublisher();
58 
60  virtual void tick(double scale, bool isStatic);
61 
64  virtual void sendUpdateAtScaleChangePoint(double oldScale, double newScale, bool wasStatic, bool isStatic);
65 
66  virtual void setRegion(const DtDDMRegionSet& region);
67 
69  virtual const DtDDMRegionSet& publishingRegions() const;
70 
71  virtual bool publishingToRegion( DtDDMRegionSP region );
72 
73  protected:
74 
76  virtual DtHlaObjectWithStateRep* pubHlaObject();
77 
80  virtual void sendRequestedAttrs(double scale, bool isStatic);
81 
84  virtual void setPauseUpdateAttributes(double &scale);
85 
88  virtual void generateScaledUpdate(const RTI::AttributeHandleSet& attrs, double scale, bool isStatic, DtStateMsg& msg);
89 
92  virtual void sendTheseAttrs(const RTI::AttributeHandleSet& attrs, double scale, bool isStatic);
93 
94  virtual void send(DtStateMsg& msg);
95 
97  DtLgrHlaAggregatePublisher(const DtLgrHlaAggregatePublisher &other);
98 
100  DtLgrHlaAggregatePublisher &operator=(const DtLgrHlaAggregatePublisher &other);
101 
102  protected:
103 
105  RTI::AttributeHandleSet* myAttrsToSend;
106 
108  DtBaseEntityStateRepository* mySeenByAttrs;
109 
110  // Reference to entity state rep. as it instantiated logger derivation.
111  DtLgrHlaAggregateStateRepository* myLgrAsr;
112 
113  DtDeadReckoner* myDeadReckoner;
114 
115  double myLastTimeScale;
116 
117  // Frozen state saved when scale goes to 0 (i.e. paused)
118  // and is restored when unpaused.
119  bool myFrozenBeforePause;
120 
121  // Flag to set when the tape is paused
122  bool myPaused;
123  bool myUnpausedOnThisSend;
124 
125  DtDeadReckonTypes myOldDRType;
126  bool myDRTypeChanged;
127 
128  double myHeartbeatInterval;
129  double myLastHeartbeatTime;
130 
131  DtVector32 myLastUpdateVelocity;
132  DtVector32 myLastUpdateAcceleration;
133  DtVector32 myLastUpdateRotVel;
134  DtTaitBryan myLastUpdateOrientation;
135  DtVector myLastUpdateLocation;
136  };
137 
138 
139 }
140 
141 #endif
#define DT_VIRTUAL_CTR_DEFAULTS(CLASS_NAME, ARG_TYPES_LIST, ARG_DEFAULTS_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR_DEFAULTS(CLASS_NAME,ARG_TYPES_LIST,ARG_DEFAULTS_LIST) Where CLASS_NAME = the name of the class being declared Where ARG_TYPES_LIST = a list (ie in side parentheses) of comma seperated types Where ARG_DEFAULTS_LIST = a list (ie in side parentheses) of comma seperated types with default values specified.
Definition: virtualConstructor.h:63
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
Contains MAKLogger::DtLgrPublisherInterface class.
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
class DT_DLL_LGRUTIL DtAbsoluteTime
Definition: absoluteTime.h:22

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)