OpenMesh的功能和目标
底層資料結構的主要特征:
- 不僅限于三角形網格,也可以處理多邊形網格;
- 頂點,半邊,邊及面的顯示表示;
- 有效通路頂點的單環領域;
- 能夠處理非流形幾何(例如,兩個面僅通過一個頂點相連);
使用C++的目的/特性:
- 柔順性:
- 為标量及坐标選擇合适的類型(例如,滿足二維、三維或n維的float、double類型運算);
- 根據您自己的需求屬性/性質強化項目類型。例如,加入一個向量或者FaceHandle類到Vertex類型中;
- 效率高:
- 避免虛拟繼承和虛函數調用開銷;
- 在編譯時解析盡可能多的類型/屬性依賴性,而不是在運作時測試屬性(例如,面的法向量)。
- 句柄類型安全
不存在類型轉換,頂點、半邊、面能夠識别其對應的句柄
自從版本0.10.0開始,支援Microsoft Visual C &