
cpp
#include "MainWindow.h"
#include <QApplication>
#include <vtkXMLPolyDataReader.h>
#include <vtkPolyData.h>
#include <vtkPolyDataMapper.h>
#include <vtkRenderer.h>
#include <vtkActor.h>
#include <vtkRenderWindow.h>
#include <vtkRenderWindowInteractor.h>
#include <vtkProperty.h>
#include <iostream>
#include <vtkAutoInit.h>
VTK_MODULE_INIT(vtkRenderingOpenGL2);
VTK_MODULE_INIT(vtkInteractionStyle);
int main(int argc, char *argv[])
{
auto reader = vtkSmartPointer<vtkXMLPolyDataReader>::New();
reader->SetFileName("D:\\cube.vtp");
reader->Update();
auto polyData = reader->GetOutput();
int pointCnt = polyData->GetNumberOfPoints();
if (0 == pointCnt)
{
std::cout << "Not valid polydata!";
return -1;
}
auto mapper = vtkSmartPointer<vtkPolyDataMapper>::New();
mapper->SetInputConnection(reader->GetOutputPort());
auto actor = vtkSmartPointer<vtkActor>::New();
actor->SetMapper(mapper);
actor->GetProperty()->SetColor(0.7, 0.1, 0.1);
auto render = vtkSmartPointer<vtkRenderer>::New();
render->AddActor(actor);
render->SetBackground(0.2, 0.1, 0.7);
auto renderWindow = vtkSmartPointer<vtkRenderWindow>::New();
renderWindow->AddRenderer(render);
auto interator = vtkSmartPointer<vtkRenderWindowInteractor>::New();
renderWindow->SetInteractor(interator);
renderWindow->SetPosition(100, 100);
renderWindow->SetSize(600, 600);
interator->Start();
return 0;
}