VTK 三角剖分 Delaunay2D(七)—— 选择切割区域

65 篇文章 10 订阅
41 篇文章 8 订阅

VTK 三角剖分 Delaunay2D(七)—— 选择切割区域

引言

通过设置vtkClipPolyData的函数SetGenerateClippedOutput(true)控制显示切割后保留的部分。false默认值保留inside区域,true保留outside区域。

代码

 vtkSmartPointer<vtkPolyLine> PolyLine = vtkSmartPointer<vtkPolyLine>::New();
  PolyLine = vtkPolyLine::SafeDownCast(polylineData->GetCell(0));
  //clip
  vtkSmartPointer<vtkPolyPlane>polyPlane = vtkSmartPointer<vtkPolyPlane>::New();
  polyPlane->SetPolyLine(PolyLine);
  //裁剪下面的封闭曲面
  vtkSmartPointer<vtkClipPolyData>clipper = vtkSmartPointer<vtkClipPolyData>::New();
  clipper->SetInputData(testAlgorithm->GetOutput());
  clipper->SetClipFunction(polyPlane);
  clipper->SetGenerateClippedOutput(true);
  clipper->SetValue(0.0);//按照属性值裁剪
  clipper->Update();
 //裁剪上面的封闭曲面
  vtkSmartPointer<vtkClipPolyData>clipper1 = vtkSmartPointer<vtkClipPolyData>::New();
  clipper1->SetInputData(testAlgorithm1->GetOutput());
  clipper1->SetClipFunction(polyPlane);
  clipper1->Update();

效果图

上面封闭曲面保留切割后的(inside)区域

1

下面封闭曲面保留切割后的(outside)区域

2

参考

  1. VTK 三角剖分 Delaunay2D (一)
  2. VTK 三角剖分 Delaunay2D (二)
  3. VTK 三角剖分 Delaunay2D (三)—— 自定义Filter类
  4. VTK 三角剖分 Delaunay2D(四)—— 切面(cut)与切割(clip)
  5. VTK 三角剖分 Delaunay2D(五)—— 折线裁剪封闭曲面
  6. VTK 三角剖分 Delaunay2D(六)—— 改进的折线裁剪封闭曲面
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值