VTK学习笔记3:IO操作读取写入xml文件和vtk文件
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文件相关推荐
- java学习笔记(十三)----IO操作
一.文件的创建 ------------------------------------------------------- File类,表示磁盘上的文件或目录,可对文件或目录进行操作. * 常 ...
- tensorflow学习笔记——使用TensorFlow操作MNIST数据(1)
续集请点击我:tensorflow学习笔记--使用TensorFlow操作MNIST数据(2) 本节开始学习使用tensorflow教程,当然从最简单的MNIST开始.这怎么说呢,就好比编程入门有He ...
- VTK学习笔记(三十六)VTK图像填充
VTK学习笔记(三十六)VTK图像填充 1.官方示例 2.其他例子 总结 1.官方示例 来自官方示例代码,自己只是添加了理解. 代码: #include <vtkCamera.h> #in ...
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- linux oracle流复制文件,【学习笔记】Oracle ASM linux dd命令复制asm中文件 操作磁盘或者分区...
天萃荷净 使用dd复制asm中文件,随着数据库新版本的推广ASM肯定会越来越被重视,最近准备系统的学习下ASM,以备突发情况需要,这是asm深入学习笔记 1.查询ASM某个数据文件AU信息 SQL&g ...
- NetLogo学习笔记3 —— 集合操作与生命游戏
NetLogo学习笔记3 -- 集合操作与生命游戏 (这篇新知识点略多) 上一篇文章我们了解NetLogo模型的基本要素,学习了函数定义与ask语法.并编写了我们的第一个程序! 这一次,我们来编写一个 ...
- R语言小白学习笔记3—R语言读取数据
R语言小白学习笔记3-R语言读取数据 笔记链接 想说的话 学习笔记3-R语言读取数据 3.1 读取CSV文件 3.1.1 read_delim函数 3.1.2 fread函数 3.2 读取Excel数 ...
- VTK学习笔记(二十一)vtk裁剪求截面面积
VTK学习笔记(二十一)vtk裁剪求界面面积 1.代码 2.CMakeLists.txt 3.运行输出 4.面积正确性验证 4.1.代码 4.2.执行结果 1.代码 #pragma once#incl ...
- [导入]Nebula3学习笔记(5): IO系统
Nebula3的IO系统相对于Nebula1和2是一个巨大的进步 使用更标准的机制, 如用URI来定位资源, 用MIME类型来区分数据格式 一个灵活的流模型, 它不关心数据是来自文件, 内存, HTT ...
最新文章
- Java RandomAccessFile的使用
- linux lock函数,Linux lock_kernel()函数的分析。
- 0基础入门,如何快速上手Python?
- 2个网页跳来跳去_怎么写最优化的网页标题标签(Title Tag)?
- ThreadLocalT
- Palo Doris不会用?(基础指南)
- 图的根节点-数据结构作业。。
- Github排序(转载)
- Kava将于下午2时重新启动Kava Chain
- 对于DOM的attribute和property的一些思考
- wincc 如何实现上下箭头对数字的增减_由箭头函数引发的对一些概念的认识
- python 标签字体大小_Python玩转Excel(第3期)~这里只有干货
- cin和cout比scanf和printf慢的原因及解决方案
- 锁定计算机后qq能远程吗,如何通过QQ进行远程控制(利用QQ远程协助在不同网络下远程控制电脑)...
- 一句话,读懂首席架构师、CTO和技术总监的区别
- c语言编程齿轮模数选择,斜齿轮变位系数分配-C程序.doc
- 保研资料|计算机保研英语四六级门槛表!
- hadoop服务器中断,Hadoop服务器上的虚拟内存错误
- 教程篇(7.0) 02. FortiGate安全 安全架构 ❀ Fortinet 网络安全专家 NSE 4
- 测试小牛,全新出发!!
热门文章
- 征信报告内容组成和解读(6)-非信贷交易信息明细
- 白盒扫描自动化脚本关键语句
- 软件测试自学插画临摹,【答疑】学软件测试需要什么基础?如何快速自学软件测试? - 视频教程线上学...
- python求列表均值,方差,标准差
- 在ASP 调用 VB.net 编写的dll 出错 提示:Microsoft VBScript 运行时错误 错误 '800a01ad' ActiveX 部件不能创建对象
- node搭建后台实现账户登录
- 服务器ftp文件夹权限设置密码,ftp 打开服务器文件夹权限设置
- 卧槽! MySQL 中的反斜杠 \\ 真是太恶心了
- 计算机网络实验设计-利用Socket实现双机通信
- 1月18日主题讨论日