MAK Data Logger API Documentation for HLA
lgrDisAggregate.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #if DtDIS
11 
12 #ifndef lgrDisAggregate_H_
13 #define lgrDisAggregate_H_
14 
15 #include "lgrPublisherInterface.h"
16 
17 #include "absoluteTime.h"
18 #include "virtualConstructor.h"
19 
20 #include <vl/aggregateStatePdu.h>
21 
23 class DtClock;
24 
25 namespace MAKLogger
26 {
27  class DtLgrDisSimulationManager;
28 
31  class DT_DLL_LGRSIM DtLgrDisAggragatePublisher : public DtLgrPublisherInterface
32  {
33  public:
34 
35  DT_VIRTUAL_CTR(DtLgrDisAggragatePublisher,( const DtAggregateStatePdu& pdu,
36  DtLgrDisSimulationManager* simManager))
37 
38  virtual ~DtLgrDisAggragatePublisher();
39 
40  virtual void update( const DtPdu& pdu,double scaling, bool isStatic, bool sendFlag );
41 
42  virtual void sendUpdateAtScaleChangePoint(double oldScale, double newScale,
43  bool wasStatic, bool isStatic);
44 
45  virtual void tick(double scaling, bool isStatic);
46 
47  protected:
48 
49  void sendScaled(double scale, bool isStatic);
50  void sendCurrent( double scale, bool isStatic);
51  void scaleVecs( double ts );
52  void sendPdu();
53  bool timeoutNow();
54  bool sendNow();
55 
56  DtAggregatePublisher* myPublisher;
57 
58  DtAggregateStatePdu lastRead;
59  DtAggregateStatePdu toSend;
60 
61  DtAbsoluteTime myLastScaledTime;
62  DtAbsoluteTime myLastRealTime;
63 
64  DtLgrDisSimulationManager* mySimManager;
65  DtClock* myClock;
66 
67  DtVector scaledVel;
68  DtVector scaledAcc;
69  DtVector scaledRotVel;
70  double myLastTimeScale;
71 
72  };
73 
74 }
75 
76 #endif
77 #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)