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
#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
bool myPaused
Definition: lgrHlaAggregatePublisher.h:122
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
double myLastHeartbeatTime
Definition: lgrHlaAggregatePublisher.h:129
DtU32 DtLgrHlaHandle
Logger Psuedo Handle type.
Definition: hlaTimeStampedAttr.h:22
DtDeadReckoner * myDeadReckoner
Definition: lgrHlaAggregatePublisher.h:113
double myLastTimeScale
Definition: lgrHlaAggregatePublisher.h:115
DtVector32 myLastUpdateRotVel
Definition: lgrHlaAggregatePublisher.h:133
DtDeadReckonTypes myOldDRType
Definition: lgrHlaAggregatePublisher.h:125
DtBaseEntityStateRepository * mySeenByAttrs
Attributes as seen by others (i.e., last updated values)
Definition: lgrHlaAggregatePublisher.h:108
Contains MAKLogger::DtLgrPublisherInterface class.
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
DtVector32 myLastUpdateAcceleration
Definition: lgrHlaAggregatePublisher.h:132
DtVector32 myLastUpdateVelocity
Definition: lgrHlaAggregatePublisher.h:131
The HLA simulation manager.
Definition: lgrHlaSimManager.h:84
bool myUnpausedOnThisSend
Definition: lgrHlaAggregatePublisher.h:123
DtVector myLastUpdateLocation
Definition: lgrHlaAggregatePublisher.h:135
bool myDRTypeChanged
Definition: lgrHlaAggregatePublisher.h:126
bool myFrozenBeforePause
Definition: lgrHlaAggregatePublisher.h:119
Responsible for defining the interface that Object publishers must have.
Definition: lgrPublisherInterface.h:39
RTI::AttributeHandleSet * myAttrsToSend
Attributes to send in update.
Definition: lgrHlaAggregatePublisher.h:105
An HLA Aggregate publisher.
Definition: lgrHlaAggregateStateRepository.h:27
An HLA Entity publisher.
Definition: lgrHlaAggregatePublisher.h:29
DtLgrHlaAggregateStateRepository * myLgrAsr
Definition: lgrHlaAggregatePublisher.h:111
double myHeartbeatInterval
Definition: lgrHlaAggregatePublisher.h:128
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82
DtTaitBryan myLastUpdateOrientation
Definition: lgrHlaAggregatePublisher.h:134

Document ID: Generated on Thu Sep 2 15:35:22 EDT 2021 from SVN revision 233992
Copyright © 2021 MAK Technologies. All Rights Reserved (www.mak.com)