代码效果:演示程序读取.vtp后输出.ply文件,使用paraview打开该输出的.ply文件
本代码编译运行均在如下链接文章生成的库执行成功,若无VTK库则请先参考如下链接编译vtk源码:
VTK —— 一、Windows10下编译VTK源码,并用Vs2017代码测试(附编译流程、附编译好的库、vtk测试源码)
教程描述
本示例演示如何读取文件,然后将其写入不同类型的文件。在此示例中,我们读取一个 vtp 文件并写入一个 ply 文件,但只需更改实例化的读取器/写入器类,就可以实现不同的行为。
VTP文件也是属于vtk的,可以用paraview打开,显示体数据,也就是实心的三维模型。
完整源码
#include <vtkNew.h>
#include <vtkPLYWriter.h>
#include <vtkXMLPolyDataReader.h>int main(int argc, char* argv[])
{std::string inputFileName = "./model/dv.vtp"; // 输入.vtp文件路径std::string outputFileName = "./model/out.ply"; // 程序输出.ply文件路径vtkNew<vtkXMLPolyDataReader> reader; // 读取VTK XML PolyData文件。此阅读器文件格式的标准扩展名是"vtp"reader->SetFileName(inputFileName.c_str()); // 设置输入文件的名称reader->Update(); // 使此算法的输出保持最新状态vtkNew<vtkPLYWriter> writer; // 写Stanford .PLY文件格式writer->SetFileName(outputFileName.c_str()); // 设置输入文件的名称writer->SetInputConnection(reader->GetOutputPort()); // 设置给定输入端口索引的连接writer->Update(); // 使此算法的输出保持最新状态system("pause");return EXIT_SUCCESS;
}
笔者
笔者 - jxd