2012-01-18 7 views
2

私はポリラインのセットを持っています:oldData。 は、私は "フィルタ" に基づいてのみ、いくつかのこれらのポリラインのを表示したい:showLine:既存のvtkPolyDataからポリラインのサブセットをコピーするにはどうすればよいですか?

void myFunction(vtkSmartPointer<vtkPolyData> oldData, 
       std::vector<boolean> showLine) { 
    // "Filtered" polylines: 
    vtkSmartPointer<vtkPolyData> newData = vtkPolyData::New(); 

    // .. ??? 

    displayFunction(newData); 
} 

私はあるnewDataにshowLine [i]を==が真のポリラインをコピーするにはどうすればよいですか?

お返事ありがとうございます!

答えて

3

まず、これは有効ではありません。

vtkSmartPointerあるnewData = vtkPolyData ::新();

あなたは)(

vtkSmartPointerあるnewData = vtkSmartPointer ::新を行う必要がありますどちらか。

または

vtkPolyData *あるnewData = vtkPolyData ::新();

あなたの本当の問題のために、あなたはOLDDATAのうちの行を取得する必要があるでしょう:

vtkLine *ライン= oldData-> getcellを(i)を、 //構文は...

これよりも毛深いことと、新しいデータにそれを置くかもしれません:

newData-> InsertNextCell(ライン); //もう一度、構文はこれより少し毛深いかもしれません...

関連する問題