Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/138.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将vtkPolyData对象的内容写入自定义文件格式_C++_Visual C++_Vtk - Fatal编程技术网

C++ 将vtkPolyData对象的内容写入自定义文件格式

C++ 将vtkPolyData对象的内容写入自定义文件格式,c++,visual-c++,vtk,C++,Visual C++,Vtk,我在Visual Studio 2010中使用VTK 5.1版 所以我有一个从3d模型生成的自定义文件格式,它存储了N个3d对象的所有点和多边形。在C++中,我得到了一个程序,它把所有的点读入VTKPoT的实例中,把所有的多边形读入VTKELLATION的实例中,然后把这两个都放进VTKPoDeDATA中。填充vtkPolyData后,我希望手动访问刚刚读入的所有数据,并将其以自定义格式写回新文件,以验证导入和导出过程是否正常 如果我能得到一个表示点的3元元组向量,然后是一个长度不同但表示每个顶

我在Visual Studio 2010中使用VTK 5.1版

所以我有一个从3d模型生成的自定义文件格式,它存储了N个3d对象的所有点和多边形。在C++中,我得到了一个程序,它把所有的点读入VTKPoT的实例中,把所有的多边形读入VTKELLATION的实例中,然后把这两个都放进VTKPoDeDATA中。填充vtkPolyData后,我希望手动访问刚刚读入的所有数据,并将其以自定义格式写回新文件,以验证导入和导出过程是否正常

如果我能得到一个表示点的3元元组向量,然后是一个长度不同但表示每个顶点的q维元组向量,这将是非常有益的,这将构成一个多边形

我看到有一个GetPointData()函数和一个GetPolys()函数,但这就是我被卡住的地方。我没有可靠的方法来找出它给我指针的数组的大小,这是我想要验证的标准之一。我相信有一种简单的方法可以访问点和多边形,但是如果有人能给出一个如何遍历所有点和多边形的示例,我们将不胜感激


谢谢。

我不是vtk用户,但看看vtkFieldData()。vtkPointData继承自此。有一个名为GetArray的方法返回vtkDataArray。GetNumberOfTuples可以用来循环遍历这些元组。我看到的文档中读到GetNumberOfTuples()在使用vtkCellArray或vtkPoints时是不可靠的。它可能会产生“意想不到的结果”。我发现这是准确的。vtkPoints有一个GetNumberOfPoints,我从未发现它不准确。