PolyDataProcess 多边形处理工具

PolyDataProcess 算子用于对 RVS 中 PolyData 数据形式的 3D 目标进行处理。包含:CleanPolyData、ClipPolyData、SaclePolyData、TransformPolyData、MergePolyData。

类型 功能
CleanPolyData 用于清理 PolyData 数据,可以移除无效的点、重复的点、无效的面片。
ClipPolyData 根据输入的立方体区域对 PolyData 进行切割。
SaclePolyData 用于设置 PolyData 的比例。
TransformPolyData 用于PolyData 空间变换,对PolyData进行平行、旋转操作。
MergePolyData 用于将多个 PolyData 合并为一个 PolyData 输出。

CleanPolyData

将 PolyDataProcess 算子的类型属性选择 CleanPolyData,用于清理多边形数据,可以移除无效的点、重复的点、无效的面片。

算子参数

  • 公差值:判断点和面片是否无效的阈值。如果点之间的距离小于公差值,则这些点被认为是重复的点,会被移除。如果面片的法向量与相邻面片的法向量之间的夹角大于公差值,则这些面片被认为是无效的面片,也会被移除。

  • 多边形:设置多边形在 3D 视图中的可视化属性。

    • icon_visOn 打开多边形可视化。

    • icon_visOff 关闭多边形可视化。

    • icon_color 设置多边形的颜色。取值范围:[-2,360] 。默认值:-2 。

    • icon_opacity设置多边形透明度。取值范围:[0,1]。默认值:1。

数据信号输入输出

输入

  • polydata

    • 数据类型:PolyData

    • 输入内容:多边形

输出:

  • polydata

    • 数据类型:PolyData

    • 输出内容:清理后的多边形

功能演示

使用 PolyDataProcess 中 CleanPolyData 类型,对加载的 PolyData 进行清理数据。

步骤1:算子准备

添加 Trigger、Load、PolyDataProcess 算子至算子图。

步骤2:设置算子参数

  • 设置 Load 算子参数:

    • 类型 → PolyData

    • 文件 → example_data/obj/J0.obj

    • 多边形 → icon_visOn 可视化

  • 设置 PolyDataProcess 算子参数:

    • 类型 → CleanPolyData

    • 多边形 → icon_visOn 可视化

步骤3:连接算子

PolyDataProcess_CleanPolydata_node

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,左图显示 Load 算子加载的多边形,右图为清理数据后的多边形。

PolyDataProcess_CleanPolydata_result

ClipPolyData

将 PolyDataProcess 算子的类型属性选择 ClipPolyData,根据输入的立方体区域对多边形进行切割。需要结合 Emit - Cube 算子使用。

算子参数

  • 多边形:设置多边形在 3D 视图中的可视化属性。

    • icon_visOn 打开多边形可视化。

    • icon_visOff 关闭多边形可视化。

    • icon_color 设置多边形的颜色。取值范围:[-2,360] 。默认值:-2 。

    • icon_opacity设置多边形透明度。取值范围:[0,1]。默认值:1。

数据信号输入输出

输入

  • polydata

    • 数据类型:PolyData

    • 输入内容:多边形

  • cube

    • 数据类型:Cube

    • 输入内容::立方体

输出:

  • polydata

    • 数据类型:PolyData

    • 输出内容:切割后的多边形

功能演示

使用 PolyDataProcess 中 ClipPolyData 类型,对加载的 PolyData 进行切割。

步骤1:算子准备

添加 Trigger、Load、Emit、PolyDataProcess 算子至算子图。

步骤2:设置算子参数

  • 设置 Load 算子参数:

    • 类型 → PolyData

    • 文件 → example_data/obj/J0.obj

    • 多边形 → icon_visOn 可视化

  • 设置 Emit 算子参数:

    • 类型:Cube

    • 坐标 → 0 -0.15 -0.01 0 0 0

    • 宽度/高度/深度 → 0.3

    • 立方体 → icon_visOn 可视化

  • 设置 PolyDataProcess 算子参数:

    • 类型 → ClipPolyData

    • 多边形 → icon_visOn 可视化

步骤3:连接算子

PolyDataProcess_ClipPolyData_node

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,左图显示 Load 算子加载的多边形和 Emit 算子生成的 Cube,右图切割后的多边形。

PolyDataProcess_ClipPolyData_result

SaclePolyData

将 PolyDataProcess 算子的类型属性选择 SaclePolyData,用于设置多边形的比例。

算子参数

  • 比例:设置多边形的比例。默认值:1。

  • 多边形:设置多边形在 3D 视图中的可视化属性。

    • icon_visOn 打开多边形可视化。

    • icon_visOff 关闭多边形可视化。

    • icon_color 设置多边形的颜色。取值范围:[-2,360] 。默认值:-2 。

    • icon_opacity设置多边形透明度。取值范围:[0,1]。默认值:1。

数据信号输入输出

输入

  • polydata

    • 数据类型:PolyData

    • 输入内容:多边形

输出:

  • polydata

    • 数据类型:PolyData

    • 输出内容:调整比例后的多边形

功能演示

使用 PolyDataProcess 中 SaclePolyData 类型,将加载的 PolyData,比例修改为2。

步骤1:算子准备

添加 Trigger、Load、PolyDataProcess 算子至算子图。

步骤2:设置算子参数

  • 设置 Load 算子参数:

    • 类型 → PolyData

    • 文件 → example_data/obj/J0.obj

    • 多边形 → icon_visOn 可视化

  • 设置 PolyDataProcess 算子参数:

    • 类型 → SaclePolyData

    • 多边形 → icon_visOn 可视化

步骤3:连接算子

PolyDataProcess_SaclePolyData

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,左图显示 Load 算子加载的多边形,右图调整比例后的多边形。

PolyDataProcess_PolyDataProcess_node

TransformPolyData

将 PolyDataProcess 算子的类型属性选择 TransformPolyData,用于多边形空间变换,对PolyData 进行平行、旋转操作。

算子参数

  • 多边形:设置多边形在 3D 视图中的可视化属性。

    • icon_visOn 打开多边形可视化。

    • icon_visOff 关闭多边形可视化。

    • icon_color 设置多边形的颜色。取值范围:[-2,360] 。默认值:-2 。

    • icon_opacity设置多边形透明度。取值范围:[0,1]。默认值:1。

数据信号输入输出

输入

  • polydata

    • 数据类型:PolyData

    • 输入内容:多边形

  • pose

    • 数据类型:Pose

    • 输入内容:相对坐标

输出:

  • polydata

    • 数据类型:PolyData

    • 输出内容:变换后的多边形

功能演示

使用 PolyDataProcess 中 TransformPolyData 类型,将加载的 PolyData,朝 X 轴正方向移动 0.3m。

步骤1:算子准备

添加 Trigger、Load、Emit、PolyDataProcess 算子至算子图。

步骤2:设置算子参数

  • 设置 Load 算子参数:

    • 类型 → PolyData

    • 文件 → example_data/obj/J0.obj

    • 多边形 → icon_visOn 可视化

  • 设置 Emit 算子参数:

    • 类型 → Pose

    • 坐标 → 0.3 0 0 0 0 0

    • 坐标 → icon_visOn 可视化

  • 设置 PolyDataProcess 算子参数:

    • 类型 → TransformPolyData

    • 多边形 → icon_visOn 可视化

步骤3:连接算子

PolyDataProcess_TransformPolyData_node

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,左图显示 Load 算子加载的多边形和生成的坐标,右图在生成的坐标处显示转换后的多边形。

PolyDataProcess_TransformPolyData_result

MergePolyData

将 PolyDataProcess 算子的类型属性选择 MergePolyData,用于将多个 PolyData 合并为一个 PolyData 输出。

算子参数

  • 输入数量:设置该算子的 polydata_? 输入端口的数量。范围:[1,10] 。默认值:2。

  • 多边形:设置多边形在 3D 视图中的可视化属性。

    • icon_visOn 打开多边形可视化。

    • icon_visOff 关闭多边形可视化。

    • icon_color 设置多边形的颜色。取值范围:[-2,360] 。默认值:-2 。

    • icon_opacity设置多边形透明度。取值范围:[0,1]。默认值:1。

数据信号输入输出

输入

  • polydata_?

    • 数据类型:PolyData

    • 输入内容:多边形

输出:

  • polydata

    • 数据类型:PolyData

    • 多边形输出内容:多边形

功能演示

使用 PolyDataProcess 中 MergePolyData 类型,将加载的两个 polydata 合并为一个 polydata 输出。

步骤1:算子准备

添加 Trigger、Load(2个)、PolyDataProcess 算子至算子图。

步骤2:设置算子参数

  • 设置 Load 算子参数:

    • 类型 → PolyData

    • 文件 → example_data/obj/J0.obj

    • 多边形 → icon_visOn 可视化

  • 设置 Load_1 算子参数:

    • 类型 → PolyData

    • 文件 → example_data/obj/J1.obj

    • 多边形 → icon_visOn 可视化

  • 设置 PolyDataProcess 算子参数:

    • 类型 → MergePolyData

    • 多边形 → icon_visOn 可视化

步骤3:连接算子

PolyDataProcess_MeragePolydata_node

步骤4:运行

点击 RVS 运行按钮,触发 Trigger 算子。

运行结果

如下图所示,左图显示 Load 算子加载的多边形,中间图显示 Load_1 算子加载的多边形,右图显示合并后的多边形。

PolyDataProcess_MergePolyData_result