Relative to this topic ‘Create polydata in vtk.js’, I am struggling with coding a polyData from a JSON file that represents continents.
Easy to read with d3.js, I cannot create a vtk.vtkAppendPolyData correctly.
Any help would be appreciated.
d3.queue() .defer(d3.json, "https://unpkg.com/world-atlas@1/world/50m.json") .awaitAll(function(error, data) { if (error) throw error; console.log('continents ---> Read'); console.log('################### finished'); multilinestring = topojson.mesh(data[0], data[0].objects.land); var polydata = vtk({ vtkClass: 'vtkPolyData', points: { vtkClass: 'vtkPoints', dataType: 'Float32Array', numberOfComponents: 3 }, lines: { vtkClass: 'vtkCellArray', dataType: 'Uint16Array' } }); appendPolydata = vtk.Filters.General.vtkAppendPolyData.newInstance(); for (var p=0; p < multilinestring.coordinates.length; p++) { line = multilinestring.coordinates[p]; polygonpoints = []; polygonlines = []; for (var i=0; i<line.length; i++) { xyz = vertex(line[i], 1.001); // calculate a projection (return xyz) polygonpoints.push(xyz[0], xyz[1], xyz[2]); polygonlines.push(i); } polydata.getPoints().setData(polygonpoints); polydata.getLines().setData(polygonlines); appendPolydata.addInputConnection(polydata); } // add mapper // add actor ); //await
I have done this in python and this was much easier. What am I missing ?