专题栏目:ARVRMR虚拟现实

DVE_FM主要由哪几部分构成?

DVE_FM主要由信息采集管理、信息分发管理、仿真管理和事件系统等几个主要部分构成。

(1)信息采集管理。根据订购表静态或动态地配置并管理输入模块,以符合订购关系的方式向管理模块通知输入内容。目前主要是指外部设备输入的配置与管理。采用了订购发布模式进行设计,内置信息采集器订购来自输入子世界的输入信息。对于我们所讨论的采用虚拟现实技术构建的分布式交互仿真应用程序,输入设备可能是多种多样的,如键盘、鼠标、操纵杆、数据手套、数据衣和实物输入等,每种输入设备的输入方式、信息格式都不一样,同时,随着大量I/O设备和新的交互控制技术的发展,将会有越来越多的设备得到使用,这将使得信息采集管理面临一个重要问题:如何能支持各种不同设备的输入,如何在输入设备种类扩展的情况下仍然能工作。我们采用“输入原语”系统来解决这个问题。

(2)信息分发管理。根据订购表动态配置并管理输出模块,创建各输出子世界的代理对象,以符合订购关系的方式输出信息流。目前包括三维图形子世界、二维图形子世界和三维声音子世界的配置与管理。采用了订购发布模式进行设计,内置信息分发器作为各输出子世界的发布者。需要注意的是, DVE_FM并不包括各输出子世界部分。

(3)仿真管理。包括对象管理、交互管理、联盟管理、声明管理、配置管理、订购表管理,另外还负责提供仿真引擎。其中对象(交互)管理负责用更自然的方法来表达对象类和交互类;使用统一的数值表示;当数值更新时,能自动发布该改变;提供 federate开发者代码入口(仿真子世界的代码入口)。联盟和声明管理负责实现一些各盟员共同使用到的联盟和声明管理服务。配置管理负责管理并解析联盟配置文件(主要指声明文件)管理DVE_FM相关配置信息,如推进算法的选择、初始发布订购关系信息等。订购发布关系表是描述系统组成模块的表,它具体定义了当前软件中的“订购者”和“发布者”,订购表管理负责维护该关系表,包括增、删、改、查以及对改变的通知(触发一个订购表改变事件)。仿真管理负责本地和/或远程对象的管理(实例的创建)、交互管理(实例的创建)、创建各内部对象、管理各内部对象之间信息的相互流动,它通过事件系统与信息采集和分发管理进行交互。仿真引擎是DVE_FM的心脏,它以符合仿真推进逻辑的方式推进仿真进程。目前包括三种方式:时间步长、事件驱动和实时模式。该仿真引擎是一个可配置、可扩充的仿真引擎。

(4)事件系统。DVE_FM内部信息流动的主要承担者, DVE_FM与应用程序代码交流信息的手段。定义模板类 TDveEvent封装了注册、注销、通知以及对队列的管理等操作。事件系统采用回调函数的机制进行设计,DVE_FM同时预定义了一些事件,并提供开发者自定义事件的方法。

事件系统和DVE_FM的框架结构共同使应用开发集中在具体的仿真领域内的目标得以实现。

内容来源:赵沁平《DVENET分布式虚拟现实应用系统运行平台与开发工具》

发表评论

相关文章