VTK6 引入了许多不兼容的变.这其中就包括关于vtkImageData中元数据管理及内存分配的方法.这些方法有些直接改变了行为或者能加了额外的参数. GetScalarTypeMin() GetScalarTypeMax() GetScalarType() SetScalarType(int scalar_type) GetNumberOfScalarComponents() SetNumberOfScalarComponents(int n) AllocateScalars() GetNum…
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中之一就是SetWholeExtent().SetWholeExtent()方法先前被用来管理结构话数据的所有可能的元数据片数,但是不能被正确的用来设置结构话数据的extent. 例子1 在output information中,我们可以简单的替换成WHOLE_EXTENT()设置. int vtkMyReader::RequestInformation(vtkInformation*, vtkInf…
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.下面讨论update方法并提供迁移现有代码的建议. Update() vtkDataObject::Update()在先前是一个方便的回调Update()方法,触发算法产生数据对象.由于数据对象已经不在引用它的产生者了,所有data object的update被移掉了. 例子1 vtkDataObject* dobj = someAlgorithm->GetOutput(); dobj->Update…
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中的一个方法就是GetProducerPort(). 一般,先前使用这个方法如下例子: vtkPolyData* pd = vtkPolyData::New(); someAlgorithm->SetInputConnection(pd->GetProducerPort()); 在vtk6 中,应该改成下面的用法: vtkPolyData* pd = vtkPolyData::New(); some…
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.下面列出来的就是其中的一些方法: SetUpdateExtent(int piece, int numPieces, int ghostLevel) SetUpdateExtent(int piece, int numPieces) SetUpdateExtent(int extent[6]) SetUpdateExtent(int x0, int x1, int y0, int y1, int z0,…
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.下面列出来的就是其中的一些方法: ShouldIReleaseData() SetReleaseDataFlag() GetReleaseDataFlag() ReleaseDataFlagToOn() ReleaseDataFlagToOff() 所有上面的方法(排除ShouldIReleaseData)都被迁移到vtkDemandDrivenPipeline中,任何先前的代码都可以使用vtkDema…
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中的两个方法就是SetExtentTranslator() 和 GetExtentTranslator().这个函数现在还存在在vtkStreamingDemandDrivenPipeline的方法中. 例子1: vtkDataObject* dobj = algorithm->GetOutput(); dobj->GetExtentTranslator(); 替换成: vtkStreamingDe…
VTK6 引入了许多不兼容的变.其中之一是删除vtkDataObject中所有有关管道的方法.其中的两个方法就是GetPipelineInformation() 和 GetExecutive().这些方法被移到vtkAlgorithm 和vtkExecutive类中. 例子1 vtkDataObject* dobj = algorithm->GetOutput(); vtkExecutive* exec = dobj->GetExecutive(); 替换成: vtkExecutive* ex…
VTK6 引入了许多不兼容的变化,这其中就包括用SetInputData()和SetInputConnection()替换SetInput()方法.在先前的版本中,VTK4 引入了SetInput()方法,VTK5中引入了SetInputConnection(). 下面举一些例子:在如下例子中,虽然我只演示了替换SetInput(),读者可以类比替换SetSource().在例子中,读者可以搜索相应的替换方法SetSourceConnection() or SetSourceData(). 例子…
摘要 对vtk版本4和5的管道机制重新架架构的主要目的是:迁移数据对象和算法对象中的管道执行逻辑到一个新集合的类中,我们称这个集合类叫executives.分离数据和执行模型的代码后,可以双双简化修改或者扩展管道机制的难度及工作量.VTK4和5之间的更改相当好取得的第一个目标,但不是解决第二个目标.本文所述的工作有两个主要目标: 删除在vtk5中为了兼容vtk4而引入的兼容层,简化vtk6 的可视化工具包. 继续开展在vtk5中开始的工作,完全分离数据模型和执行模型. 这项工作是要付出代价:该文…