0
stlファイルからメッシュデータを読み込んでウィンドウに表示するには、次のコードがあります。コードは正常に動作します。いくつかのデータ処理を行うために頂点とインデックス配列にアクセスする必要があります。メッシュを変更してレンダリングします。私は、メッシュの三角形を形成する際に、メッシュの頂点の座標とそれらのインデックス番号を持つ配列にどのようにアクセスできるか疑問に思っていました。非常に基本的な手順だと思われますが、私はVTKのwikiで何の答えも見つけられませんでした。VTKのSTLreaderから得られたメッシュの頂点とインデックス配列にアクセスする方法は?
int main (int argc, char *argv[]) { std::string inputFilename = "Scapula.stl"; vtkSmartPointer<vtkSTLReader> reader = vtkSmartPointer<vtkSTLReader>::New(); reader->SetFileName(inputFilename.c_str()); reader->Update(); // Visualize vtkSmartPointer<vtkPolyDataMapper> mapper = vtkSmartPointer<vtkPolyDataMapper>::New(); mapper->SetInputConnection(reader->GetOutputPort()); vtkSmartPointer<vtkActor> actor = vtkSmartPointer<vtkActor>::New(); actor->SetMapper(mapper); vtkSmartPointer<vtkRenderer> renderer = vtkSmartPointer<vtkRenderer>::New(); vtkSmartPointer<vtkRenderWindow> renderWindow = vtkSmartPointer<vtkRenderWindow>::New(); renderWindow->AddRenderer(renderer); vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderer->AddActor(actor); renderer->SetBackground(.3, .6, .3); // Background color green renderWindow->Render(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }
この例は私に多くの助けとなりました。ありがとうございました。 1つは、さらに言及することができます:vtkSmartPointer faceIndex = vtkSmartPointer :: New(); –
eidelen