999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MFC的Vega Prime視角切換方法設計與實現(xiàn)

2015-12-10 07:04:48程乃偉李想蔣波沱董宇佳黃輝
山東工業(yè)技術 2015年24期

程乃偉+李想+蔣波沱+董宇佳+黃輝

摘 要:采用基于Vega Prime的三維仿真技術,結(jié)合MFC在單文檔程序框架下利用定時器的方式,通過實例模擬火災現(xiàn)場,實現(xiàn)多視角的相互切換,并可應用于進一步的仿真模擬中,達到全方位觀測事故現(xiàn)場的目的。

關鍵詞:Vega Prime;視角切換;文檔視圖;應急救援

DOI:10.16640/j.cnki.37-1222/t.2015.24.026

1 引言

隨著虛擬現(xiàn)實技術的發(fā)展,視景仿真模擬技術正與越來越多的技術領域相結(jié)合。基于Vega Prime的仿真模擬技術可實現(xiàn)對火災現(xiàn)場應急救援工作的再現(xiàn),有助于查明事故發(fā)生原因,找到事故的因果關系。本文利用Vega Prime仿真模擬技術在MFC單文檔框架下,實現(xiàn)界面上的多視角仿真的同步切換,再現(xiàn)火災事故現(xiàn)場為事故調(diào)查分析提供清晰的畫面感。

2 火災應急救援場景模擬及視角切換的實現(xiàn)

2.1 MFC客戶區(qū)的視圖分割

用戶界面作為系統(tǒng)與用戶之間直接交互手段,可應用MFC實現(xiàn)可視化界面。窗口視圖分割可以使程序的功能分區(qū)更加明確,在MFC中提供了CSplitterWnd類,可以方便地實現(xiàn)窗口分割。其有兩種使用方法,一是調(diào)用Create成員函數(shù)可創(chuàng)建動態(tài)分割窗口,另一種是調(diào)用CreateStatic成員函數(shù)進行創(chuàng)建靜態(tài)的分割窗口。

由于本例中只需創(chuàng)建靜態(tài)分割窗口即可,所以需要調(diào)用CreateView類為靜態(tài)分割的窗口創(chuàng)建視圖,并在參數(shù)中指明新視圖的行列序號,類名稱,新視圖的起始大小以及創(chuàng)建視圖的上下文指針。

在分割視圖前需對整個程序界面進行初步設計,分為VP場景顯示區(qū)、信息顯示區(qū)、功能按鍵區(qū)。其具體過程為:(1)在CMainFrame中定義CSplitterWnd對象(2)重載框架類虛函數(shù)OnCreateClient(3)在OnCreateClient中用CSplitterWnd對象調(diào)用CreatStatic將窗口分割為2行1列,再調(diào)用CreatView創(chuàng)建CMyVPView類和CMyEditView類分別用于顯示場景和文字狀態(tài)顯示。(4)創(chuàng)建一個對話框資源,設置其風格為Child,無邊框,為其添加新類,選擇基類為CDialogBar,并在CMainFrame中添加變量,調(diào)用Create函數(shù),這樣就已將對話框以工具條的形式鑲嵌在框架上。

2.2 視圖窗口中顯示Vega Prime的場景

Vega Prime 應用程序的基本運行流程是:初始化VP,定義ACF,配置ACF, 運行幀循環(huán)以及最后退出幀循環(huán)。基于MFC的Vega Prime程序在對話框和單文檔內(nèi)均可實現(xiàn),其運行方式即可基于線程,也可基于定時器。

本例中采用基于定時器的單文檔程序運行Vega Prime。其過程為:(1)在CMyVPView類WM_CREATE消息響應函數(shù)中對VP進行初始化、設置ACF文件、加載ACF文件、設置父窗口、調(diào)用beginFrame/endFrame 打開Vega Prime 窗口、設置定時器用來更新場景。(2)在WM_TIMER消息響應函數(shù)中運行幀循環(huán),按設置的好的幀數(shù)更新VP場景。(3)在WM_SIZE響應函數(shù)設置窗口大小,可動態(tài)調(diào)整。(4)重載虛函數(shù)OnActivateView設置VP窗口為輸入焦點(5)最后在CMyVPView類的析構(gòu)函數(shù)中關閉VP,退出幀循環(huán)。

2.3 場景的視角切換

Vega Prime中各類實例之間有著清晰的層次關系,根據(jù)實例樹圖可知其順序為:管道vpPipeline→窗口vpWindow→通道vpChannel→觀察者vpObserver→場景vpScene→對象vpObject→轉(zhuǎn)換vpTransform等。

在視角切換的過程中,關鍵環(huán)節(jié)為觀察者的設置,由于場景的通道配置與觀察者關系通常固定不變,對象與轉(zhuǎn)換間的關系也相對固定,因此,將動態(tài)配置觀察者的觀察目標與觀察點成為了問題的關鍵。作為觀察者vpObserver目標的不僅有對象vpObject,也可以是對象的轉(zhuǎn)換vpTransform,這就便于在觀察者以更佳的角度進行觀測目標,對于個別對象將觀察者觀察點設置為其轉(zhuǎn)換坐標既可以觀察其自身的狀態(tài)、動作,又可以觀察其對場景中其他對象、環(huán)境的影響。

本例設計一個通道為主觀察通道,三個副觀察通道,可隨時隨意將三個副觀察通道的場景載入到主觀察通道中,所以首先為VP的窗口分配了四個通道,分別為ambulanceChannel(AC)、towerChannel(TC)、firetruckChannel(FC)、mainChannel(MC)。其中AC作為救護車視角專用通道,TC作為塔高視角專用通道,F(xiàn)C作為消防車視角專用通道,MC作為切換視角的預留通道,可設置其默認通道為TC。

然后為四個通道分別配置觀察者:ambulanceObserver(AO)、towerObserver(TO)、firetruckObserver(FO)、mainObserver(MO)。為實現(xiàn)通道顯示不同的場景只需對其觀察者進行動態(tài)配置,由于AO、TO、FO在程序運行中不做變化,所以只對MO進行動態(tài)配置即可。在MO配置頁面中,可設置Look At Target和Look From Target來設置觀察者的目標觀察物和觀察點,同理在MFC程序可通過Button控件的響應函數(shù)來動態(tài)設置MO的目標觀察物和觀察點。

其過程如下:(1)對觀察者目標指針、相關觀察物與觀察點進行靜態(tài)化改造;(2)在相應的控件響應函數(shù)中,用觀察者指針調(diào)用setLookAt和setLookFrom并根據(jù)需求設置參數(shù);(3)用內(nèi)核實例調(diào)用beginFrame和endFrame對場景進行刷新;(4)格式化相應文本信息字符串,調(diào)用SetWindowText顯示文本信息。

3 總結(jié)

Vega Prime視角切換方法,可運用于火災現(xiàn)場應急救援的模擬過程及各種視景仿真開發(fā)的基礎功能。基于MFC的Vega Prime程序的操作更加靈活,一定程度上簡化了用戶的操作,本文范例程序具有良好通用性、實用性和可擴展性,為后續(xù)開發(fā)提供支持。

作者簡介:程乃偉(1960-),男,遼寧沈陽人,碩士,教授,碩士生導師,研究方向:信息化安全技術。endprint

主站蜘蛛池模板: 91福利在线看| 99爱视频精品免视看| 欧美中文字幕第一页线路一| 国产在线观看一区二区三区| 高清不卡一区二区三区香蕉| 欧美久久网| 天天综合天天综合| 国产草草影院18成年视频| 波多野结衣视频一区二区| 国产丝袜丝视频在线观看| 中国一级特黄视频| 国产精品免费久久久久影院无码| 中国国产高清免费AV片| 日韩精品免费在线视频| 久久精品亚洲热综合一区二区| 亚洲无码视频一区二区三区| 亚洲免费成人网| 国产午夜无码片在线观看网站 | 亚洲国产综合自在线另类| 色悠久久综合| 日韩国产综合精选| 国产尹人香蕉综合在线电影| 亚洲国产成人精品青青草原| 亚洲国产中文欧美在线人成大黄瓜| 国产成a人片在线播放| 夜精品a一区二区三区| 成色7777精品在线| 国产一级二级三级毛片| 蜜臀AVWWW国产天堂| 国产麻豆精品在线观看| 蜜桃视频一区| 无码国产偷倩在线播放老年人| 国产美女叼嘿视频免费看| 成人福利在线看| 欧美精品亚洲二区| 亚洲天堂久久新| 另类欧美日韩| 亚洲精品爱草草视频在线| 成人福利在线视频| 99视频精品全国免费品| 日韩精品高清自在线| 青青久久91| 亚欧成人无码AV在线播放| 亚洲欧洲AV一区二区三区| 亚洲第一区在线| 欧美自慰一级看片免费| 超清无码一区二区三区| 国产视频一区二区在线观看| 最新日本中文字幕| 国产人妖视频一区在线观看| 人妻免费无码不卡视频| 亚洲人成网站在线播放2019| 手机精品视频在线观看免费| 国产丝袜啪啪| 国产在线视频欧美亚综合| 毛片免费网址| 在线欧美日韩| 国产乱人伦AV在线A| 国产精品毛片一区| 久久亚洲黄色视频| 免费午夜无码18禁无码影院| 99re在线视频观看| 亚洲精品无码高潮喷水A| 国产一二视频| yy6080理论大片一级久久| 欧美精品高清| 国产精品第一区| 一级高清毛片免费a级高清毛片| 亚洲国产在一区二区三区| 亚洲成人77777| 91蜜芽尤物福利在线观看| 国产在线麻豆波多野结衣| 色综合色国产热无码一| 日本爱爱精品一区二区| 人妻丰满熟妇AV无码区| 国产SUV精品一区二区| 在线看片国产| 一区二区欧美日韩高清免费| 日本少妇又色又爽又高潮| 亚洲人成网站在线播放2019| 免费播放毛片| 黄色一及毛片|