MAK Data Logger API Documentation for HLA
 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-2016 VT MAK
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 
31  {
32  public:
33 
39  DtLgrHlaHandle loggerObjectId, DtLgrHlaHandle loggerClassHandle,
40  RTI::ObjectClassHandle classHandle,
41  const char* objName, const DtDDMRegionSet* regionSetToUse,
42  double hbtime, bool waitForRegionData, bool stat),
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 
98 
101 
102  protected:
103 
105  RTI::AttributeHandleSet* myAttrsToSend;
106 
108  DtBaseEntityStateRepository* mySeenByAttrs;
109 
110  // Reference to entity state rep. as it instantiated logger derivation.
112 
113  DtDeadReckoner* myDeadReckoner;
114 
116 
117  // Frozen state saved when scale goes to 0 (i.e. paused)
118  // and is restored when unpaused.
120 
121  // Flag to set when the tape is paused
122  bool myPaused;
124 
125  DtDeadReckonTypes myOldDRType;
127 
130 
133  DtVector32 myLastUpdateRotVel;
136  };
137 
138 
139 }
140 
141 #endif

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)