VTK - 非结构化网格:更改 points/Labeling 点的顺序
VTK - Unstructured Grid: Change order of points/Labeling Points
我有一些问题将现有网格从 vtk 传统格式转换为 vtk 旧格式。
VTK-非结构化网格具有以下结构:
DATASET UNSTRUCTURED_ GRID
POINTS n dataType
p0x p0y p0z
p1x p1y p1z
...
p (n-1) x p (n-1) y p (n-1) z
CELLS n size
numPoints0 ,i, j, k, l,...
numPoints1 ,i, j, k, l,...
numPoints2 ,i, j, k, l,...
...
numPointsn-1 ,i, j, k, l,...
Simple Legacy Formats 5
CELL_ TYPES n
...
这些单元格由它们的连接点 ID 和它们的类型指定。
似乎点 ID 总是对应于之前块中指定的点的顺序。
有没有办法以任意顺序标记点?
例如,点块中的第一个条目应对应于索引 3 而不是索引 0。
非常感谢您的帮助! TIA.
旧版 VTK 格式不支持。
您将必须编写一个脚本,以相应地重新排列 POINTS
部分中的点数。
此外,即使在更灵活的基于 XML 的 VTU 格式中,我也看不到这种功能。所以,我建议:
- 编写一个脚本,该脚本将按照
CELLS
部分中连接引用的方式对 [0, N-1] 中的点重新排序。
- 反之亦然,编写一个脚本,相应地对
CELLS
部分中的连接信息重新编号。
- (optional) 考虑切换到基于 XML 的格式,因为它们更灵活,具有更好的 IO 支持库(恕我直言),并且允许用于适当的并行 IO、随机访问和便携式数据压缩。
我有一些问题将现有网格从 vtk 传统格式转换为 vtk 旧格式。
VTK-非结构化网格具有以下结构:
DATASET UNSTRUCTURED_ GRID
POINTS n dataType
p0x p0y p0z
p1x p1y p1z
...
p (n-1) x p (n-1) y p (n-1) z
CELLS n size
numPoints0 ,i, j, k, l,...
numPoints1 ,i, j, k, l,...
numPoints2 ,i, j, k, l,...
...
numPointsn-1 ,i, j, k, l,...
Simple Legacy Formats 5
CELL_ TYPES n
...
这些单元格由它们的连接点 ID 和它们的类型指定。 似乎点 ID 总是对应于之前块中指定的点的顺序。
有没有办法以任意顺序标记点? 例如,点块中的第一个条目应对应于索引 3 而不是索引 0。
非常感谢您的帮助! TIA.
旧版 VTK 格式不支持。
您将必须编写一个脚本,以相应地重新排列 POINTS
部分中的点数。
此外,即使在更灵活的基于 XML 的 VTU 格式中,我也看不到这种功能。所以,我建议:
- 编写一个脚本,该脚本将按照
CELLS
部分中连接引用的方式对 [0, N-1] 中的点重新排序。 - 反之亦然,编写一个脚本,相应地对
CELLS
部分中的连接信息重新编号。 - (optional) 考虑切换到基于 XML 的格式,因为它们更灵活,具有更好的 IO 支持库(恕我直言),并且允许用于适当的并行 IO、随机访问和便携式数据压缩。