MAK Data Logger API Documentation for DIS
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 
15 #include "virtualConstructor.h"
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 
31  class DT_DLL_LGRSIM DtLgrHlaAggregatePublisher : public DtAggregatePublisher,
32  public DtLgrPublisherInterface
33  {
34  public:
35 
39  DT_VIRTUAL_CTR_DEFAULTS(DtLgrHlaAggregatePublisher,
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  protected:
78  virtual void sendRequestedAttrs(double scale, bool isStatic);
79 
80  virtual void sendTheseAttrs(const RTI::AttributeHandleSet& attrs, double scale, bool isStatic);
81 
82  virtual void send(DtStateMsg& msg);
83 
85  DtLgrHlaAggregatePublisher(const DtLgrHlaAggregatePublisher &other);
86 
88  DtLgrHlaAggregatePublisher &operator=(const DtLgrHlaAggregatePublisher &other);
89 
90  protected:
91 
93  DtLgrHlaSimulationManager& mySimMgr;
94 
96  bool mySendAllNextTick;
97 
98  DtBaseEntityStateRepository* mySeenByAttrs;
99 
100  DtDeadReckoner* myDeadReckoner;
101 
102  double myLastScaling;
103 
104  double myHeartbeatInterval;
105  double myLastHeartbeatTime;
106 
107  DtVector myOrigVelocity;
108  DtVector myOrigAcceleration;
109  DtVector myOrigRotVel;
110  DtTaitBryan myOrigOrientation;
111  DtVector myOrigLocation;
112  DtTime myOrigTime;
113  };
114 
115 
116 }
117 
118 #endif
119 
120 #endif

Document ID: Generated on Thu Apr 10 18:53:01 EDT 2014 from SVN revision 138105
Copyright © 2005-2012 VT MÄK. All Rights Reserved (www.mak.com)