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-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #ifndef lgrHlaAggregatePublisher_H_
11 #define lgrHlaAggregatePublisher_H_
12 
13 #if DtHLA
14 
16 
17 #include "lgrPublisherInterface.h"
18 #include <vl/rtiCompatibility.h>
19 #include <vl/aggregatePublisherHLA.h>
20 
21 class DtBaseEntityStateRepository;
22 class DtDeadReckoner;
23 
24 namespace MAKLogger
25 {
26 
27  class DtLgrHlaSimulationManager;
28 
33  {
34  public:
35 
40  (DtLgrHlaSimulationManager& simMgr, RTI::ObjectClassHandle classHandle,
41  const char* objName, const DtDDMRegionSet* regionSetToUse,
42  double hbtime, bool waitForRegionData, bool stat),
43  (DtLgrHlaSimulationManager& simMgr, RTI::ObjectClassHandle classHandle,
44  const char* objName, const DtDDMRegionSet* regionSetToUse,
45  double hbtime=0.0, bool waitForRegionData=false, bool stat=true))
46 
47 
48  virtual ~DtLgrHlaAggregatePublisher();
49 
50  virtual void update(const DtStateMsg& msg, double scaling, bool isStatic);
51 
52  virtual DtObjectPublisher* objPublisher();
53 
55  virtual void tick(double scale, bool isStatic);
56 
59  virtual void sendUpdateAtScaleChangePoint(double oldScale, double newScale, bool wasStatic, bool isStatic);
60 
62  bool sendAllNextTick();
63 
66  void setSendAllNextTick(bool yesNo = true);
67 
68  virtual void setRegion(const DtDDMRegionSet& region);
69 
71  virtual const DtDDMRegionSet& publishingRegions() const;
72 
73  virtual bool publishingToRegion( DtDDMRegionSP region );
74 
75  virtual void setPauseUpdateAttributes(double &scale);
76 
77  protected:
80  virtual void sendRequestedAttrs(double scale, bool isStatic);
81 
82  virtual void sendTheseAttrs(const RTI::AttributeHandleSet& attrs, double scale, bool isStatic);
83 
84  virtual void send(DtStateMsg& msg);
85 
88 
91 
92  protected:
93 
96 
99 
101  RTI::AttributeHandleSet* myAttrsToSend;
102 
104  DtBaseEntityStateRepository* mySeenByAttrs;
105 
106  DtDeadReckoner* myDeadReckoner;
107 
109 
110  // Frozen state saved when scale goes to 0 (i.e. paused)
111  // and is restored when unpaused.
113  //Flag to set when the next message is a "pause" update
115 
118 
119  DtDeadReckoner* myOldDeadReckoner;
120  DtDeadReckonTypes myOldDRType;
122 
123  DtVector32 myOrigVelocity;
124  DtVector32 myOrigAcceleration;
125  DtVector32 myOrigRotVel;
126  DtTaitBryan myOrigOrientation;
127  DtVector myOrigLocation;
128  DtTime myOrigTime;
129  };
130 
131 
132 }
133 
134 #endif
135 
136 #endif

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)