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