Posted on 2019-12-05 17:37
eryar 閱讀(3397)
評論(0) 編輯 收藏 引用 所屬分類:
2.OpenCASCADE
OpenCASCADE動畫功能2
eryar@163.com
OpenCASCADE是一個(gè)開發(fā)平臺,主要提供三維曲面和實(shí)體建模、CAD數(shù)據(jù)交換及可視化等功能。OCCT最適用于開發(fā)三維建模CAD軟件、加工制造或測量(CAM)軟件及數(shù)值仿真軟件。對于一些加工制造軟件,需要簡單的動畫仿真功能。本文主要就來說說OCCT的動畫功能。
OCCT從7.1.0版本引入了類AIS_Animation等用于實(shí)現(xiàn)動畫功能的類。
https://www.opencascade.com/sites/default/files/documents/release_notes_7.1.0.pdf

并在Draw Test Harness中增加命令vanimation來測試動畫功能。其類圖如下所示:
根據(jù)類圖可知,OCCT中的動畫分兩種形式:模型動畫和視圖動畫。本文主要關(guān)注的是Draw Test Harness中的命令vanimation的一些參數(shù)設(shè)置對動畫功能的影響。下圖為Draw Test Harness中命令vanimation的幫助信息:
在命令的幫助信息中給了動畫功能命令的詳細(xì)說明。如動畫的定義、視圖(相機(jī))動畫、模型動畫、增加回調(diào)函數(shù)及視頻錄制功能等。其中有兩個(gè)參數(shù)會影響動畫過程中視圖的交互。這兩個(gè)參數(shù)是:
l -freeLook:跳過視圖動畫,字面意思是動畫的時(shí)候還可以對視圖進(jìn)行縮放、旋轉(zhuǎn)等操作;
l -lockLoop:禁用交互,字面意思是鎖定動畫循環(huán),動畫過程中不能有交互,需要等待動畫循環(huán)結(jié)束。
這兩個(gè)參數(shù)的設(shè)置可以實(shí)現(xiàn)類似于OpenSceneGraph中的動畫仿真功能,感覺像是多線程的動畫。即模型動畫過程中還可以對視圖進(jìn)行交互操作。

從上面的動畫可以看出,當(dāng)模型動畫的過程中,還可以對視圖進(jìn)行交互操作,如縮放和旋轉(zhuǎn)等。對于有這種功能需求的,可以參考Draw Test Harness中命令vanimation的具體代碼實(shí)現(xiàn)。
為了方便大家在移動端也能看到我的博文和討論交流,現(xiàn)已注冊微信公眾號,歡迎大家掃描下方二維碼關(guān)注。