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

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

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