VTK6 引入了许多不兼容的变。其中之一是删除vtkDataObject中所有有关管道的方法。下面讨论update方法并提供迁移现有代码的建议。

Update()


vtkDataObject::Update()在先前是一个方便的回调Update()方法,触发算法产生数据对象。由于数据对象已经不在引用它的产生者了,所有data object的update被移掉了。

例子1

vtkDataObject* dobj = someAlgorithm->GetOutput();
dobj->Update();

变成:

someAlgorithm->Update();

例子2

vtkDataObject* dobj = aFilter->GetOutput(1);
dobj->Update();

变成:

aFilter->Update(1);

UpdateInformation()


例子1:

vtkDataObject* dobj = aFilter->GetOutput();
dobj->UpdateInformation();
dobj->SetUpdateExtent(0 /*piece*/, 2 /*number of pieces*/);
dobj->Update();

替换成:

aFilter->UpdateInformation();
vtkStreamingDemandDrivenPipeline::SetUpdateExtent(
aFilter->GetOutputInformation(0 /*port number*/),
0 /*piece*/,
2 /*number of pieces*/,
0 /*number of ghost levels*/);
aFilter->Update();

PropagateUpdateExtent()


例子1

vtkDataObject* dobj = aFilter->GetOutput();
dobj->UpdateInformation();
dobj->SetUpdateExtent(0 /*piece*/, 2 /*number of pieces*/);
dobj->PropagateUpdateExtent();

替换成:

aFilter->UpdateInformation();
aFilter->SetUpdateExtent(0 /*piece*/, 2 /*number of pieces*/, 0 /*ghost levels*/);
aFilter->PropagateUpdateExtent ();

TriggerAsynchronousUpdate()


该方法在VTK 6中,已经被移除。

UpdateData()


该方法在VTK6 被移除。

vtkDataObject* dobj = aFilter->GetOutput();
dobj->UpdateInformation();
dobj->SetUpdateExtent(0 /*piece*/, 2 /*number of pieces*/);
dobj->PropagateUpdateExtent();
dobj->UpdateData();

替换成:

aFilter->UpdateInformation();
vtkStreamingDemandDrivenPipeline::SetUpdateExtent(
aFilter->GetOutputInformation(0 /*port number*/),
0 /*piece*/,
2 /*number of pieces*/,
0 /*number of ghost levels*/);
aFilter->Update();

05 - 替换vtkDataObject中的Update方法 VTK 6.0 迁移的更多相关文章

  1. 03 - 替换vtkDataObject中的GetProducerPort()方法 VTK 6.0 迁移

    VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中的一个方法就是GetProducerPort(). 一般,先前使用这个方法如下例子: vtkPolyD ...

  2. 08 - 删除vtkDataObject中的SetWholeExtent() 方法 VTK 6.0 迁移

    VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中之一就是SetWholeExtent().SetWholeExtent()方法先前被用来管理结构话数据 ...

  3. 11 - 改变vtkImageData中的Manipulation 方法 VTK 6.0 迁移

    VTK6 引入了许多不兼容的变.这其中就包括关于vtkImageData中元数据管理及内存分配的方法.这些方法有些直接改变了行为或者能加了额外的参数. GetScalarTypeMin() GetSc ...

  4. 10 - 删除vtkDataObject中的Update Extent方法 VTK 6.0 迁移

    VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.下面列出来的就是其中的一些方法: SetUpdateExtent(int piece, int numPi ...

  5. 04 - 替换vtkDataObject中的GetPipelineInformation 和GetExecutive 方法 VTK 6.0 迁移

    VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中的两个方法就是GetPipelineInformation() 和 GetExecutive().这些 ...

  6. 09 - 删除vtkDataObject中的ShouldIReleaseData() and ReleaseDataFlag 方法 VTK 6.0 迁移

    VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.下面列出来的就是其中的一些方法: ShouldIReleaseData() SetReleaseDataF ...

  7. 07 - 删除vtkDataObject中的SetExtentTranslator 和 GetExtentTranslator方法 VTK 6.0 迁移

    VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中的两个方法就是SetExtentTranslator() 和 GetExtentTranslator( ...

  8. 02 - 替换SetInput方法 VTK 6.0 迁移 (2013-06-30 16:22)

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

  9. 01 - 概述 VTK 6.0 迁移

    摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改 ...

随机推荐

  1. 4. c++ 静态 对象

    参考自文章:http://blog.csdn.net/wpf_ml/article/details/7763534 1. 静态存储 变量定义在函数外或是用static 关键字修饰的变量存放在静态存储区 ...

  2. AWK中几个变量

    学习AWK语言 https://awk.readthedocs.org/en/latest/chapter-one.html http://www.ibm.com/developerworks/cn/ ...

  3. pip常用命令

    以flask为例. 1. 安装 # pip install flask 安装 flask. # pip install flask==1.0 安装 1.0版本的flask # pip install ...

  4. [置顶] 【Git入门之八】分支管理

    原创作品,转载请标明:http://blog.csdn.net/jackystudio/article/details/12309385 1.分支又是神马? 我为什么说又是... 分支就是一个我们能通 ...

  5. Android控件Editext、TextView属性详解

    EditText属性描述 android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom and ...

  6. OpenStack Summit Paris 会议纪要 - 11-04-2014

    前言: 来源:https://wiki.openstack.org/wiki/Summit/Kilo/Etherpads#Ops 不一定翻译准.由于是在summit上随手写的. 重点关注Ops Sum ...

  7. [Angular 2] Using a Reducer to Change an Object's Property Inside an Array

    Reducers are also often used for changing a single property inside of other reducers. This lesson sh ...

  8. ios开发应用内实现多语言自由切换

    需求描述:应用内部有一按钮,点击切换语言(如中英文切换).说起来这个是好久以前做的一个功能点了,刚开始也是没有头绪,后来解决了发现很简单,把方法分享一下.1.原理.查看NSLocalizedStrin ...

  9. git clone之后自动checkout文件处理

    这个问题发生是因为不同操作系统的行结束符不一致导致的,可在clone之后在仓库根目录修改.gitattributes文件 简单处理的话,注释* text=auto这行即可.也可根据不同系统,做相应设定 ...

  10. if..endif 语法

    使用 if(); elseif(); else; endif; 这一系列复杂的语句无助于 PHP 3.0 解析器的效率.因此,语法改变为: Example#1 移植:旧有 if..endif 语法 i ...