2012-01-18 45 views
2

我有一組多段線:oldData。 我只希望顯示一些基於一個 「過濾器」,這些折線:showLine:如何從現有vtkPolyData複製多段折線的子集?

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

    // .. ??? 

    displayFunction(newData); 
} 

如何複製的折線,其中showLine [I] ==真成newData?

在此先感謝您的任何答案!

回答

3

首先,這是無效的:

vtkSmartPointer newData = vtkPolyData ::新();

您應該做

vtkSmartPointer newData = vtkSmartPointer ::新();

vtkPolyData * newData = vtkPolyData ::新();

爲了您的真正的問題,你需要得到的線條勾勒出OLDDATA的:

vtkLine *線= oldData-> GetCell(我); //語法可能比這多毛......

,然後放入新的數據:

newData-> InsertNextCell(線); //再次,語法可能會比這更毛髮...