MAK Data Logger API Documentation for HLA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrHlaEntityPublisher.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrHlaEntityPublisher_H_
11 #define lgrHlaEntityPublisher_H_
12 
13 #if DtHLA
14 
16 
17 #include "lgrPublisherInterface.h"
18 #include <vl/rtiCompatibility.h>
19 #include <vl/entityPublisherHLA.h>
20 
21 class DtBaseEntityStateRepository;
22 class DtDeadReckoner;
23 
24 namespace MAKLogger
25 {
26 
27  class DtLgrHlaSimulationManager;
28 
32  {
33  public:
34 
39  (DtLgrHlaSimulationManager& simMgr, RTI::ObjectClassHandle classHandle,
40  const char* objName, const DtDDMRegionSet* regionSetToUse,
41  double hbtime, bool waitForRegionData, bool stat),
42  (DtLgrHlaSimulationManager& simMgr, RTI::ObjectClassHandle classHandle,
43  const char* objName, const DtDDMRegionSet* regionSetToUse,
44  double hbtime=0.0, bool waitForRegionData=false, bool stat=true))
45 
46 
47  virtual ~DtLgrHlaEntityPublisher();
48 
49  virtual void update(const DtStateMsg& msg, double scaling, bool isStatic);
50 
51  virtual DtObjectPublisher* objPublisher();
52 
54  virtual void tick(double scale, bool isStatic);
55 
58  virtual void sendUpdateAtScaleChangePoint(double oldScale, double newScale, bool wasStatic, bool isStatic);
59 
61  bool sendAllNextTick();
62 
65  void setSendAllNextTick(bool yesNo = true);
66 
67  virtual void setRegion(const DtDDMRegionSet& region);
68 
70  virtual const DtDDMRegionSet& publishingRegions() const;
71 
72  virtual bool publishingToRegion( DtDDMRegionSP region );
73 
74  virtual void setPauseUpdateAttributes(double &scale);
75 
76  protected:
79  virtual void sendRequestedAttrs(double scale, bool isStatic);
80 
81  virtual void sendTheseAttrs(const RTI::AttributeHandleSet& attrs, double scale, bool isStatic);
82 
83  virtual void send(DtStateMsg& msg);
84 
87 
89  DtLgrHlaEntityPublisher &operator=(const DtLgrHlaEntityPublisher &other);
90 
91  protected:
92 
95 
98 
100  RTI::AttributeHandleSet* myAttrsToSend;
101 
103  DtBaseEntityStateRepository* mySeenByAttrs;
104  DtDeadReckoner* myDeadReckoner;
105 
107 
110 
111  DtVector32 myOrigVelocity;
112  DtVector32 myOrigAcceleration;
113  DtVector32 myOrigRotVel;
114  DtTaitBryan myOrigOrientation;
115  DtVector myOrigLocation;
116  DtTime myOrigTime;
117 
118  // Frozen state saved when scale goes to 0 (i.e. paused)
119  // and is restored when unpaused.
121  //Flag to set when the next message is a "pause" update
123 
124  DtDeadReckoner* myOldDeadReckoner;
125  DtDeadReckonTypes myOldDRType;
127 
128  };
129 
130 }
131 
132 #endif
133 
134 #endif
135 

Document ID: Generated on Thu Apr 7 20:50:59 EDT 2016 from SVN revision 163818
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)