专题栏目:ARVRMR虚拟现实

Open Inventor是由什么组成的?

Open Inventor基于Unix操作系统和 OpenGL图形库开发而成,目前移植到 windows操作系统,但其基本原理并没有太多改变,如调用 OpenGL实现三维图形对象的显示,并为 OpenGL提供一系列的标准界面等。 Open Inventor主要包括三大部分: Open Inventor工具箱、 Open Inventor组件库和 Open Inventor的文件格式接口。

1.Open Inventor工具箱

Open Inventor工具箱是 Open Inventor的核心,它不但为用户提供强大的编程应用接口,还管理 Open Inventor创建的每个对象。它主要由场景数据库、节点工具箱和操作组件库三个部分构成。

(1)场景数据库

在场景数据库中,节点(Node)是一系列最基本的对象,它们是创建三维场景图的最基本单位。也就是说,在 Open Inventor中,需这些节点就可以创建一个复杂的场景,就像使用形状、大小和颜色不同的积木搭建出不同的房子和汽车等,甚至还可以搭建复杂的城镇等。这些节点包括一系列重要的信息,如形状描述、材质种类、几何变换和光照模型等,这些信息存储在称为域(Field)的存储单元中。显然,使用这些“积木块”并按照一定的规则就可以组合出复杂的三维场景图。场景图储存在场景数据库中,并由 Open Inventor负责场景数据库的管理。一旦用户生成了一幅场景图,用户就可以对场景图的对象进行各种操作。

(2)节点工具箱

节点工具箱提供了许多 Open Inventor顶先规定的对象组织和搭配机制,用户也可根据自己的需要添加自己的对象搭配机制。在添加自定义搭配机制时,通常需要创建一个模板文件, Open Inventor会根据该模板文件来实现用户所定的搭配机制。

(3)操作组件库

操作组件库主要用于响应用户的交互操作事件,这种响应非常直观,并且可由用户直接进行编辑操作。其中比较明显的例子是实际的拾取操作和处理盒操作的显示用户可以单击 Open Inventor三维场景中的任一对象,该对象将被高亮度显示,并可将此对象的标识指针返回给用户的程序用户也可以拖动对象的事件处理盒(一个类似于对象包围盒的、以线框方式显示的、高亮度的平行六面体),以实现对象的放大、缩小、改变位置等效果。用户使用操作组件库对图形对象进行操作就好像用户使用鼠标对窗口的大小和位置进行操作一样方便和直观。

2.Open Iventor组件库

通过使用不同的 Open Inventor组件库,可使 Open Inventor支持多种窗口系统中的函数,尤其是可以圆满支持 Windows操作系统。 Open Inventor组件库可以接收窗口事件,然后会将窗口事件转换为 Open Inventor 的自身事件( SoEver)并交由 Open Inventor中的操作组件库进行具体的操作处理。 Open Inventor组件库为用户提供多种风格不同的标准界面,形成与支持平台的一致性;用户也可以编写自己的组件并作为 Open Inventor组件库中具有特殊用途的组件。

3.Open Inventor文件格式接口

通过 Open Inventor文件格式接口,用户可以方便地采用 Open Inventor文件格式在应用程序中进行场景的输入、输出操作,或是子场图的剪切、粘贴处理。通过这个接口,用户可以把自己场景图中的对象写入 Open Inventor数据库或从 Open Inventor场景中读出任一对象的信息。更为重要的是,该文件接口大大扩展了 Open Inventor的应用范围。例如,TGS公司的 Open Inventor6.0支持ICES、STEP、DXF、CATA45和 OpenFlight格式的文件,从而使用户创建的文件可以方便地导入到其他CAD平台中,也可以将其他CAD系统中的模型导入到基于 )Open Inventor的应用程序中。

内容来源:胡小梅《分布式虚拟现实技术》

发表评论

相关文章