【VTK】 vtkPolyData数据重构过程

对已有的浮点型数据,用VTK进行重构并建立拓扑结构。

基本流程:

m_vtkPointsSel = vtkSmartPointer<vtkPoints>::New();
m_vtkCellArraySel = vtkSmartPointer<vtkCellArray>::New();
m_vtkPolyLineSel = vtkSmartPointer<vtkPolyLine>::New();
m_vtkPolyDataSel = vtkSmartPointer<vtkPolyData>::New();
m_vtkMapperSel = vtkSmartPointer<vtkPolyDataMapper>::New();
m_vtkActorSel = vtkSmartPointer<vtkActor>::New();

1.添加点points

double dx[3] = { 0 };
dx[2] = dz0;
dx[1] = dy0;
dx[0] = dx0;
m_vtkPointsSel->InsertNextPoint(dx);

2.设置形状(直线/三角形/其他)

m_vtkPolyLineSel->GetPointIds()->SetNumberOfIds(5);
for (int i = 0; i < 4; i++)
    m_vtkPolyLineSel->GetPointIds()->SetId(i, i); 
m_vtkPolyLineSel->GetPointIds()->SetId(4, 0);

3.添加单元cell

m_vtkCellArraySel->InsertNextCell(m_vtkPolyLineSel);//把形状放入cell

m_vtkPointsSel->Modified(); //相当于update已做的修改
m_vtkCellArraySel->Modified();

4.把点和单元添加到polyData

m_vtkPolyDataSel->SetPoints(m_vtkPointsSel);
m_vtkPolyDataSel->SetLines(m_vtkCellArraySel);

5.把polyData添加到Mapper并刷新render

m_vtkMapperSel->SetInputData(m_vtkPolyDataSel);
this->RenderWindow->Render();

 

参考:https://blog.csdn.net/windfz/article/details/78400286

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值