X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fhla%2FRTI13Ambassador.hxx;h=ecd0af60e2d79934ea39ae6038aad69177849606;hb=95ddc04a734d56d917c94e4bc952e9ac78637ba6;hp=2465e349cc9bfd83a0d48f61b84b066edc1524c4;hpb=bd999ca090853e68acb7b0f4aab3d875afd8c010;p=simgear.git diff --git a/simgear/hla/RTI13Ambassador.hxx b/simgear/hla/RTI13Ambassador.hxx index 2465e349..ecd0af60 100644 --- a/simgear/hla/RTI13Ambassador.hxx +++ b/simgear/hla/RTI13Ambassador.hxx @@ -281,8 +281,12 @@ public: /// Time Management - void enableTimeRegulation(const SGTimeStamp& federateTime, const SGTimeStamp& lookahead) - { _rtiAmbassador.enableTimeRegulation(toFedTime(federateTime), toFedTime(lookahead)); } + void enableTimeRegulation(const SGTimeStamp& lookahead) + { + RTIfedTime federateTime; + federateTime.setZero(); + _rtiAmbassador.enableTimeRegulation(federateTime, toFedTime(lookahead)); + } void disableTimeRegulation() { _rtiAmbassador.disableTimeRegulation();} @@ -295,22 +299,29 @@ public: { _rtiAmbassador.timeAdvanceRequest(toFedTime(time)); } void timeAdvanceRequestAvailable(const SGTimeStamp& time) { _rtiAmbassador.timeAdvanceRequestAvailable(toFedTime(time)); } + void flushQueueRequest(const SGTimeStamp& time) + { _rtiAmbassador.flushQueueRequest(toFedTime(time)); } - // bool queryLBTS(double& time) - // { - // try { - // RTIfedTime fedTime; - // _rtiAmbassador.queryLBTS(fedTime); - // time = fedTime.getTime(); - // return true; - // } catch (RTI::FederateNotExecutionMember& e) { - // } catch (RTI::ConcurrentAccessAttempted& e) { - // } catch (RTI::SaveInProgress& e) { - // } catch (RTI::RestoreInProgress& e) { - // } catch (RTI::RTIinternalError& e) { - // } - // return false; - // } + bool queryGALT(SGTimeStamp& timeStamp) + { + RTIfedTime fedTime; + fedTime.setPositiveInfinity(); + _rtiAmbassador.queryLBTS(fedTime); + if (fedTime.isPositiveInfinity()) + return false; + timeStamp = toTimeStamp(fedTime); + return true; + } + bool queryLITS(SGTimeStamp& timeStamp) + { + RTIfedTime fedTime; + fedTime.setPositiveInfinity(); + _rtiAmbassador.queryMinNextEventTime(fedTime); + if (fedTime.isPositiveInfinity()) + return false; + timeStamp = toTimeStamp(fedTime); + return true; + } void queryFederateTime(SGTimeStamp& timeStamp) { RTIfedTime fedTime;