一、拓撲結構 參數空間 OpenCASCADE的拓撲結構是在參數空間描述實體的數據結構——用局部參數空間或受限參數空間描述。
Quote:
參數空間(Parametric Space):設(X1,……,Xn)為來自總體X的樣本,(x1,…xn)為相應的樣本值,θ是總體分布的未知參數,θ∈Θ,
Θ表示θ的取值范圍,稱Θ為參數空間
能用這樣的方法描述的的拓撲結構有:Vertex, Face 和 Shape。其中,Vertex用局部參數空間定義,Face和Shape用受限參數空間定義。
各種拓撲結構的關系 簡單的拓撲結構可以可以組合成復雜拓撲結構:
Edge的集合構成Wire,Face的集合構成Shell,Solid的集合構成CompSolid。
各種不同的shape構成Compound
共享數據結構 shape在拓撲結構中是可以共享的,例如兩條邊的共點,兩個面的共邊。CASCADE用引用方法處理共享數據結構,當簡單的引用不能滿足需要的時候,就要用到另外的信息:orientation 和 local coordinate reference ( LCR )。其中,
× Orientation 用于指定shape在邊界中的引用方法(shape的方向)。
× LCR 允許為一個shape制定一個不同于其定義位置的location。
Quote:
Orientation: CASCADE的四類方向
Quote:
Coordinate System of OpenCASCADE
二、TopoDS OpenCASCADE的TopoDS package提供了兩大類class × TopoDS_Shape及其子類
包含orientation和location信息
× TopoDS_TShape及其子類
在local coordinate system描述shape,沒有orientation信息。
兩者的聯系:
TopoDS_Shape
引用了一份TopoDS_TShape,并為TopoDS_TShape增加了orientation和location信息。結合
共享數據結構部分就可以看出:TopoDS_TShape包含了真正的幾何數據,TopoDS_Shape實現了數據共享機制,并沒有復雜的數據結構。正因為如此,CASCADE中TopoDS_Shape是以value的方式處理,而TopoDS_TShape以引用的方式處理。
TopoDS_Shape對象的比較 Partner關系:共享相同的TopoDS_TShape
Same關系:Partner關系,并且共享相同的local reference
Equal關系:Same關系,并且擁有相同的 Orientation,真正的相等。
參考文獻: OpenCASCADE官方文檔