OpenCASCADE動畫功能2
eryar@163.com
OpenCASCADE是一個開發平台,主要提供三維曲面和實體建模、CAD數據交換及可視化等功能。OCCT最適用於開發三維建模CAD軟件、加工制造或測量(CAM)軟件及數值仿真軟件。對於一些加工制造軟件,需要簡單的動畫仿真功能。本文主要就來說說OCCT的動畫功能。
OCCT從7.1.0版本引入了類AIS_Animation等用於實現動畫功能的類。
https://www.opencascade.com/sites/default/files/documents/release_notes_7.1.0.pdf
並在Draw Test Harness中增加命令vanimation來測試動畫功能。其類圖如下所示:
根據類圖可知,OCCT中的動畫分兩種形式:模型動畫和視圖動畫。本文主要關注的是Draw Test Harness中的命令vanimation的一些參數設置對動畫功能的影響。下圖為Draw Test Harness中命令vanimation的幫助信息:
在命令的幫助信息中給了動畫功能命令的詳細說明。如動畫的定義、視圖(相機)動畫、模型動畫、增加回調函數及視頻錄制功能等。其中有兩個參數會影響動畫過程中視圖的交互。這兩個參數是:
l -freeLook:跳過視圖動畫,字面意思是動畫的時候還可以對視圖進行縮放、旋轉等操作;
l -lockLoop:禁用交互,字面意思是鎖定動畫循環,動畫過程中不能有交互,需要等待動畫循環結束。
這兩個參數的設置可以實現類似於OpenSceneGraph中的動畫仿真功能,感覺像是多線程的動畫。即模型動畫過程中還可以對視圖進行交互操作。
從上面的動畫可以看出,當模型動畫的過程中,還可以對視圖進行交互操作,如縮放和旋轉等。對於有這種功能需求的,可以參考Draw Test Harness中命令vanimation的具體代碼實現。