Open CASCADE Modeling Data – Topology
Open CASCADE Modeling Data – Topology
一、概述 Overview
Open CASCADE拓樸資料結構可以在幾何物件不顯示的情況下訪問或控制物件的資料。拓樸資料結構在引數空間描述了幾何物件,而Geometry用座標和引數值來定義幾何物件。為了提供這種描述,Open CASCADE抽象的拓樸結構提供以下功能:
u 跟蹤形狀的位置;
u 對形狀、子形狀、狀態進行命名;
u 操縱形狀和子形狀;
u 遍歷拓樸資料結構;
u 使用形狀的列表和對映;
二、跟蹤形狀的位置 Keeping track of Shape Location
區域性座標系(Local Coordinate System)可看作如下兩部分構成:
u 由原點和三個標準正交化後的向量組成的右手座標系;包gp_Ax2對應著這個定義。
u 區域性座標到全域性引用的座標變換。gp_Trsf對應著這個定義。
包TopLoc標識兩個方面:
u 基本引用座標系;
u 由基本座標組成的組合座標系;
兩個座標系若由相同的基本座標系按相同的順序組成,則認為這兩個座標系也相同。例如:若有以下三個基本座標系:R1,R2,R3;組合座標系分別是:
C1 = R1 * R2;
C2 = R2 * R3;
C3 = C1 * R3;
C4 = R1 * C2;
注意到C3和C4是相同的,因為它們都是R1 * R2 * R3。
包TopLoc位於Toolkit TKMath中。
u TopLoc的實現 Implementation of TopLoc
n TopLoc_Datum3D表示一個基本三維座標系;
n TopLoc_Location表示組合座標系;
u 類TopLoc_Datum3D
類TopLoc_Datum3D表示基本座標系的改變。這個改變是共享的,所以由類MMgt_TShared派生而來。這個座標系由gp_Trsf表示。這個變換沒有縮放因子。
u 類TopLoc_Location
類TopLoc_Location表示一系列基本座標系,並且這些座標系是按順序儲存的。
三、對形狀、子形狀、狀態進行命名
包TopAbs提供了描述拓樸結構常用的列舉型別以及對這些列舉型別的處理,其中不包含類。因為對拓樸結構來說太常用,所以將它剝離出去了,這就避免了重新定義這些列舉型別。包TopAbs定義以下三個方面:
n 拓樸結構型別 (TopAbs_ShapeEnum);
n 朝向 (TopAbs_Orientation);
n State (TopAbs_State)
u 拓樸結構型別 Topological Types
TopAbs包含TopAbs_ShageEnum的列舉定義,定義了不同的拓樸元素:
u COMPOUND
u COMPSOLID
u SOLID
u SHELL
u FACE
u WIRE
u EDGE
u VERTEX
u SHAPE
拓樸結構表示的模型可以認為是有相鄰關係的圖形物件。當在二維和三維空間中用拓樸結構來建模時,圖形元素必須屬於上述列舉型別。包TopAbs列舉出了所有模型都包含的圖形元素型別。這些型別不能被擴充套件,但是可以使用它們的子集。如在二維空間中SOLID沒有什麼作用。
每種列舉型別表示的含義如下所示:
COMPOUND | 表示一組拓樸物件 |
COMPSOLID | 表示由面相連的一組實體 |
SOLID | 三維實體 |
SHELL | 邊相邊的面的集合,可以不閉合 |
FACE | 在二維空間中是平面,在三維空間是表面的一部分 |
WIRE | 頂點相連邊集 |
EDGE | 拓樸元素,對應受限的曲線,是一維的 |
VERTEX | 拓樸元素對應點,是零維的 |
SHAPE | 是以上型別的抽象類 |
上述型別從最複雜到最簡單,因為可以用更簡單的元素來描述一個物件。如面引用了WIREs, EDGEs, 和VERTICES。
u 朝向 Orientation
朝向由TopAbs_Orientation表示。朝向是方向的一個通用說法。
u 狀態 State
四、操縱形狀和子形狀
五、遍歷拓樸資料結構
六、使用列表和對映
Shanghai China
2012-10-24