类V3d_RectangularGrid
V3d_RectangularGrid()
V3d_RectangularGrid::V3d_RectangularGrid(const V3d_ViewerPointer &aViewer,
const Quantity_Color &aColor,
const Quantity_Color &aTenthColor)
// 构造函数
◆ ~V3d_RectangularGrid()
virtual V3d_RectangularGrid::~V3d_RectangularGrid()
// 虚析构函数
成员函数文档
◆ Display()
virtual void V3d_RectangularGrid::Display()
overridevirtual
// 在屏幕上显示网格。
实现了 Aspect_Grid。
◆ DumpJson()
virtual void V3d_RectangularGrid::DumpJson(Standard_OStream &theOStream,
Standard_Integer theDepth = -1) const
overridevirtual
// 将我的内容转储到流中。
从 Aspect_RectangularGrid 重新实现。
◆ Erase()
virtual void V3d_RectangularGrid::Erase() const
overridevirtual
// 从屏幕上擦除网格。
实现了 Aspect_Grid。
◆ GraphicValues()
void V3d_RectangularGrid::GraphicValues(Standard_Real &XSize,
Standard_Real &YSize,
Standard_Real &OffSet) const
// 返回图形参数值。
◆ IsDisplayed()
virtual Standard_Boolean V3d_RectangularGrid::IsDisplayed() const
overridevirtual
// 当网格在屏幕上显示时返回 TRUE。
实现了 Aspect_Grid。
◆ SetColors()
virtual void V3d_RectangularGrid::SetColors(const Quantity_Color &aColor,
const Quantity_Color &aTenthColor)
overridevirtual
// 更改网格的颜色。
从 Aspect_Grid 重新实现。
◆ SetGraphicValues()
void V3d_RectangularGrid::SetGraphicValues(const Standard_Real XSize,
const Standard_Real YSize,
const Standard_Real OffSet)
// 设置图形参数值。
◆ UpdateDisplay()
virtual void V3d_RectangularGrid::UpdateDisplay()
overrideprotectedvirtual
// 更新网格参数。
这个包提供了来自 BRepAdaptor 的曲线和曲面的包围盒。这些函数用于将拓扑形状添加到一个包围盒中。
Add()
向包围盒 B 中添加形状 S。具体来说,将依次添加到 B 中:每个 S 的面;如果存在,则使用面的三角剖分;然后是 S 的每条不属于面的边,如果存在,则使用边的多边形;最后是 S 的每个不属于边的顶点。在每个基本操作之后,包围盒 B 的大小会增加相应子形状的公差值。当使用面的三角剖分时,这种增大值是三角剖分偏差和面公差的总和。当使用边的多边形时,这种增大值是多边形偏差和边公差的总和。警告:如果没有在形状 S 的数据结构中插入三角剖分,则此算法会消耗大量时间。结果的包围盒可能比对象略大。
AddClose()
将形状 S 添加到包围盒 B 中。这是一种快速算法,但仅在形状 S 由多边形平面面组成时有效,如 S 是精确形状的逼近多面体表示时。特别注意,因为不检查此条件,如果未遵守此条件,则在建立包围盒的算法中可能会出现错误。请注意,结果的包围盒不会像 Add 函数那样通过子形状的公差值增大。因此,结果的包围盒的添加部分更接近形状 S。
AddOBB()
计算形状 theS 的定向包围盒。实现了两种独立的计算方法:第一种基于点集(因此需要三角剖分形状或具有平面面和线性边的形状)。如果 theIsTriangulationUsed 为 FALSE,则将完全忽略三角剖分。如果 theIsShapeToleranceUsed 为 TRUE,则结果盒子将根据形状的公差进行扩展。theIsOptimal 标志定义是否为了性能而寻找更紧凑的 OBB。
AddOptimal()
将形状 S 添加到包围盒 B 中。此算法构建精确的包围盒,其仅在形状的几何边界上与精确几何边界有所不同。算法与 Add 方法相同,但使用更精确的方法构建几何对象的包围盒。如果 useShapeTolerance = True,则包围盒将根据形状公差进行扩展,并且这些公差将用于包围盒大小计算的数值方法,否则,包围盒将根据底层几何实体的大小进行构建,数值计算使用公差 Precision::Confusion()。
总结
使用过程中 Add 求的快一些 但是有些求取不准确
AddOptimal 相比Add求的慢一些 但是比Add准确度高