Open Inventor基于Unix操作系統(tǒng)和 OpenGL圖形庫開發(fā)而成,目前移植到 windows操作系統(tǒng),但其基本原理并沒有太多改變,如調(diào)用 OpenGL實現(xiàn)三維圖形對象的顯示,并為 OpenGL提供一系列的標準界面等。 Open Inventor主要包括三大部分: Open Inventor工具箱、 Open Inventor組件庫和 Open Inventor的文件格式接口。
1.Open Inventor工具箱
Open Inventor工具箱是 Open Inventor的核心,它不但為用戶提供強大的編程應用接口,還管理 Open Inventor創(chuàng)建的每個對象。它主要由場景數(shù)據(jù)庫、節(jié)點工具箱和操作組件庫三個部分構(gòu)成。
(1)場景數(shù)據(jù)庫
在場景數(shù)據(jù)庫中,節(jié)點(Node)是一系列最基本的對象,它們是創(chuàng)建三維場景圖的最基本單位。也就是說,在 Open Inventor中,需這些節(jié)點就可以創(chuàng)建一個復雜的場景,就像使用形狀、大小和顏色不同的積木搭建出不同的房子和汽車等,甚至還可以搭建復雜的城鎮(zhèn)等。這些節(jié)點包括一系列重要的信息,如形狀描述、材質(zhì)種類、幾何變換和光照模型等,這些信息存儲在稱為域(Field)的存儲單元中。顯然,使用這些“積木塊”并按照一定的規(guī)則就可以組合出復雜的三維場景圖。場景圖儲存在場景數(shù)據(jù)庫中,并由 Open Inventor負責場景數(shù)據(jù)庫的管理。一旦用戶生成了一幅場景圖,用戶就可以對場景圖的對象進行各種操作。
(2)節(jié)點工具箱
節(jié)點工具箱提供了許多 Open Inventor頂先規(guī)定的對象組織和搭配機制,用戶也可根據(jù)自己的需要添加自己的對象搭配機制。在添加自定義搭配機制時,通常需要創(chuàng)建一個模板文件, Open Inventor會根據(jù)該模板文件來實現(xiàn)用戶所定的搭配機制。
(3)操作組件庫
操作組件庫主要用于響應用戶的交互操作事件,這種響應非常直觀,并且可由用戶直接進行編輯操作。其中比較明顯的例子是實際的拾取操作和處理盒操作的顯示用戶可以單擊 Open Inventor三維場景中的任一對象,該對象將被高亮度顯示,并可將此對象的標識指針返回給用戶的程序用戶也可以拖動對象的事件處理盒(一個類似于對象包圍盒的、以線框方式顯示的、高亮度的平行六面體),以實現(xiàn)對象的放大、縮小、改變位置等效果。用戶使用操作組件庫對圖形對象進行操作就好像用戶使用鼠標對窗口的大小和位置進行操作一樣方便和直觀。
2.Open Iventor組件庫
通過使用不同的 Open Inventor組件庫,可使 Open Inventor支持多種窗口系統(tǒng)中的函數(shù),尤其是可以圓滿支持 Windows操作系統(tǒng)。 Open Inventor組件庫可以接收窗口事件,然后會將窗口事件轉(zhuǎn)換為 Open Inventor 的自身事件( SoEver)并交由 Open Inventor中的操作組件庫進行具體的操作處理。 Open Inventor組件庫為用戶提供多種風格不同的標準界面,形成與支持平臺的一致性;用戶也可以編寫自己的組件并作為 Open Inventor組件庫中具有特殊用途的組件。
3.Open Inventor文件格式接口
通過 Open Inventor文件格式接口,用戶可以方便地采用 Open Inventor文件格式在應用程序中進行場景的輸入、輸出操作,或是子場圖的剪切、粘貼處理。通過這個接口,用戶可以把自己場景圖中的對象寫入 Open Inventor數(shù)據(jù)庫或從 Open Inventor場景中讀出任一對象的信息。更為重要的是,該文件接口大大擴展了 Open Inventor的應用范圍。例如,TGS公司的 Open Inventor6.0支持ICES、STEP、DXF、CATA45和 OpenFlight格式的文件,從而使用戶創(chuàng)建的文件可以方便地導入到其他CAD平臺中,也可以將其他CAD系統(tǒng)中的模型導入到基于 )Open Inventor的應用程序中。
內(nèi)容來源:胡小梅《分布式虛擬現(xiàn)實技術(shù)》