XML Polygonal Data形式は、VTK Polygonal Data形式に相当するフォーマットである。例として、単位立方体の表面を生成するサンプルデータを示す。
<VTKFile type="PolyData" version="0.1" byte_order="LittleEndian">
<PolyData>
<Piece NumberOfPoints="8" NumberOfVerts="0" NumberOfLines="0" NumberOfStrips="0" NumberOfPolys="6">
<PointData>
</PointData>
<CellData>
</CellData>
<Points>
<DataArray type="Float32" Name="Points" NumberOfComponents="3" format="ascii" RangeMin="0" RangeMax="1.7320508076">
0.0 0.0 0.0
1.0 0.0 0.0
0.0 1.0 0.0
1.0 1.0 0.0
0.0 0.0 1.0
1.0 0.0 1.0
0.0 1.0 1.0
1.0 1.0 1.0
</DataArray>
</Points>
<Verts>
<DataArray type="Int32" Name="connectivity" format="ascii" RangeMin="0" RangeMax="0">
</DataArray>
<DataArray type="Int32" Name="offsets" format="ascii" RangeMin="0" RangeMax="0">
</DataArray>
</Verts>
<Lines>
<DataArray type="Int32" Name="connectivity" format="ascii" RangeMin="0" RangeMax="0">
</DataArray>
<DataArray type="Int32" Name="offsets" format="ascii" RangeMin="0" RangeMax="0">
</DataArray>
</Lines>
<Strips>
<DataArray type="Int32" Name="connectivity" format="ascii" RangeMin="0" RangeMax="0">
</DataArray>
<DataArray type="Int32" Name="offsets" format="ascii" RangeMin="0" RangeMax="0">
</DataArray>
</Strips>
<Polys>
<DataArray type="Int32" Name="connectivity" format="ascii" RangeMin="0" RangeMax="7">
0 2 3 1
0 1 5 4
1 3 7 5
2 6 7 3
0 4 6 2
4 5 7 6
</DataArray>
<DataArray type="Int32" Name="offsets" format="ascii" RangeMin="4" RangeMax="24">
4 8 12 16 20 24
</DataArray>
</Polys>
</Piece>
</PolyData>
</VTKFile>
VTKFileエレメントのtype属性に、データセット名を指定する。version属性およびbyte_order属性は固定値である。
PolyDataエレメント内のPieceエレメントには、NumberOfPoints属性、NumberOfVerts属性、NumberOfLines属性、NumberOfStrips属性を指定する。通常は、NumberOfPoints属性にPolyData内に含まれる節点数を指定するだけで構わない。
Pointsエレメント内のDataArrayエレメントには、各節点の座標値をx、y、zの順番に指定する。
Polysエレメント内には、2つのDataArrayエレメントを定義する。
1つ目のDataArrayエレメントには、Name=”Connectivity”を指定し、接続する節点番号を要素ごとに列挙する。
2つ目のDataArrayエレメントには、Name=”Offsets”を指定し、1つ目のDataArray要素内で列挙した節点番号の読み終わり位置を列挙する。
コメントを残す