VelocityAsciiParser.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import vtkDataArray from '@kitware/vtk.js/Common/Core/DataArray.js';
  2. import vtkPolyData from '@kitware/vtk.js/Common/DataModel/PolyData.js';
  3. import vtkPoints from '@kitware/vtk.js/Common/Core/Points.js';
  4. import vtkPointSet from '@kitware/vtk.js/Common/DataModel/PointSet.js';
  5. import vtkCellArray from '@kitware/vtk.js/Common/Core/CellArray.js';
  6. import { number } from 'echarts';
  7. function parseLegacyASCII(content) {
  8. let dataModel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  9. let parser = null;
  10. let velindex = 0;
  11. const separatorRegExp = /\r?\n/;
  12. const separatorRes = separatorRegExp.exec(content);
  13. const separator = separatorRes !== null ? separatorRes[0] : null;
  14. dataModel.dataset=vtkPolyData.newInstance();
  15. dataModel.velocitys = [];
  16. content.split(separator).forEach((line, index) => {
  17. if (!parser) {
  18. let velocity = {};
  19. dataModel.velocitys.push(velocity);
  20. let tem = line.split(',');
  21. velocity.name = tem[0];
  22. velocity.num = Number(tem[1]);
  23. velocity.speed = Number(tem[2]);
  24. velocity.vector = [Number(tem[3]), Number(tem[4]), Number(tem[5])];
  25. velindex = Number(tem[1]);
  26. velocity.points=[];
  27. parser = true;
  28. } else {
  29. let velocity = dataModel.velocitys[dataModel.velocitys.length - 1];
  30. let tem = line.split(',');
  31. velocity.points.push({
  32. x: Number(tem[0]),
  33. y: Number(tem[1]),
  34. z: Number(tem[2])
  35. });
  36. velindex--;
  37. if (velindex == 0) {
  38. parser = null;
  39. }
  40. }
  41. });
  42. console.log(dataModel);
  43. return dataModel;
  44. }
  45. var velocityAsciiParser = {
  46. parseLegacyASCII
  47. };
  48. export { velocityAsciiParser as default };