VR-Forces 4.8 Class Documentation
 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 
8 
14 
15 #ifndef hlaExerciseClock_H_
16 #define hlaExerciseClock_H_
17 
18 #if DtHLA
19 
20 #include "vrfcore/exerciseClock.h"
21 #include "vrfcore/timer.h"
22 
23 #if !DtHLA_1516
24 #include "fedtime.hh"
25 #else
26 #if DtHLA_1516_EVOLVED
27 #include "RTI/LogicalTime.h"
28 #include "RTI/LogicalTimeInterval.h"
29 namespace RTI=rti1516e;
30 #else
31 #include "RTI/LogicalTime.h"
32 #include "RTI/logicalTimeImpl.h"
33 #include "RTI/logicalTimeIntervalImpl.h"
34 namespace RTI=rti1516;
35 #endif
36 #endif
37 
38 class DtExerciseConn;
40 
45 {
46 public:
47 
49  DtHlaExerciseClock(DtSimManager *simManager, DtExerciseConn* exerciseConn);
50 
52  virtual ~DtHlaExerciseClock();
53 
54  virtual void init();
55 
58  virtual void tick();
59 
61  virtual DtTime fedTime() const;
62 
63  virtual DtTime lookahead() const;
64 
69  virtual DtTime effectiveSimTime() const;
70 
74  virtual void setInitialSimTime(DtTime time);
75 
78  virtual bool enableTimeManagementMode(DtTime lookaheadInterval);
79  virtual bool disableTimeManagementMode();
80  virtual bool isInTimeManagementMode() const;
81 
84  static void timeAdvanceGrantedCb(DtTimeManagementControl* tmControl,
85  void* usr);
86 
87 protected:
88 
91  virtual bool startRegulatingTime(DtTime lookaheadInterval);
92  virtual bool stopRegulatingTime();
93  virtual bool isTimeRegulating() const;
94 
96  virtual bool enableTimeConstrainedMode();
97  virtual bool disableTimeConstrainedMode();
98  virtual bool isTimeConstrained() const;
99 
101 #if !DtHLA_1516
102  virtual RTI::FedTime* createFederationTime(DtTime time = 0.0) const;
103 #else
104  virtual RTI::LogicalTime* createFederationTime(DtTime time = 0.0) const;
105 #endif
106 
108 #if !DtHLA_1516
109  virtual RTI::FedTime* createFederationTimeInterval(DtTime time = 0.0) const;
110 #else
111  virtual RTI::LogicalTimeInterval* createFederationTimeInterval(DtTime time = 0.0) const;
112 #endif
113 
116  virtual DtTimeManagementControl* createTimeManagementControl() const;
117 
120  virtual void processTimeAdvanceGrantedCb(DtTimeManagementControl* tmControl);
121 
125  timeMultiplerData);
126 
127 private:
128 
131 
134 
135 protected:
136 
137  DtExerciseConn* myExerciseConn;
138 
140 
143 #if !DtHLA_1516
144  RTI::FedTime* myInitialFederationTime;
145 #else
146  RTI::LogicalTime* myInitialFederationTime;
147 #endif
148 
150 
151 #if !DtHLA_1516
152  RTI::FedTime* myFederationTime;
154 #else
155  RTI::LogicalTime* myFederationTime;
156  RTI::LogicalTime* myEffectiveFederationTime;
157 #endif
158 
159 #if !DtHLA_1516
160  RTI::FedTime* myLookahead;
161 #else
162  RTI::LogicalTimeInterval* myLookahead;
163  DtTime myVrlLookahead;
164 #endif
165 };
166 
167 #endif
168 
169 #endif
DtTimeManagementControl * myTimeManagementControl
Definition: hlaExerciseClock.h:139
RTI::FedTime * myEffectiveFederationTime
Definition: hlaExerciseClock.h:153
DtTime myInitialSimTime
Definition: hlaExerciseClock.h:149
virtual void init()
Initializes the clock - must be called before any other member functions are called.
RTI::FedTime * myLookahead
Definition: hlaExerciseClock.h:160
DtExerciseConn * myExerciseConn
Definition: hlaExerciseClock.h:137
DtExerciseClock & operator=(const DtExerciseClock &orig)
assignment operator
virtual void tick()
Advance simulation time, if not paused.
RTI::FedTime * myFederationTime
Definition: hlaExerciseClock.h:152
virtual void processSetTimeMultiplier(const DtIfSetTimeMultiplier &timeMultiplerData)
Sets time multiplier with value given in message.
DtHlaClock is a clock that is capable of supporting HLA the time management concepts time-constrained...
Definition: hlaExerciseClock.h:44
The simulation engine is controlled by a single,top-level class called the Simulation Manager...
Definition: simManager.h:102
Total: 64/64 bytes.
Definition: ifSetTimeMultiplier.h:45
RTI::FedTime * myInitialFederationTime
This time is set when simulation start time is set.
Definition: hlaExerciseClock.h:144
#define DT_DLL_vrfcore
This file is used to determine how to build.
Definition: vrfcoreDefines.h:25
Definition: timeManagementControlHLA.h:50
Description: The Exercise Clock keeps track of current simulated time.
Definition: exerciseClock.h:44

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)