JSFiddle - React, Tailwind, and code Playground

TypeScript ES6 for-of

by k_udilovich

HTML

<script src="https://unpkg.com/[email protected]/vtk.js"></script>

TypeScript

class Point3d {
    id: String;
    x:number;
    y:number;
    z: number;

    constructor(id: String, x:number, y:number, z:number) {
        this.id = id;
        this.x =x;
        this.y=y;
        this.z=z;
    }
}

class MeshCell {
    id: String;
    NumberOfPoints:number;
    PointsIds:number[];
    constructor(id:String, NumberOfPoints:number, PointsIds:number[]) {
        this.id=id;
        this.NumberOfPoints=NumberOfPoints;
        this.PointsIds = PointsIds;
    }
}

  let points: Point3d[] =
    [
      new Point3d('0', 0.0,0.0 ,0),
      new Point3d('1', 0.0,10.0,0),
      new Point3d('2', 5.0,10.0,0),
      new Point3d('3', 5.0,0.0 ,0),
    ]
    ;


    let triangularMesh: MeshCell[] = [
      new MeshCell("", 3, [0, 1, 2]),
      new MeshCell("", 3, [0, 2, 3]),
    ]
    const dataRange = [0, 1];
    let data =[ 0,0.25,0.3, 0.95]; //input data

    var vertexArray = [];
    var polysArray = [];
    var valuesArray=[];

    var i;
    for (i = 0; i < points.length; i++) {
    let point = points[i];
      vertexArray.push(point.x, point.y, point.z);
      valuesArray.push(data[i]);
    }

     for (i = 0; i < triangularMesh.length; i++) {
    let cell = triangularMesh[i];
       polysArray.push(cell.NumberOfPoints, cell.PointsIds[0], cell.PointsIds[1], cell.PointsIds[2]);
      
    }
    
      var polydata = vtk.Common.DataModel.vtkPolyData.newInstance();
           polydata.getPoints().setData(Float32Array.from(vertexArray), 3);
     polydata.getPolys().setData(Uint16Array.from(polysArray));
      const values = Float32Array.from(valuesArray);
      const filledArray = vtk.Common.Core.vtkDataArray.newInstance({ name: 'acceleration', values, numberOfComponents: 1 });
      polydata.getPointData().addArray(filledArray);

    //actor
      const actor = vtk.Rendering.Core.vtkActor.newInstance();

      //configure lookup table
      const lookupTable =  vtk.Rendering.Core.vtkColorTransferFunction.newInstance();
      //apply preset
      var...