MAK Data Logger API Documentation for DIS
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
lgrDisAggregate.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 1992-2016 VT MAK
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #if DtDIS
13 
14 
15 #include "lgrPublisherInterface.h"
16 
17 #include <lgrUtil/absoluteTime.h>
19 
20 #include <vl/aggregateStatePdu.h>
21 
22 class DtClock;
23 
24 namespace MAKLogger
25 {
26  class DtLgrDisSimulationManager;
27 
31  {
32  public:
33 
34  DT_VIRTUAL_CTR(DtLgrDisAggragatePublisher,( const DtAggregateStatePdu& pdu,
35  DtLgrDisSimulationManager& simManager))
36 
37  virtual ~DtLgrDisAggragatePublisher();
38 
39  virtual void update( const DtPdu& pdu, const DtAbsoluteTime& updateTime, bool isTimeFromPast,
40  bool isStateUpdate, 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 
57  virtual const DtStateMsg& lastState() const;
58 
59  protected:
60 
61  DtAggregateStatePdu lastRead;
62  DtAggregateStatePdu toSend;
63 
65 
66  DtClock* myClock;
67 
68  DtVector32 scaledVel;
69  DtVector32 scaledAcc;
70  DtVector32 scaledRotVel;
72 
73  };
74 
75 }
76 
77 #endif
78 

Document ID: Generated on Thu Jul 23 15:05:27 EDT 2020 from SVN revision 215371
Copyright © 2020 MAK Technologies. All Rights Reserved (www.mak.com)