Open CASCADE Modeling Data – Topology
eryar@163.com
一、概述 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
四、操縱形狀和子形狀
五、遍歷拓樸數據結構
六、使用列表和映射
eryar@163.com
Shanghai China
2012-10-24