LinuxでVTK-6.2、C++(gcc-4.7.2)を使用していますが、次のVTKパイプラインセットアップがあります(実装、詳細、パイプラインに重点を置いてください):cone-> filter-> >俳優):VTKパイプラインアップデート
// cone/initialize
vtkConeSource cone;
// add cone(s) to filter
vtkAppendFilter filter;
filter.AddInputData(cone.GetOutput());
// add filter to mapper
vtkDataSetMapper mapper;
mapper.SetInputData(filter->GetOutput());
// actor
vtkActor actor;
actor.SetMapper(mapper);
シーンがきれいにレンダリングされます。
問題
私は、元のデータ(すなわち、コーン)、正しくレンダリングされる俳優を更新したいです。
俳優だけがいる場合はどうすれば元のコーンデータにアクセスできますか?これは、俳優も更新されることを保証しますか?元のデータを(ポインタを使用して:実装全体が
vtkSmartPointer
である)追跡してから、その属性の一部を変更すると、パイプラインが更新されないためです。自動的に更新してはいけませんか?(私は俳優(例えば、視認性)を変更すると、シーンが細かいレンダリング)
は私を許して、私はVTKの専門家ではないですし、パイプラインが混乱しています。おそらく1つのアプローチは私のパイプラインを単純化することでしょう。
おかげ
[更新]
(vtkAppendFilter
に添加された場合vtkUnstructuredGrid
に)同様のポストへthis回答によれば、元データ(vtkConeSource
)が形質転換されるので、私は追跡する場合であっても元のデータの変更は無駄です。
徹底的な答えと例Amitをありがとう。 あなたが言及したように、問題は実際には '' SetInputConnection''の代わりに '' SetInputData''を使用していました(私の場合 '' AddInputData''が '' AddInputConnection''に変更されました) –
Ok。私は 'AddInputData'に気付きませんでしたが、うまくいきました。 –