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-2025 MAK Technologies, Inc
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 
#define DT_DLL_LGRSIM
Definition: lgrSim.h:21
DtVector32 scaledRotVel
Definition: lgrDisAggregate.h:70
double myLastTimeScale
Definition: lgrDisAggregate.h:71
DIS Aggragate publisher.
Definition: lgrDisAggregate.h:30
#define DT_VIRTUAL_CTR(CLASS_NAME, ARG_TYPES_LIST)
Declare a Virtual Constructor Create using DT_VIRTUAL_CTR(CLASS_NAME,ARG_TYPES_LIST) Where CLASS_NAME...
Definition: virtualConstructor.h:34
The DIS Simulation manager manages the DIS simulation settings.
Definition: lgrDisSimManager.h:45
DtAbsoluteTime myLastRealTime
Definition: lgrDisAggregate.h:64
DtVector32 scaledAcc
Definition: lgrDisAggregate.h:69
DtVector32 scaledVel
Definition: lgrDisAggregate.h:68
Contains MAKLogger::DtLgrPublisherInterface class.
Contains DT_VIRTUAL_CTR DT_VIRTUAL_CTR_DEFAULTS DT_VIRTUAL_COPY_ASSIGN DT_VIRTUAL_BASE_CTR DT_PURE_VI...
DtAggregateStatePdu lastRead
Definition: lgrDisAggregate.h:61
Responsible for defining the interface that Object publishers must have.
Definition: lgrPublisherInterface.h:39
Contains MAKLogger::DtAbsoluteTime and MAKLogger::DtRelativeTime classes.
DtAggregateStatePdu toSend
Definition: lgrDisAggregate.h:62
DtClock * myClock
Definition: lgrDisAggregate.h:66
Absolute Time, a particular measured instance in time, could be thought of as a set of relative times...
Definition: absoluteTime.h:82

Document ID: Generated on Thu Dec 18 15:35:09 EST 2025 from SVN revision 282494
Copyright © 2024 MAK Technologies. All Rights Reserved (www.mak.com)