|
@@ -8,6 +8,7 @@ import vtkActor from "@kitware/vtk.js/Rendering/Core/Actor";
|
|
|
import vtkMapper from "@kitware/vtk.js/Rendering/Core/Mapper";
|
|
|
import vtkScalarBarActor from "@kitware/vtk.js/Rendering/Core/ScalarBarActor";
|
|
|
import vtkColorTransferFunction from "@kitware/vtk.js/Rendering/Core/ColorTransferFunction";
|
|
|
+import vtkLookupTable from '@kitware/vtk.js/Common/Core/LookupTable';
|
|
|
import { Representation } from "@kitware/vtk.js/Rendering/Core/Property/Constants";
|
|
|
import vtkPolyData from "@kitware/vtk.js/Common/DataModel/PolyData";
|
|
|
|
|
@@ -49,7 +50,7 @@ export class VtkModel {
|
|
|
this.isSelectPipe = false;
|
|
|
//管道节点选择对象
|
|
|
this.selectObj = null;
|
|
|
-//X,Y
|
|
|
+ //X,Y
|
|
|
this.epageX=null;
|
|
|
this.epageY=null;
|
|
|
//结果选择的点数据
|
|
@@ -87,16 +88,15 @@ export class VtkModel {
|
|
|
this.actor2.setMapper(this.mapper);
|
|
|
|
|
|
|
|
|
- //结果数据
|
|
|
+ //结果数据渲染
|
|
|
this.jgActor = vtkActor.newInstance();
|
|
|
this.jgMapper = vtkMapper.newInstance();
|
|
|
this.jgActor.getProperty().setRepresentation(Representation.SURFACE); //面
|
|
|
-
|
|
|
-
|
|
|
this.scalarBarActor = vtkScalarBarActor.newInstance();
|
|
|
- this.scalarBarActor.setGenerateTicks(this.generateTicks(5));
|
|
|
+ this.scalarBarActor.setGenerateTicks(this.generateTicks(10));
|
|
|
this.scalarBarActor.setDrawAboveRangeSwatch(true);
|
|
|
this.scalarBarActor.setDrawNanAnnotation(false);
|
|
|
+ this.scalarBarActor.setDrawAboveRangeSwatch(false);
|
|
|
this.scalarBarActor.setBoxPosition([1, 0]);
|
|
|
// 修改设条颜色
|
|
|
const ctf = vtkColorTransferFunction.newInstance();
|
|
@@ -106,11 +106,36 @@ export class VtkModel {
|
|
|
ctf.addRGBPoint(3.0, 1.0, 0.5, 0.0);
|
|
|
ctf.addRGBPoint(4.0, 1.0, 0.0, 0.0);
|
|
|
this.jgMapper.setLookupTable(ctf);
|
|
|
+ this.jgActor.setMapper(this.jgMapper);
|
|
|
const lut = this.jgMapper.getLookupTable();
|
|
|
this.scalarBarActor.setScalarsToColors(lut);
|
|
|
- this.jgActor.setMapper(this.jgMapper);
|
|
|
|
|
|
|
|
|
+ //告警数据渲染
|
|
|
+ this.gjActor = vtkActor.newInstance();
|
|
|
+ this.gjMapper = vtkMapper.newInstance();
|
|
|
+ this.gjActor.getProperty().setRepresentation(Representation.SURFACE); //面
|
|
|
+ this.gjscalarBarActor = vtkScalarBarActor.newInstance();
|
|
|
+ this.gjscalarBarActor.setGenerateTicks(this.generateTicks(4));
|
|
|
+ this.gjscalarBarActor.setDrawAboveRangeSwatch(true);
|
|
|
+ this.gjscalarBarActor.setDrawNanAnnotation(false);
|
|
|
+ this.gjscalarBarActor.setDrawAboveRangeSwatch(false);
|
|
|
+ this.gjscalarBarActor.setBoxPosition([1, 0]);
|
|
|
+ this.gjMapper.setLookupTable(vtkLookupTable.newInstance());
|
|
|
+ const gjlut = this.gjMapper.getLookupTable();
|
|
|
+ gjlut.setNumberOfColors(parseInt(4, 10));
|
|
|
+ // hueRange: [0.0, 0.66667], //色调范围
|
|
|
+ // saturationRange: [1.0, 1.0],//饱和度
|
|
|
+ // valueRange: [1.0, 1.0],
|
|
|
+ // alphaRange: [1.0, 1.0], //透明度
|
|
|
+ gjlut.setAlphaRange([1,1]);
|
|
|
+ gjlut.setValueRange([0.5,1]);
|
|
|
+ gjlut.setHueRange([0.66667,0.0]);//蓝色到红色
|
|
|
+ gjlut.setHueRange([0.3375,0.0]);//绿色到红色
|
|
|
+ this.gjscalarBarActor.setScalarsToColors(gjlut);
|
|
|
+ this.gjMapper.setInterpolateScalarsBeforeMapping(true);//有无渐变
|
|
|
+ this.gjActor.setMapper(this.gjMapper);
|
|
|
+
|
|
|
this.ways = [];
|
|
|
this.wayActors = [];
|
|
|
|
|
@@ -549,11 +574,23 @@ export class VtkModel {
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+ clearAllShowGj() {
|
|
|
+ this.renderer.addActor(this.gjActor);
|
|
|
+ this.renderer.addActor(this.gjscalarBarActor);
|
|
|
+ this.renderer.removeActor(this.jgActor);
|
|
|
+ this.renderer.removeActor(this.scalarBarActor);
|
|
|
+ this.wayClearShow();
|
|
|
+ this.modelClearShow();
|
|
|
+ this.isJg = true; //显示结果
|
|
|
+ document.removeEventListener("mousemove", throttleMouseHandler);
|
|
|
+ }
|
|
|
|
|
|
clearModeAddJg() {
|
|
|
this.renderer.addActor(this.jgActor);
|
|
|
this.renderer.addActor(this.scalarBarActor);
|
|
|
+
|
|
|
+ this.renderer.removeActor(this.gjActor);
|
|
|
+ this.renderer.removeActor(this.gjscalarBarActor)
|
|
|
this.wayClearShow();
|
|
|
this.modelClearShow();
|
|
|
this.isJg = true; //显示结果
|
|
@@ -562,6 +599,8 @@ export class VtkModel {
|
|
|
clearJgAddMode() {
|
|
|
this.renderer.removeActor(this.scalarBarActor);
|
|
|
this.renderer.removeActor(this.jgActor);
|
|
|
+ this.renderer.removeActor(this.gjActor);
|
|
|
+ this.renderer.removeActor(this.gjscalarBarActor)
|
|
|
this.clearArrow();
|
|
|
this.modelShow();
|
|
|
this.wayClearShow();
|
|
@@ -570,6 +609,8 @@ export class VtkModel {
|
|
|
clearAll() {
|
|
|
this.renderer.removeActor(this.jgActor);
|
|
|
this.renderer.removeActor(this.scalarBarActor);
|
|
|
+ this.renderer.removeActor(this.gjActor);
|
|
|
+ this.renderer.removeActor(this.gjscalarBarActor)
|
|
|
this.clearArrow();
|
|
|
this.modelClearShow();
|
|
|
this.wayClearShow();
|