以下是使用vtkTransformPolyDataFilter过滤器调用vtkTransform旋转矩阵实现了vtkPolyData数据的空间变换。并保存为了.obj格式的数据。
vtkSmartPointer<vtkTransform> pTransform = vtkSmartPointer<vtkTransform>::New();
pTransform->RotateX(-90);//x轴旋转-90度
vtkSmartPointer<vtkTransformPolyDataFilter> pTransformPolyDataFilter = vtkSmartPointer<vtkTransformPolyDataFilter>::New();
pTransformPolyDataFilter->SetInputData(source);
pTransformPolyDataFilter->SetTransform(pTransform);
pTransformPolyDataFilter->Update();
//写出为OBJ格式
vtkSmartPointer<vtkOBJWriter> porter = vtkSmartPointer<vtkOBJWriter>::New();
porter->SetFileName(outObjfileName.c_str());
porter->SetInputConnection(pTransformPolyDataFilter->GetOutputPort());
porter->Write();
porter->Update();