Open3D中的可视化编辑器类visualization.VisualizerWithEditing包括一个名为get_cropped_geometry的函数。该函数可用于获取被裁剪的几何体。以下是该函数的详细信息。
geometry = get_cropped_geometry()
函数没有任何参数。
这个函数返回可视化编辑器中当前裁剪平面以下的几何体。显示内容包括点云、三角网格和体积数据,这些数据都被裁剪以适应当前的裁剪平面。如果没有正在编辑中的裁剪平面,函数将返回None。
import open3d as o3d
vis = o3d.visualization.VisualizerWithEditing()
vis.create_window()
# 添加具有点和法线的平面网格
mesh = o3d.geometry.TriangleMesh.create_plane(
width=1.0, height=1.0, width_segments=10, height_segments=10)
mesh.compute_vertex_normals()
vis.add_geometry(mesh)
# 设置裁剪平面
plane_eqn = [0.0, 0.0, 1.0, 0.1]
vis.add_plane(plane_eqn)
# 获取裁剪后的几何体
cropped_geom = vis.get_cropped_geometry()
# 添加裁剪后的结果
cropped_mesh = cropped_geom.extract_triangle_mesh()
cropped_mesh.paint_uniform_color([1, 0.706, 0])
vis.add_geometry(cropped_mesh)
vis.run()
该示例创建一个可视化编辑器对象并添加一个平面网格。随后,添加了一个裁剪平面,并获取了裁剪平面以下的几何体。然后,提取了这个几何体的三角网格,并将其可视化。最后,启动了可视化编辑器的GUI。