博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
02 - 替换SetInput方法 VTK 6.0 迁移 (2013-06-30 16:22)
阅读量:4641 次
发布时间:2019-06-09

本文共 1825 字,大约阅读时间需要 6 分钟。

 


VTK6 引入了许多不兼容的变化,这其中就包括用SetInputData()和SetInputConnection()替换SetInput()方法。在先前的版本中,VTK4 引入了SetInput()方法,VTK5中引入了SetInputConnection()。

下面举一些例子:在如下例子中,虽然我只演示了替换SetInput(),读者可以类比替换SetSource()。在例子中,读者可以搜索相应的替换方法SetSourceConnection() or SetSourceData()。

  例子1


 

anotherFilter->SetInput(aFilter->GetOutput()); 变成 anotherFilter->SetInputConnection(aFilter->GetOutputPort()); 例子2

vtkDataObject* output = aFilter->GetOutput();anotherFilter->SetInput(output);

应该变成:anotherFilter->SetInputConnection(aFilter->GetOutputPort());

例子3


 

vtkPolyData *pd = vtkPolyData::New();aFilter->SetInput(pd);

 

 

变成:

vtkPolyData *pd = vtkPolyData::New();aFilter->SetInputData(pd);  

 

例子4


vtkDataObject* output = aFilter->GetOutput();aFilter->Update();anotherFilter->SetInput(output);

 

这个该法分两种情况,如果aFilter在以后的更新流中不在被修改的话,我们可以简单的用SetInputData(不建立管道)

vtkDataObject* output = aFilter->GetOutput();aFilter->Update();anotherFilter->SetInputData(output);

 

另外一种情况就是建立管道连接。

例子5


void myfunction(vtkDataObject* dobj){  vtkAFilter* aFilter = vtkAFilter::New();  aFilter->SetInput(dobj);  aFilter->Update();  // …}

 

对于上面这个方法需要改写,分两种情况,如果调用者传入的是myfunction(aFilter->GetOutput());,则需要传入方法的参数变成算法,如下:

void myfunction(vtkAlgorithm* alg, int port){  vtkAFilter* aFilter = vtkAFilter::New();  aFilter->SetInputConnection(alg->GetOutputPort(port));  aFilter->Update();  // …}

 

另一种情况是vtkPolyData* pd = vtkPolyData::New()myfunction(pd);则,仅仅需要替换为SetInputData()

void myfunction(vtkDataObject* dobj){  vtkAFilter* aFilter = vtkAFilter::New();  aFilter->SetInputData(dobj);  aFilter->Update();  // …}

 

例子6


class foo{  vtkDataObject* DataObject;  void Process()    {    vtkAFilter* aFilter = vtkAFilter::New();    aFilter->SetInput(this->DataObject);    aFilter->Update();    // …    }};

 

这个和例子5的修改方式一样,需要决定vtkDataObject的产生式通过polydata还是algorithm。

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/ankier/p/3166210.html

你可能感兴趣的文章
经常用得到的安卓数据库基类
查看>>
简单入门dos程序
查看>>
vue element 关闭当前tab 跳转到上一路由
查看>>
4、面向对象
查看>>
[NOI2005]聪聪与可可(期望dp)
查看>>
POJ 3723
查看>>
Maven的安装
查看>>
angular初步认识一
查看>>
springmvc3.2+spring+hibernate4全注解方式整合(一)
查看>>
Elgg网站迁移指南
查看>>
素数筛法优化
查看>>
installshield 注册dll
查看>>
Sublime Text 3 及Package Control 安装(附上一个3103可用的Key)
查看>>
LTE QCI分类 QoS
查看>>
Get MAC address using POSIX APIs
查看>>
bzoj2120
查看>>
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
查看>>
【dp】船
查看>>
oracle, group by, having, where
查看>>
⑥python模块初识、pyc和PyCodeObject
查看>>