1.vtu文件

vtk实战(二十四)——读入vtu数据
vtk实战(三十)——写入vtu数据

2.vtp文件

2.1读入vtp文件

2.2 创建vtp文件

从网络示例和在线文档中,我收集了一些信息,创建一个完整的1-piece文件:
调用vtkXMLPloyDataWriter::SetInputData(vtkDataObject)
你传入一个vtkPolyData,你首先使用以下方法设置它:

SetVerts
SetLines
SetPolys
SetStrips

和父方法

SetPoints

但是我还没有弄清楚如何设置vtp字段PointData和CellData。

如何设置vtp字段PointData和CellData???

要设置点数据,您可以先获取点数据对象

vtkPointData* pointData = polydata->GetPointData();

然后你可以向它添加数组:

vtkFloatArray* myArray = vtkFloatArray::New();
myArray->SetName("myArray");
myArray->SetNumberOfComponents(1);
myArray->SetNumberOfTuples(polydata->GetNumberOfPoints());
// 这里设置数组元素...pointData->AddArray(myArray);

单元格数据也是如此,只需将 PointData 替换为 CellData 即可,
并将元组的数量设置为单元格的数量而不是Point的数量

sample1

source.vtp文件包含两个Point,一条Line
Point:

(0,0,0)和(1,0,0)

vtkSmartPointer<vtkPolyData> source = nullptr;if (source == nullptr){vtkNew<vtkPolyData> defaultSource;defaultSource->Allocate();vtkNew<vtkPoints> defaultPoints;defaultPoints->Allocate(6);defaultPoints->InsertNextPoint(0, 0, 0);defaultPoints->InsertNextPoint(1, 0, 0);vtkIdType defaultPointIds[2];defaultPointIds[0] = 0;defaultPointIds[1] = 1;defaultSource->SetPoints(defaultPoints);defaultSource->InsertNextCell(VTK_LINE, 2, defaultPointIds);source = defaultSource;}vtkSmartPointer <vtkXMLPolyDataWriter> polyWriter = vtkSmartPointer <vtkXMLPolyDataWriter>::New();polyWriter->SetFileName("source.vtp");polyWriter->SetInputData(source);polyWriter->SetDataModeToAscii();polyWriter->Write();

生成的vtp文件:

<?xml version="1.0"?>
<VTKFile type="PolyData" version="0.1" byte_order="LittleEndian" header_type="UInt32" compressor="vtkZLibDataCompressor"><PolyData><Piece NumberOfPoints="2" NumberOfVerts="0" NumberOfLines="1" NumberOfStrips="0" NumberOfPolys="0"><PointData></PointData><CellData></CellData><Points><DataArray type="Float32" Name="Points" NumberOfComponents="3" format="ascii" RangeMin="0" RangeMax="1">0 0 0 1 0 0<InformationKey name="L2_NORM_RANGE" location="vtkDataArray" length="2"><Value index="0">0</Value><Value index="1">1</Value></InformationKey></DataArray></Points><Verts><DataArray type="Int64" Name="connectivity" format="ascii" RangeMin="1e+299" RangeMax="-1e+299"></DataArray><DataArray type="Int64" Name="offsets" format="ascii" RangeMin="1e+299" RangeMax="-1e+299"></DataArray></Verts><Lines><DataArray type="Int64" Name="connectivity" format="ascii" RangeMin="0" RangeMax="1">0 1</DataArray><DataArray type="Int64" Name="offsets" format="ascii" RangeMin="2" RangeMax="2">2</DataArray></Lines><Strips><DataArray type="Int64" Name="connectivity" format="ascii" RangeMin="1e+299" RangeMax="-1e+299"></DataArray><DataArray type="Int64" Name="offsets" format="ascii" RangeMin="1e+299" RangeMax="-1e+299"></DataArray></Strips><Polys><DataArray type="Int64" Name="connectivity" format="ascii" RangeMin="1e+299" RangeMax="-1e+299"></DataArray><DataArray type="Int64" Name="offsets" format="ascii" RangeMin="1e+299" RangeMax="-1e+299"></DataArray></Polys></Piece></PolyData>
</VTKFile>

ParaView显示效果:

vtk实战(二十五)——读入vtp数据
vtk实战(三十一)——写入vtp数据
vtk实战(十)—文本格式转vtp格式
VTK学习笔记1:vtkXMLPolyDataWriter

相关文档:

vtk实战(十四)——解析vtk XML 文件的内容

VTK学习笔记3:IO操作读取写入xml文件和vtk文件相关推荐

  1. java学习笔记(十三)----IO操作

    一.文件的创建 ------------------------------------------------------- File类,表示磁盘上的文件或目录,可对文件或目录进行操作.   * 常 ...

  2. tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)

    续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...

  3. VTK学习笔记(三十六)VTK图像填充

    VTK学习笔记(三十六)VTK图像填充 1.官方示例 2.其他例子 总结 1.官方示例 来自官方示例代码,自己只是添加了理解. 代码: #include <vtkCamera.h> #in ...

  4. jQuery学习笔记之DOM操作、事件绑定(2)

    jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...

  5. linux oracle流复制文件,【学习笔记】Oracle ASM linux dd命令复制asm中文件 操作磁盘或者分区...

    天萃荷净 使用dd复制asm中文件,随着数据库新版本的推广ASM肯定会越来越被重视,最近准备系统的学习下ASM,以备突发情况需要,这是asm深入学习笔记 1.查询ASM某个数据文件AU信息 SQL&g ...

  6. NetLogo学习笔记3 —— 集合操作与生命游戏

    NetLogo学习笔记3 -- 集合操作与生命游戏 (这篇新知识点略多) 上一篇文章我们了解NetLogo模型的基本要素,学习了函数定义与ask语法.并编写了我们的第一个程序! 这一次,我们来编写一个 ...

  7. R语言小白学习笔记3—R语言读取数据

    R语言小白学习笔记3-R语言读取数据 笔记链接 想说的话 学习笔记3-R语言读取数据 3.1 读取CSV文件 3.1.1 read_delim函数 3.1.2 fread函数 3.2 读取Excel数 ...

  8. VTK学习笔记(二十一)vtk裁剪求截面面积

    VTK学习笔记(二十一)vtk裁剪求界面面积 1.代码 2.CMakeLists.txt 3.运行输出 4.面积正确性验证 4.1.代码 4.2.执行结果 1.代码 #pragma once#incl ...

  9. [导入]Nebula3学习笔记(5): IO系统

    Nebula3的IO系统相对于Nebula1和2是一个巨大的进步 使用更标准的机制, 如用URI来定位资源, 用MIME类型来区分数据格式 一个灵活的流模型, 它不关心数据是来自文件, 内存, HTT ...

最新文章

  1. Java RandomAccessFile的使用
  2. linux lock函数,Linux lock_kernel()函数的分析。
  3. 0基础入门,如何快速上手Python?
  4. 2个网页跳来跳去_怎么写最优化的网页标题标签(Title Tag)?
  5. ThreadLocalT
  6. Palo Doris不会用?(基础指南)
  7. 图的根节点-数据结构作业。。
  8. Github排序(转载)
  9. Kava将于下午2时重新启动Kava Chain
  10. 对于DOM的attribute和property的一些思考
  11. wincc 如何实现上下箭头对数字的增减_由箭头函数引发的对一些概念的认识
  12. python 标签字体大小_Python玩转Excel(第3期)~这里只有干货
  13. cin和cout比scanf和printf慢的原因及解决方案
  14. 锁定计算机后qq能远程吗,如何通过QQ进行远程控制(利用QQ远程协助在不同网络下远程控制电脑)...
  15. 一句话,读懂首席架构师、CTO和技术总监的区别
  16. c语言编程齿轮模数选择,斜齿轮变位系数分配-C程序.doc
  17. 保研资料|计算机保研英语四六级门槛表!
  18. hadoop服务器中断,Hadoop服务器上的虚拟内存错误
  19. 教程篇(7.0) 02. FortiGate安全 安全架构 ❀ Fortinet 网络安全专家 NSE 4
  20. 测试小牛,全新出发!!

热门文章

  1. 征信报告内容组成和解读(6)-非信贷交易信息明细
  2. 白盒扫描自动化脚本关键语句
  3. 软件测试自学插画临摹,【答疑】学软件测试需要什么基础?如何快速自学软件测试? - 视频教程线上学...
  4. python求列表均值,方差,标准差
  5. 在ASP 调用 VB.net 编写的dll 出错 提示:Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象
  6. node搭建后台实现账户登录
  7. 服务器ftp文件夹权限设置密码,ftp 打开服务器文件夹权限设置
  8. 卧槽! MySQL 中的反斜杠 \\ 真是太恶心了
  9. 计算机网络实验设计-利用Socket实现双机通信
  10. 1月18日主题讨论日