14 #ifndef timeManagementControlHLA_H_
15 #define timeManagementControlHLA_H_
21 #include <vl/vrlRtiAmbassador13.h>
23 #if DtHLA_1516_EVOLVED
24 #include "RTI/LogicalTime.h"
25 #include "RTI/LogicalTimeInterval.h"
26 #include "RTI/LogicalTimeFactory.h"
27 #include "RTI/RTIambassador.h"
29 #include "RTI/LogicalTime.h"
30 #include "RTI/logicalTimeImpl.h"
31 #include "RTI/logicalTimeIntervalImpl.h"
32 #include "RTI/RTIambassador.h"
35 #include <vl/exerciseConnHLA.h>
36 #include <vl/vrlFederateAmbassador.h>
72 virtual bool enableTimeConstrained();
77 virtual bool disableTimeConstrained();
80 virtual bool isTimeConstrained()
const;
92 virtual bool enableTimeRegulation(
93 const RTI::FedTime& requestedFederationTime,
94 const RTI::FedTime& lookahead,
95 RTI::FedTime& federationTime);
97 virtual bool enableTimeRegulation(
98 const RTI::LogicalTime& requestedFederationTime,
99 const RTI::LogicalTimeInterval& lookahead,
100 RTI::LogicalTime& federationTime);
106 virtual bool modifyLookahead(
107 const RTI::FedTime& lookahead);
109 virtual bool modifyLookahead(
110 const RTI::LogicalTimeInterval& lookahead);
114 virtual bool disableTimeRegulation();
117 virtual bool isTimeRegulating()
const;
133 virtual bool timeAdvanceRequest(
134 const RTI::FedTime& requestedFederateTime,
135 bool blockUntilAdvanceIsGranted =
true);
137 virtual bool timeAdvanceRequest(
138 const RTI::LogicalTime& requestedFederateTime,
139 bool blockUntilAdvanceIsGranted =
true);
155 virtual bool queryLBTS(RTI::FedTime& federateTime)
const;
157 virtual bool queryLBTS(RTI::LogicalTime& federateTime)
const;
164 virtual bool queryFederateTime(RTI::FedTime& federateTime)
const;
166 virtual bool queryFederateTime(RTI::LogicalTime& federateTime)
const;
176 static void timeAdvanceRequestCb(
const RTI::FedTime&,
void* );
177 static void timeConstrainedEnableCb(
const RTI::FedTime&,
void* );
178 static void timeRegulationEnableCb(
const RTI::FedTime&,
void* );
180 static void timeAdvanceRequestCb(
const RTI::LogicalTime&,
void* );
181 static void timeConstrainedEnableCb(
const RTI::LogicalTime&,
void* );
182 static void timeRegulationEnableCb(
const RTI::LogicalTime&,
void* );
188 virtual DtExerciseConn& exerciseConn()
const;
192 virtual RTI::FedTime* createFederationTime()
const;
194 virtual RTI::LogicalTime* createFederationTime()
const;
200 virtual void processTimeAdvanceRequest(
const RTI::FedTime& fTime );
202 virtual void processTimeAdvanceRequest(
const RTI::LogicalTime& fTime );
205 virtual void invokeTimeAdvanceGrantedCallbacks();
207 void removeAllTimeAdvanceGrantedCallbacks();
230 RTI::LogicalTime* myFederationTime;