opencascade源码学习之HLRAlgo包 -HLRAlgo

类 HLRAlgo

前言

在给定的投影中,为了达到工业设计、图纸需要的精度,可以删除隐藏的线条。为此,隐藏
线路移除组件提供两个算法:
HLRBRep_Algo和HLRBRep_PolyAlgo。
这些算法删除或指示线条,被表面所掩盖。对于给定的投影,他们,计算一组线特征对象被表示。它们也被使用, 与提取工具结合使用,从a重建一个新的简化形状,计算结果的选择。
这个新形状由代表线条的边组成, 平面中的可视化形状。这个平面是投影平面。
HLRBRep_Algo考虑了形状本身。
HLRBRep_PolyAlgo与形状的多面体简化。
如果使用HLRBRep_Algo,您将获得一个精确的结果,
然而,当你使用 HLRBRep_Pol你减少了计算量时间,但获得多边形片段。

方法

1:更新最大最小值

UpdateMinMax

2:

EnlargeMinMax

3:初始化

InitMinMax

4:

EncodeMinMax

5:包围盒大小

SizeBox

6:

DecodeMinMax

7:复制

CopyMinMax

8:添加

AddMinMax

类HLRAlgo_BiPoint

方法

1:

Rg1Line()

2:

RgNLine()

3:

OutLine()

4:

IntLine()

5:

Hidden()

6:

Indices()

7:

Points()

类HLRAlgo_Coincidence

前言

巧合类用于干扰,将信息存储在“隐藏”边缘。
二维数据:切线和曲率
边缘在交点处的投影。
当十字路口位于,边缘的末端。
3D数据:边缘附近的状态
与面部相交(前后)。
当交叉口“打开”时,这是必要的面。

方法

1

Set2D

2

SetState3D

3

Value2D

4

State3D

类HLRAlgo_EdgeIterator

前言

迭代器在一个对象的可见或隐藏部分上边缘。

方法

1:

InitHidden

2:

NextHidden

3:

NextHidden

4:

InitVisible

5:

NextVisible

6:

Visible

类HLRAlgo_EdgesBlock

前言

EdgesBlock是一组边。它被使用 DataStructure用于构造边。
EdgesBlock包含:
边索引数组。
flagsf阵列( Orientation、OutLine、 Internal、Double、IsoLine)

方法

1:

HLRAlgo_EdgesBlock

2:

NbEdges

2:

Edge

3:

Orientation

4:

OutLine

5:

Internal

6:

Double

7:

IsoLine

8:

UpdateMinMax

9:

MinMax
参考链接
参考链接