OCCT-TopoDS_Shape解析

内容纲要

结构图

关系图
在这张图中,我们看到的是Open CASCADE Technology (OCCT) 的拓扑数据结构的类继承图。TopoDS_Shape是所有拓扑形状类的基类。它是一个抽象基类,为所有具体的拓扑元素提供了共同的接口和功能。

从TopoDS_Shape派生出的类包括:

  • TopoDS_Vertex:表示一个顶点,CAD模型中的一个点。
  • TopoDS_Edge:表示一条边,可以是直线、圆弧等。
  • TopoDS_Wire:表示一组有序的、连续的边,通常用于定义面的边界。
  • TopoDS_Face:表示一个面,它可以是平面、曲面等。
  • TopoDS_Shell:表示由一组面组成的连续闭合或非闭合的壳。
  • TopoDS_Solid:表示一个实体,由一个或多个外壳定义的封闭体积。
  • TopoDS_CompSolid:表示一个由多个连接在一起的实体组成的复合实体。
  • TopoDS_Compound:表示一个组合,可以包含任何其他拓扑形状,甚至可以是其他的TopoDS_Compound。

这种继承关系允许OCCT以统一的方式处理不同的拓扑元素。所有这些类在内存中以一种高度优化的方式表示拓扑实体,支持OCCT强大的建模、查询和几何操作功能。通过此类层次结构,OCCT为CAD、CAM、CAE等应用提供了创建、编辑和分析复杂3D模型的能力。
基于您提供的关于 TopoDS_Shape 类的参考信息,我将创建一份更易于理解的Markdown格式文档。这份文档旨在帮助中国读者更好地理解 TopoDS_Shape 类的用途、方法和特性。


TopoDS_Shape 类参考

TopoDS_Shape 类描述了一个形状,这个形状引用了一个具有位置和方向潜力的底层形状。它有一个为底层形状提供的局部坐标系统的位置,以及一个表示其几何方向(相对于其他形状的方向除外)的方向。

包含文件

#include <TopoDS_Shape.hxx>

继承图

此类的继承关系请参照文档中的继承图。

公有成员函数

构造函数

  • TopoDS_Shape():创建一个引用为空的 NULL 形状。
  • TopoDS_Shape(T2 &&theOther):泛型移动构造函数,也接受子类作为参数。此处的 TopoDS_Shape 层次结构只声明了没有额外字段的伪子类。

方法

  • IsNull() const:如果这个形状是空的,则返回 true。

  • Nullify():销毁存储在这个形状中的对底层形状的引用。结果是,这个形状变成了空。

  • Location() const:返回形状的局部坐标系统。

  • Location(const TopLoc_Location &theLoc, const Standard_Boolean theRaiseExc=Standard_True):设置形状的局部坐标系统。

  • Orientation() const:返回形状的方向。

  • Orientation(TopAbs_Orientation theOrient):设置形状的方向。

  • ShapeType() const:返回与此形状对应的 TopAbs_ShapeEnum 枚举值,例如 VERTEX, EDGE 等。

  • TShape() const:返回实际形状实现的句柄。

  • Move(const TopLoc_Location &thePosition, const Standard_Boolean theRaiseExc=Standard_True):通过 thePosition 乘以形状位置。

  • Reverse():使用 TopAbs 包中的 Reverse 方法反转方向。

  • Complement():使用 TopAbs 包中的 Complement 方法补全方向。

  • Compose(TopAbs_Orientation theOrient):使用来自 TopAbs 包的 Compose 方法通过与 theOrient 组合更新形状方向。

标志相关方法

提供了一系列方法来获取和设置各种标志,例如:Free, Locked, Modified, Checked, Orientable, Closed, Infinite, Convex。每个标志都有对应的返回当前标志状态的方法和设置该标志状态的方法。

比较和哈希

  • IsEqual(const TopoDS_Shape &theOther) const:如果两个形状相等,则返回 True。

  • IsSame(const TopoDS_Shape &theOther) const:如果两个形状是相同的,则返回 True。

  • IsPartner(const TopoDS_Shape &theOther) const:如果两个形状是伙伴,则返回 True。

  • HashCode(Standard_Integer theUpperBound) const:返回表示 <me> 的散列值。这个值在 [1, theUpperBound] 范围内。

复制和变换

  • EmptyCopy():用具有相同方向和位置的新形状替换 <me>,并且新的 TShape 具有相同的几何形状而没有子形状。

  • DumpJson(Standard_OStream &theOStream, Standard_Integer theDepth=-1) const:将 <me> 的内容转储到流中。


这份文档仅提供了 TopoDS_Shape 类的基本概览。

版权声明:
作者:Comely
链接:https://www.alimzs.com/index.php/2024/03/14/occt-topods_shape%e8%a7%a3%e6%9e%90/
来源:CAE
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
海报
OCCT-TopoDS_Shape解析
内容纲要 结构图 在这张图中,我们看到的是Open CASCADE Technology (OCCT) 的拓扑数据结构的类继承图。TopoDS_Shape是所有拓扑形状类……
<<上一篇
下一篇>>