10 #ifndef lgrHlaAggregatePublisher_H_
11 #define lgrHlaAggregatePublisher_H_
18 #include <vl/rtiCompatibility.h>
19 #include <vl/aggregatePublisherHLA.h>
21 class DtBaseEntityStateRepository;
27 class DtLgrHlaSimulationManager;
31 class DT_DLL_LGRSIM DtLgrHlaAggregatePublisher :
public DtAggregatePublisher,
32 public DtLgrPublisherInterface
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))
48 virtual ~DtLgrHlaAggregatePublisher();
50 virtual
void update(const DtStateMsg& msg,
double scaling,
bool isStatic);
52 virtual DtObjectPublisher* objPublisher();
55 virtual
void tick(
double scale,
bool isStatic);
59 virtual
void sendUpdateAtScaleChangePoint(
double oldScale,
double newScale,
bool wasStatic,
bool isStatic);
62 bool sendAllNextTick();
66 void setSendAllNextTick(
bool yesNo = true);
68 virtual
void setRegion(const DtDDMRegionSet& region);
71 virtual const DtDDMRegionSet& publishingRegions() const;
73 virtual
bool publishingToRegion( DtDDMRegionSP region );
78 virtual
void sendRequestedAttrs(
double scale,
bool isStatic);
80 virtual
void sendTheseAttrs(const RTI::AttributeHandleSet& attrs,
double scale,
bool isStatic);
82 virtual
void send(DtStateMsg& msg);
85 DtLgrHlaAggregatePublisher(const DtLgrHlaAggregatePublisher &other);
88 DtLgrHlaAggregatePublisher &operator=(const DtLgrHlaAggregatePublisher &other);
93 DtLgrHlaSimulationManager& mySimMgr;
96 bool mySendAllNextTick;
98 DtBaseEntityStateRepository* mySeenByAttrs;
100 DtDeadReckoner* myDeadReckoner;
102 double myLastScaling;
104 double myHeartbeatInterval;
105 double myLastHeartbeatTime;
107 DtVector myOrigVelocity;
108 DtVector myOrigAcceleration;
109 DtVector myOrigRotVel;
110 DtTaitBryan myOrigOrientation;
111 DtVector myOrigLocation;