(转载)拓扑结构与TopoDS

转载: http://www.cppblog.com/mythma/archive/2008/01/24/41774.html
拓扑结构与TopoDS
一、拓扑结构

参数空间
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官方文档 
 

你可能感兴趣的:(数据结构,shell,System,Class,文档,reference)