OpenMesh學習筆記2 特點和開發目標
OpenMesh所採用的數據結構決定了它有以下主要特點:
- 不限於三角網格,也能處理一般的多邊形網格:
- 頂點、半邊、邊和麪的顯示錶示;
- 高效遍歷某個頂點的1-ring領域;
- 處理非流形點。
C++實現目標\特點:
1. 靈活性:
可以選擇標量或者向量的數據類型;
對於每一個元素(點,線,面等),都可以增加預定義或自定義屬性。
2. 高效性:
避免虛擬繼承和調用虛擬函數的系統開銷;
在編譯時,儘可能多的確定類型\特性等,而不是在運行時計算和測試(如在編譯時就確定好面的法向信息);
3. 句柄的類型安全,沒有類型轉換,點,邊,半邊,面之間可以通過各自的句柄相互訪問。