VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
hlaExerciseClock.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2011 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 #if DtHLA
8 
11 
12 #if !DtHLA_1516
13 #include "fedtime.hh"
14 #else
15 #if DtHLA_1516_EVOLVED
16 #include "RTI/LogicalTime.h"
17 #include "RTI/LogicalTimeInterval.h"
18 namespace RTI=rti1516e;
19 #else
20 #include "RTI/LogicalTime.h"
21 #include "RTI/logicalTimeImpl.h"
22 #include "RTI/logicalTimeIntervalImpl.h"
23 namespace RTI=rti1516;
24 #endif
25 #endif
26 
27 class DtExerciseConn;
29 
33 namespace makVrf
34 {
36  {
37  public:
38 
40  DtHlaExerciseClock(DtExerciseConn* exerciseConn);
41 
43  virtual ~DtHlaExerciseClock();
44 
45  virtual void init();
46 
49  virtual void tick(DtCommunicationManagerPerformanceTimerInformation* performanceTimerInformation = nullptr) override;
50 
52  virtual DtTime fedTime() const;
53 
54  virtual DtTime lookahead() const;
55 
56  virtual DtTime epsilon() const;
57 
62  virtual DtTime effectiveSimTime() const;
63 
67  virtual void setInitialSimTime(DtTime time);
68 
71  virtual bool enableTimeManagementMode(DtTime lookaheadInterval);
72  virtual bool disableTimeManagementMode();
73  virtual bool isInTimeManagementMode() const;
74 
77  static void timeAdvanceGrantedCb(DtTimeManagementControl* tmControl,
78  void* usr);
79 
80  protected:
81 
84  virtual bool startRegulatingTime(DtTime lookaheadInterval);
85  virtual bool stopRegulatingTime();
86  virtual bool isTimeRegulating() const;
87 
89  virtual bool enableTimeConstrainedMode();
90  virtual bool disableTimeConstrainedMode();
91  virtual bool isTimeConstrained() const;
92 
94  #if !DtHLA_1516
95  virtual RTI::FedTime* createFederationTime(DtTime time = 0.0) const;
96  #else
97  virtual RTI::LogicalTime* createFederationTime(DtTime time = 0.0) const;
98  #endif
99 
101  #if !DtHLA_1516
102  virtual RTI::FedTime* createFederationTimeInterval(DtTime time = 0.0) const;
103  #else
104  virtual RTI::LogicalTimeInterval* createFederationTimeInterval(DtTime time = 0.0) const;
105  #endif
106 
109  virtual DtTimeManagementControl* createTimeManagementControl() const;
110 
113  virtual void processTimeAdvanceGrantedCb(DtTimeManagementControl* tmControl);
114 
115  private:
116 
119 
121  DtHlaExerciseClock& operator=(const DtHlaExerciseClock& orig);
122 
123  protected:
124 
125  DtExerciseConn* myExerciseConn;
126 
128 
131  #if !DtHLA_1516
132  RTI::FedTime* myInitialFederationTime;
133  #else
134  RTI::LogicalTime* myInitialFederationTime;
135  #endif
136 
138 
139  #if !DtHLA_1516
140  RTI::FedTime* myFederationTime;
142  #else
143  RTI::LogicalTime* myFederationTime;
144  RTI::LogicalTime* myEffectiveFederationTime;
145  #endif
146 
147  #if !DtHLA_1516
148  RTI::FedTime* myLookahead;
149  #else
150  RTI::LogicalTimeInterval* myLookahead;
151  DtTime myVrlLookahead;
152  #endif
153 
154  #if !DtHLA_1516
156  #else
157  DtTime myEpsilon;
158  #endif
159  };
160 }
161 
162 #endif
RTI::FedTime * myLookahead
Definition: hlaExerciseClock.h:148
RTI::FedTime * myEffectiveFederationTime
Definition: hlaExerciseClock.h:141
RTI::FedTime * myInitialFederationTime
This time is set when simulation start time is set. Used to compute the current simulation time...
Definition: hlaExerciseClock.h:132
DtTimeManagementControl * myTimeManagementControl
Definition: hlaExerciseClock.h:127
Definition: communicationManager.h:35
DtTime myInitialSimTime
Definition: hlaExerciseClock.h:137
DtTime myEpsilon
Definition: hlaExerciseClock.h:155
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
Definition: hlaExerciseClock.h:35
RTI::FedTime * myFederationTime
Definition: hlaExerciseClock.h:140
Definition: timeManagementControlHLA.h:50
DtExerciseConn * myExerciseConn
Definition: hlaExerciseClock.h:125
Description: The Exercise Clock keeps track of current simulated time. When 'ticked', it advances simulation time based on elapsed real time since the last time it was ticked and a time-multiplier that allows the exercise clock to run faster or slower than real-time. The exercise clock also supports a pause/resume capability.
Definition: exerciseClock.h:27

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)