アップグレードの概要については以下のページで確認できます.
http://www.visitusers.org/index.php?title=VTK_6.0_Upgrade
変更点
- Building VTK
- Visit Build System Changes
以前のVTKの問題点であったDLLファイルがどのバージョンのものかわからなくなり実行ファイルを起動できない問題が起きにくくなります.
Python用のライブラリファイル名にはVTKのバージョンだけでなくPythonのバージョンも設定されるようです.
- API / Pipeline Changes
・vtkTypeRevisionMacroがvtkTypeMacroに置換
・vtkCxxRevisionMacroが削除
・vtkDataObject->Updateが削除.フィルター処理でUpdateを呼ぶように変更する必要がある
・filter->SetInputが置換.以下のように変更されている.
・filter->SetInputData(vtkDataObject) データを入力する場合はSetInputDataを使用する
・filter->SetInputConnection(vtkAlgorithmOutput) 他のフィルタの出力を入力する場合はSetInputConnectionを使用する
・vtkMappersが'Static'フラグを設定.
・一部のフィルタクラスがアルゴリズムクラスに変更.
・vtkPolyDataToPolyDataFilter -> vtkPolyDataAlgorithm
・vtkDataSetToDataSetFilter -> vtkDataSetAlgorithm
・vtkUnstructuredGridToPolyDataFilter -> vtkPolyDataAlgorithm
・vtkDataSetToPolyDataFilter -> vtkPolyDataAlgorithm
・vtkRectilinearGridToPolyDataFilter -> vtkPolyDataAlgorithm
・vtkStructuredGridToPolyDataFilter -> vtkPolyDataAlgorithm
・vtkDataSetToUnstructuredGridFilter -> vtkUnstructuredGridFilter
・vtkUnstructuredGridToUnstructuredGridFilter -> vtkUnstructuredGridFilter
- Mangled Mesa
全体的に新機能の追加というよりは,開発を行いやすくするための変更といった印象を受けます.
最近はStaticリンクのライブラリしか使っていないのですが,Dynamicリンクライブラリを使わないといけない場合でのバージョン違いによるエラーが起こりにくくなることが期待できます.
SetInputも以前からフィルタのパイプライン接続はSetInputConnectionになっていたのですが,データ入力もSetInputDataになったことでわかりやすくなりました.初期の全てSetInputだった頃に比べてパイプライン部分を意識しやすくて良いですね.
一部のフィルタがアルゴリズムに変更されたことは,最近フィルタが増えすぎてきて扱いにくくなってきた印象があったので,統一されたクラスが設定されて書きやすくなっていると思います.
Wiki
Documents