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...