#include #include #include #include #include #include #include #include #include #include #include int main(int argc, char* argv[]) { // Parse command line arguments if(argc != 2) { std::cout << "Usage: " << argv[0] << "Filename(.obj) e.g trumpet.obj " << std::endl; return EXIT_FAILURE; } std::string filename = argv[1]; vtkSmartPointer reader = vtkSmartPointer::New(); reader->SetFileName(filename.c_str()); reader->Update(); // Visualize vtkSmartPointer colors = vtkSmartPointer::New(); vtkColor3d backgroundColor = colors->GetColor3d("SpringGreen"); vtkColor3d actorColor = colors->GetColor3d("HoneyDew"); vtkSmartPointer mapper = vtkSmartPointer::New(); mapper->SetInputConnection(reader->GetOutputPort()); vtkSmartPointer actor = vtkSmartPointer::New(); actor->SetMapper(mapper); actor->GetProperty()->SetDiffuseColor(actorColor.GetData()); vtkSmartPointer renderer = vtkSmartPointer::New(); renderer->AddActor(actor); renderer->SetBackground(backgroundColor.GetData()); renderer->ResetCamera(); renderer->GetActiveCamera()->Azimuth(30); renderer->GetActiveCamera()->Elevation(30); renderer->GetActiveCamera()->Dolly(1.5); renderer->ResetCameraClippingRange(); vtkSmartPointer renderWindow = vtkSmartPointer::New(); renderWindow->AddRenderer(renderer); vtkSmartPointer renderWindowInteractor = vtkSmartPointer::New(); renderWindowInteractor->SetRenderWindow(renderWindow); renderWindow->SetSize(640, 480); renderWindow->Render(); renderWindowInteractor->Start(); return EXIT_SUCCESS; }