GL Studio

3D

前言:

GL Studio是目前世界上最先進(jìn)的人機(jī)接口(HMI)開發(fā)工具,它非常專業(yè),因此做得非常優(yōu)秀。在訓(xùn)練仿真領(lǐng)域占有非常大的份額,2005年12月的IITSEC中,至少有35家參展廠商采用它開發(fā)儀表和面板。并且它被許多軟件采用,做為它們的儀表、面板和界面制作模塊,例如MPI的視景仿真軟件Vega Prime采用它替換了自己以前的儀表面板模塊Symbology,在三維場(chǎng)景中顯示儀表和面板。GL Studio被其它許多軟件采用,一方面說(shuō)明它的先進(jìn)性,開發(fā)效率高、開發(fā)質(zhì)量好;另一方面說(shuō)明它軟件結(jié)構(gòu)好,非常便于重用,它完全采用面向?qū)ο蠹夹g(shù),開發(fā)出來(lái)的應(yīng)用非常容易被重用。它在Windows下的開發(fā)編譯環(huán)境就是Microsoft的Visual Studio,非常便于使用,它可以編譯生成.exe、.dll或ActiveX控件,它的運(yùn)行不需要其它軟件支撐

GL Studio虛擬儀表開發(fā)工具

GL Studio是美國(guó)DiSTI公司的旗艦產(chǎn)品,它是一個(gè)獨(dú)立平臺(tái)的快速原型工具,用來(lái)創(chuàng)建實(shí)時(shí)的、照片級(jí)別的、可交互的圖形界面,既可以用于仿真,又可以用于實(shí)際裝備。照片級(jí)別的圖形顯示界面的創(chuàng)建需要人們有兩種不同類型的技能:圖形藝術(shù)家和軟件開發(fā)者。DiSTI設(shè)計(jì)了對(duì)圖形藝術(shù)家和軟件開發(fā)者都非常友好的GL Studio。GL Studio生成的c++和opengl源代碼可以單獨(dú)運(yùn)行,也可以嵌入其他應(yīng)用中;它能運(yùn)行于Windows、Linux、Vxworks等操作系統(tǒng)上。

GL Studio特點(diǎn)

1)GL Studio具有極強(qiáng)的軟件重用性
GL Studio是世界上第一個(gè)采用面向?qū)ο蠓椒ǖ娜藱C(jī)接口開發(fā)工具(HMI)包,其生成的HMI支持對(duì)象重用。其任何設(shè)計(jì)的對(duì)象或者由對(duì)象組成的新的對(duì)象,都可以作為一個(gè)新的重用對(duì)象。也就是說(shuō),GL Studio開發(fā)的HMI都是RSO(Reusable Software Object):
  – RSO可獨(dú)立運(yùn)行;
  – RSO具有對(duì)外接口;
  – RSO包括外觀和內(nèi)在行為;
  – RSO可以由其它RSO構(gòu)成。
因此,使用GL Studio可以方便團(tuán)隊(duì)進(jìn)行設(shè)計(jì)開發(fā)人機(jī)接口,每個(gè)團(tuán)隊(duì)成員開發(fā)各自的HMI,然后把這些RSO集成在一起就可以了。而且這些RSO是軟件重用的資產(chǎn),還可在以后的HMI開發(fā)中重用。
  2)GL Studio不僅支持3D儀表而且支持場(chǎng)景中的3D儀表顯示
  GL Studio是第一個(gè)實(shí)現(xiàn)3D的HMI開發(fā)工具包,它開發(fā)的HMI都是3D的,而且它可以導(dǎo)入3D模型,把HMI布置在3D模型上,實(shí)現(xiàn)場(chǎng)景中的三維儀表顯示。它直接支持的3D模型數(shù)據(jù)為:
  – 3D Studio MAX ASE;
  – Designers Workbench DWB;
  – Alias/Wavefront OBJ;
  – OpenFlight FLT。
  其它3D模型數(shù)據(jù),例如CAD(CATIA, AutoCAD, Pro/E)等數(shù)據(jù),可以通過(guò)上述數(shù)據(jù)格式 導(dǎo)入到GL Studio編輯器中。
  

3D模型

3D環(huán)境

3)GL Studio開發(fā)HMI時(shí)可以實(shí)現(xiàn)一次開發(fā)多次發(fā)布
  用戶開發(fā)HMI 軟件主要是應(yīng)用于以下幾個(gè)方面:
  – 原型設(shè)計(jì) (側(cè)重考慮人機(jī)工程因素,用于產(chǎn)品的原型設(shè)計(jì)與驗(yàn)證)
  – 使用訓(xùn)練 (各種與人機(jī)接口相關(guān)的培訓(xùn),既可用于操作訓(xùn)練,又可用于維護(hù)訓(xùn)練)
  – 課件制作 (用于本地教學(xué)和遠(yuǎn)程教育)
  – 嵌入式應(yīng)用(應(yīng)用于真實(shí)的設(shè)備中)
據(jù)相關(guān)機(jī)構(gòu)統(tǒng)計(jì),在HMI以上幾個(gè)應(yīng)用方面中,僅關(guān)心一個(gè)方面的用戶,占9%;關(guān)心二個(gè)方面的用戶占30%,關(guān)心三個(gè)或三個(gè)以上方面的用戶,占61%。因此GL Studio在設(shè)計(jì)時(shí)不僅可以分別滿足這幾個(gè)方面應(yīng)用的要求,而且格外關(guān)注同時(shí)滿足這幾個(gè)方面應(yīng)用的要求。GL Studio做到了為其中一個(gè)方面開發(fā)的HMI不更改任何設(shè)計(jì)和代碼就可以應(yīng)用于其它方面,這樣減少了工作量,更重要的是提高了軟件質(zhì)量,這是其它HMI開發(fā)工具做不到的。下圖是GL Studio開發(fā)的HMI同時(shí)應(yīng)用于原型設(shè)計(jì)、訓(xùn)練模擬器和真實(shí)裝備上的流程圖。
  


人機(jī)交互接口

4)GL Studio提供開放的對(duì)外接口
GL Studio是完善的HMI開發(fā)工具,因此其不僅提供了HMI開發(fā)平臺(tái),而且提供了開放的對(duì)外接口。它可以通過(guò)CORBA、DIS、HLA、Shared Memory、SCRAMNet? 、TCP/IP or UDP/IP、RS232/422等協(xié)議讀取外界數(shù)據(jù)。可以與眾多第三方軟件集成在一起,例如:Vega Prime、EPX、MAK Stealth、Open Scene Graph、Delta 3D、pC-NOVA、V-Tree、X-Plane、MatLab、PowerPoint、MFC、KineMap、BlueRidge Radar、MapLink、Harris Moving Map、I-Log、ToolBook、FLTK and QT等等。
GL Studio編輯器
GL Studio編輯器是一個(gè)經(jīng)過(guò)長(zhǎng)時(shí)間實(shí)踐驗(yàn)證的3D的所見(jiàn)即所得的繪制工具。它直觀的用戶圖形界面,包括了用戶所期望的所有圖形界面的元素,非常易于使用,不需要任何編程知識(shí):
  

GL Studio編輯器

1)浮動(dòng)工具條
  2)工具提示
  3)多文檔界面
  4)在線查找?guī)椭?br>   5)內(nèi)容敏感的菜單
  6)最近調(diào)用的文件列表
除了眾多圖形應(yīng)用程序都提供的畫布之外,GL Studio編輯器還包含了層次視圖,層次視圖顯示了所有設(shè)計(jì)中的對(duì)象列表,用一個(gè)可折疊的樹狀結(jié)構(gòu)來(lái)顯示。層次視圖使得對(duì)象容易被提取和編輯——即使其它對(duì)象堆疊在它們上面;層次視圖還可以讓用戶將對(duì)象和名稱關(guān)聯(lián)起來(lái),名稱有助于更方便地查找對(duì)象。它還集成了GL Studio代碼生成器,使設(shè)計(jì)出來(lái)的圖形對(duì)象很容易轉(zhuǎn)換為所需要的代碼,并且它可以把用戶定義的源代碼加入到設(shè)計(jì)對(duì)象中。
GL Studio編輯器有十幾種圖形原形,包括規(guī)則多邊形、TrueType文本對(duì)象等等,通過(guò)原形可以組合成更復(fù)雜的對(duì)象。GL Studio編輯器支持所有的繪圖操作,包括剪切、粘貼、轉(zhuǎn)換、縮放、修剪、剔除、頂點(diǎn)編輯、插入和移除頂點(diǎn)、水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、左旋轉(zhuǎn)、右旋轉(zhuǎn)、自由旋轉(zhuǎn)、扭曲、排列對(duì)象和改變繪圖命令等等。
GL Studio編輯器可支持多視圖,包括三個(gè)正交投影視圖和一個(gè)自由視角的透視視圖。設(shè)計(jì)出來(lái)的對(duì)象可以通過(guò)網(wǎng)格、無(wú)紋理或是有紋理等方式來(lái)觀察。平移和縮放可以通過(guò)使用滾動(dòng)條和三種不同的縮放方法來(lái)實(shí)現(xiàn)。為了有助于對(duì)象的布局,對(duì)齊網(wǎng)格的功能可以使對(duì)象在格子的邊界上排成一行。格子的尺寸可以根據(jù)需要來(lái)調(diào)整。編輯器保存了在一次編輯中進(jìn)行的所有操作的歷史記錄,允許使用者撤銷已執(zhí)行的任意操作,直到當(dāng)前編輯器的開始狀態(tài)。

  • GL Studio編輯器支持照片級(jí)紋理的應(yīng)用。一切多邊形的對(duì)象都可以貼紋理。紋理工具可以導(dǎo)入大多數(shù)格式的貼圖,如PNG、TIFF、JPEG、BMP等。貼圖能輕松地在對(duì)象上縮放、旋轉(zhuǎn)和平鋪,以達(dá)到預(yù)期的效果。紋理還能與對(duì)象顏色混合,并支持透明度。

  • GL Studio編輯器還允許使用者鑲嵌復(fù)雜多邊形,鑲嵌工具能將復(fù)雜多邊形轉(zhuǎn)變?yōu)橐唤M三角形。

  • GL Studio代碼生成器已經(jīng)內(nèi)嵌到GL Studio編輯器中,它允許程序員將GL Studio編輯器繪制的圖形轉(zhuǎn)換為C++、Java、涉及安全的C++和OpenGL的源代碼。

如何方便生成真實(shí)的虛擬或數(shù)字儀表和面板?最好的方法就是生成源代碼,這樣就可以讓程序員容易將其合并到他們自己的應(yīng)用程序中,因此GL Studio使用代碼生成器生成可移植的C++代碼。它生成的代碼質(zhì)量高,具有美觀的格式并且容易閱讀。程序員能在他們當(dāng)前的開發(fā)環(huán)境和工具下應(yīng)用GL Studio生成的代碼,而不需要學(xué)習(xí)一個(gè)全新的開發(fā)環(huán)境。因此GL Studio是程序員為程序員設(shè)計(jì)的。
程序員有了圖像的源代碼后,很容易進(jìn)行定制和為目標(biāo)平臺(tái)進(jìn)行優(yōu)化。尤其在性能為決定性因素的情況下,經(jīng)過(guò)編譯的C++程序總能有最好的效率,GL Studio生成的完美優(yōu)化的遵循OpenGL標(biāo)準(zhǔn)的源代碼優(yōu)勢(shì)非常明顯。
代碼生成器能提取GL Studio編輯器中的對(duì)象組,并生成定制的程序組件。這些組件能加到“組件調(diào)色板”中,開發(fā)者可以方便地將它們拖放到設(shè)計(jì)對(duì)象中。例如,一個(gè)ADI(Attitude Direction Indicator)以組件方式被創(chuàng)建后,將來(lái)任何需要ADI的時(shí)候都可以通過(guò)簡(jiǎn)單的拖放將其加到設(shè)計(jì)對(duì)象中。
GL Studio生成的人機(jī)接口有兩種方式與外界交互,一種是讀取外界數(shù)據(jù)來(lái)驅(qū)動(dòng)儀表顯示;一種是響應(yīng)用戶界面事件,實(shí)現(xiàn)面板操作。GL Studio代碼生成器為程序員提供的是源代碼,因此程序員可以通過(guò)編程以CORBA、DIS、HLA、Shared Memory、SCRAMNet? 、TCP/IP or UDP/IP、RS232/422等等協(xié)議讀取外界數(shù)據(jù)。同時(shí),GL Studio提供Call Back功能使圖形化對(duì)象可以響應(yīng)用戶界面事件,例如觸摸屏感應(yīng)、鼠標(biāo)點(diǎn)擊和鍵盤輸入等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,595評(píng)論 25 708
  • 今天,繼續(xù)分享關(guān)于領(lǐng)導(dǎo)力培養(yǎng)這本書,今天重點(diǎn)聽了關(guān)于如何獲取權(quán)力,使得自己變得更重要的一些關(guān)鍵步驟。由于本人對(duì)其中...
    小多媛媛閱讀 430評(píng)論 3 1
  • 省時(shí)省力省心,減少?zèng)Q策成本。背熟上下兩冊(cè),日語(yǔ)可以無(wú)憂。
    歷奇閱讀 436評(píng)論 0 0
  • 與文字相約的日子 天是藍(lán)的,風(fēng)是輕柔的 心是清寧的,光陰是美的 拈一指墨香 觀一朵蓮的超凡脫俗 賞一抹山水的靈氣 ...
    飛翔的櫻花閱讀 167評(píng)論 1 0