首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HLA - timeAdvanceRequest()的使用

HLA - timeAdvanceRequest()的使用
EN

Stack Overflow用户
提问于 2014-05-02 20:49:09
回答 2查看 496关注 0票数 3

我用pRTI和两个联邦成员在Java中进行了HLA仿真。我想提前进行模拟。据我所知,为此目的采用了以下方法:

代码语言:javascript
复制
_ambassador.timeAdvanceRequest(time);

ambassador是RTI大使。

我的问题是将什么传递到time参数中?我想这应该是我希望我的模拟提前的时间,但是如何得到这个呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-05-02 21:01:53

好吧,我想出来了。

有必要使用LogicalTime接口实现之一,例如使用TimeFactory:

代码语言:javascript
复制
LogicalTime time =  _ambassador.getTimeFactory().makeFinal();

调用timeAdvanceRequest()将向RTI发送请求。如果时间提前,将对联邦成员调用timeAdvanceGrant()。

进一步的信息,这里

票数 2
EN

Stack Overflow用户

发布于 2017-01-24 00:23:08

以下是我认为它应该在HLA 1516-2010中工作的方式。从HLA1516-2010开始,RTI需要提供两个时间表示:HLAinteger64TimeHLAfloat64Time ( HLA接口规范的12.4和12.11.2节)。要访问这些文件,可以使用LogicalTimeFactoryFactory。例如,下面的代码将获得一个HLAfloat64TimeFactory

代码语言:javascript
复制
HLAfloat64TimeFactory timeFactory = 
     (HLAfloat64TimeFactory)LogicalTimeFactoryFactory.getLogicalTimeFactory("HLAfloat64Time")

然后,可以使用这个timeFactory实例创建HLAfloat64TimeHLAfloat64Interval实例:

代码语言:javascript
复制
HLAfloat64Time t = timeFactory.makeTime(3.0);
HLAfloat64Interval interval = timeFactory.makeInterval(1.0);

或者,使用接口

代码语言:javascript
复制
LogicalTime t = timeFactory.makeTime(3.0);
LogicalTimeInterval interval = timeFactory.makeInterval(1.0);

类似的代码用于Integer时间工厂。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23436713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档