parsing vtu to obj with triangle strips

Hello there,

I’m writing a python converter for some simulation files that come out as unstructured grid .vtu but I keep ending up with extra geometry. Could some one tell me from the following data what the final 2 triangles in the first strip should be? I’m pretty sure the first two should be between indices 0 10 1, and 10 1 11, but I’m pretty sure I get the wrong geometry if I let 19 0 10 be my final triangle in the strip.

<DataArray type="Int32" Name="connectivity" NumberOfComponents="1" format="ascii">
 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 0 10
 10 20 11 21 12 22 13 23 14 24 15 25 16 26 17 27 18 28 19 29 10 20
 20 30 21 31 22 32 23 33 24 34 25 35 26 36 27 37 28 38 29 39 20 30
 40 50 41 51 42 52 43 53 44 54 45 55 46 56 47 57 48 58 49 59 40 50
 50 60 51 61 52 62 53 63 54 64 55 65 56 66 57 67 58 68 59 69 50 60
 60 70 61 71 62 72 63 73 64 74 65 75 66 76 67 77 68 78 69 79 60 70

            </DataArray>
            <DataArray type="Int32" Name="offsets" NumberOfComponents="1" format="ascii">
 22 44 66 88 110 132
            </DataArray>

If its of any use I’ll attach the .obj ascii that I’m getting out from running my parser on this file.

v -0.1450 -4.9930 0.1380
v -0.0360 -4.9980 0.1970
v 0.0860 -5.0040 0.1810
v 0.1760 -5.0080 0.0950
v 0.1980 -5.0090 -0.0270
v 0.1450 -5.0070 -0.1380
v 0.0360 -5.0020 -0.1970
v -0.0860 -4.9960 -0.1810
v -0.1760 -4.9920 -0.0950
v -0.1980 -4.9910 0.0270
v -0.1040 -4.1440 0.1400
v 0.0050 -4.1480 0.1980
v 0.1280 -4.1510 0.1800
v 0.2160 -4.1540 0.0940
v 0.2370 -4.1540 -0.0280
v 0.1830 -4.1530 -0.1390
v 0.0740 -4.1490 -0.1970
v -0.0490 -4.1460 -0.1790
v -0.1370 -4.1430 -0.0930
v -0.1580 -4.1430 0.0290
v -0.0910 -3.2900 0.1430
v 0.0180 -3.2910 0.2000
v 0.1410 -3.2920 0.1810
v 0.2280 -3.2920 0.0930
v 0.2480 -3.2920 -0.0290
v 0.1920 -3.2920 -0.1390
v 0.0820 -3.2910 -0.1950
v -0.0400 -3.2900 -0.1760
v -0.1280 -3.2900 -0.0890
v -0.1470 -3.2900 0.0330
v 0.0510 -2.8600 -0.1390
v 0.0510 -2.8040 -0.0290
v 0.0510 -2.8230 0.0930
v 0.0510 -2.9100 0.1800
v 0.0510 -3.0320 0.2000
v 0.0510 -3.1430 0.1430
v 0.0510 -3.1990 0.0330
v 0.0510 -3.1790 -0.0890
v 0.0510 -3.0920 -0.1760
v 0.0510 -2.9700 -0.1960
v 0.0330 -5.0020 -0.0310
v 0.0450 -5.0020 -0.0050
v 0.0390 -5.0000 0.0220
v 0.0190 -4.9990 0.0410
v -0.0090 -4.9980 0.0440
v -0.0330 -4.9980 0.0310
v -0.0450 -4.9980 0.0050
v -0.0390 -5.0000 -0.0220
v -0.0190 -5.0010 -0.0410
v 0.0090 -5.0020 -0.0440
v 0.0050 -5.8270 0.0030
v 0.0160 -5.8260 0.0280
v 0.0100 -5.8240 0.0550
v -0.0100 -5.8220 0.0740
v -0.0380 -5.8200 0.0770
v -0.0620 -5.8200 0.0630
v -0.0730 -5.8220 0.0380
v -0.0680 -5.8230 0.0100
v -0.0470 -5.8250 -0.0080
v -0.0190 -5.8270 -0.0110
v -0.0290 -6.6500 0.0730
v -0.0190 -6.6470 0.0990
v -0.0250 -6.6440 0.1260
v -0.0460 -6.6410 0.1440
v -0.0740 -6.6390 0.1460
v -0.0970 -6.6400 0.1320
v -0.1080 -6.6420 0.1060
v -0.1020 -6.6460 0.0790
v -0.0810 -6.6480 0.0610
v -0.0530 -6.6500 0.0590
v -0.0650 -7.3500 0.1710
v -0.0540 -7.3470 0.1960
v -0.0610 -7.3430 0.2230
v -0.0820 -7.3390 0.2410
v -0.1090 -7.3380 0.2420
v -0.1330 -7.3380 0.2280
v -0.1440 -7.3410 0.2020
v -0.1370 -7.3450 0.1760
v -0.1160 -7.3490 0.1580
v -0.0880 -7.3510 0.1560
f 0 10 1
f 10 1 11
f 1 11 2
f 11 2 12
f 2 12 3
f 12 3 13
f 3 13 4
f 13 4 14
f 4 14 5
f 14 5 15
f 5 15 6
f 15 6 16
f 6 16 7
f 16 7 17
f 7 17 8
f 17 8 18
f 8 18 9
f 18 9 19
f 9 19 0
f 19 0 10
f 10 20 11
f 20 11 21
f 11 21 12
f 21 12 22
f 12 22 13
f 22 13 23
f 13 23 14
f 23 14 24
f 14 24 15
f 24 15 25
f 15 25 16
f 25 16 26
f 16 26 17
f 26 17 27
f 17 27 18
f 27 18 28
f 18 28 19
f 28 19 29
f 19 29 10
f 29 10 20
f 20 30 21
f 30 21 31
f 21 31 22
f 31 22 32
f 22 32 23
f 32 23 33
f 23 33 24
f 33 24 34
f 24 34 25
f 34 25 35
f 25 35 26
f 35 26 36
f 26 36 27
f 36 27 37
f 27 37 28
f 37 28 38
f 28 38 29
f 38 29 39
f 29 39 20
f 39 20 30
f 40 50 41
f 50 41 51
f 41 51 42
f 51 42 52
f 42 52 43
f 52 43 53
f 43 53 44
f 53 44 54
f 44 54 45
f 54 45 55
f 45 55 46
f 55 46 56
f 46 56 47
f 56 47 57
f 47 57 48
f 57 48 58
f 48 58 49
f 58 49 59
f 49 59 40
f 59 40 50
f 50 60 51
f 60 51 61
f 51 61 52
f 61 52 62
f 52 62 53
f 62 53 63
f 53 63 54
f 63 54 64
f 54 64 55
f 64 55 65
f 55 65 56
f 65 56 66
f 56 66 57
f 66 57 67
f 57 67 58
f 67 58 68
f 58 68 59
f 68 59 69
f 59 69 50
f 69 50 60
f 60 70 61
f 70 61 71
f 61 71 62
f 71 62 72
f 62 72 63
f 72 63 73
f 63 73 64
f 73 64 74
f 64 74 65
f 74 65 75
f 65 75 66
f 75 66 76
f 66 76 67
f 76 67 77
f 67 77 68
f 77 68 78
f 68 78 69
f 78 69 79
f 69 79 60
f 79 60 70

I should also include the whole .vtu xml file, and perhaps someone will be able to explain perhaps why the first 10 points are repeated?

<?xml version="1.0"?>
<VTKFile type="UnstructuredGrid" version="0.1" byte_order="LittleEndian">
   <UnstructuredGrid>
      <Piece NumberOfPoints="20" NumberOfCells="1">
         <Points>
            <DataArray type="Float32" Name="Position" NumberOfComponents="3" format="ascii">
0.000	0.010	0.000
-0.006	0.008	0.000
-0.010	0.003	0.000
-0.010	-0.003	0.000
-0.006	-0.008	0.000
-0.000	-0.010	0.000
0.006	-0.008	0.000
0.010	-0.003	0.000
0.010	0.003	0.000
0.006	0.008	0.000
0.000	0.010	0.000
-0.006	0.008	0.000
-0.010	0.003	0.000
-0.010	-0.003	0.000
-0.006	-0.008	0.000
-0.000	-0.010	0.000
0.006	-0.008	0.000
0.010	-0.003	0.000
0.010	0.003	0.000
0.006	0.008	0.000
		    </DataArray>
         </Points>
         <Cells>
            <DataArray type="Int32" Name="connectivity" NumberOfComponents="1" format="ascii">
 0 10 1 11 2 12 3 13 4 14 5 15 6 16 7 17 8 18 9 19 0 10

            </DataArray>
            <DataArray type="Int32" Name="offsets" NumberOfComponents="1" format="ascii">
 22
            </DataArray>
            <DataArray type="UInt8"  Name="types" NumberOfComponents="1" format="ascii">
6
            </DataArray>
         </Cells>
         <CellData>
           <DataArray type="Float32" Name="combinedRootClassID" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="parentRootClassID" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/Imax" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/Km" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/minimalNutrientConcentration" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/nutrientConcentrationAtTheRootSurface" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/optimalNutrientConcentration" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/radiusDepletionZone" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/rootSegmentMinimalNutrientContent" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/rootSegmentNutrientUptake" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="phosphorus/rootSegmentOptimalNutrientContent" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="plantID" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="plantTypeID" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootCircumference" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootClassID" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootDiameter" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootLength2Base" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootPotentialSecondaryGrowth" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootSegmentAge" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootSegmentDryWeight" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootSegmentLength" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootSegmentLengthDuration" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootSegmentSurfaceArea" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="rootSegmentVolume" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
           <DataArray type="Float32" Name="spatialRootDensity" NumberOfComponents="1" format="ascii">
 0.000e+00
           </DataArray>
         </CellData>
      </Piece>
   </UnstructuredGrid>
</VTKFile>