VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)