huangxingxing 1 rok pred
rodič
commit
e9316c1ed7

+ 2 - 0
src/control/fireControl.js

@@ -20,6 +20,8 @@ export class fireControl {
     }
     //几何数据初始化
     async initGemetry() {
+        this.scalars = new Map();
+        this.scalar = new Map();
         const url = this._url + this.aid + "&transCode=D000014";
         await this.reader.setUrl(url).then(() => {
             this.polydata = this.reader.getOutputData(0);

+ 10 - 7
src/view/result/resultLeft.vue

@@ -10,6 +10,8 @@
 import * as d3 from "d3-scale";
 import { formatDefaultLocale } from "d3-format";
 import { onMounted, onUnmounted, onBeforeUnmount, ref } from "vue";
+import vtkGenericRenderWindow from '@kitware/vtk.js/Rendering/Misc/GenericRenderWindow';
+
 import vtkRenderWindowWithControlBar from "@kitware/vtk.js/Rendering/Misc/RenderWindowWithControlBar";
 import vtkActor from "@kitware/vtk.js/Rendering/Core/Actor";
 import vtkConeSource from "@kitware/vtk.js/Filters/Sources/ConeSource";
@@ -65,13 +67,13 @@ onMounted(() => {
   rootContainer.style.width = "100%";
   rootContainer.style.height = "100%";
   vtkObj.fcon = createFireControl();
-  vtkObj.renderWindow = vtkRenderWindowWithControlBar.newInstance();
+  vtkObj.renderWindow = vtkGenericRenderWindow.newInstance();
   vtkObj.renderWindow.setContainer(rootContainer);
   vtkObj.jgMapper = vtkMapper.newInstance();
   vtkObj.jgActor = vtkActor.newInstance();
   vtkObj.jgActor.getProperty().setRepresentation(Representation.SURFACE); //面
   vtkObj.jgActor.setMapper(vtkObj.jgMapper);
-  vtkObj.renderWindow.getRenderer().addActor(vtkObj.jgActor);
+  // vtkObj.renderWindow.getRenderer().addActor(vtkObj.jgActor);
 
   vtkObj.scalarBarActor = vtkScalarBarActor.newInstance();
   vtkObj.scalarBarActor.setGenerateTicks(generateTicks(5));
@@ -88,7 +90,7 @@ onMounted(() => {
   vtkObj.jgMapper.setLookupTable(ctf);
   const lut = vtkObj.jgMapper.getLookupTable();
   vtkObj.scalarBarActor.setScalarsToColors(lut);
-  vtkObj.renderWindow.getRenderer().addActor(vtkObj.scalarBarActor);
+  // vtkObj.renderWindow.getRenderer().addActor(vtkObj.scalarBarActor);
   // vtkGridRead(props.aid);
   // vtkObj.renderWindow.getRenderer().resetCamera();
   // vtkObj.renderWindow.getRenderWindow().render();
@@ -165,12 +167,16 @@ function vtkShow() {
   mapper.clearColorArrays(); //强制重建颜色
   actor.getProperty().setOpacity(props.count); //设置错误的透明度使得页面重新加载  不设置不刷新页面
   // vtkmodel.renderer.resetCamera();
+  
+  vtkObj.renderWindow.getRenderer().addActor(scalarBarActor);
+  vtkObj.renderWindow.getRenderer().addActor(actor);
+
   if (!resetCameraFlag) {
     vtkObj.renderWindow.getRenderer().resetCamera();
     resetCameraFlag = true;
   }
+  vtkObj.renderWindow.resize();
   vtkObj.renderWindow.getRenderWindow().render();
-
   initFlag=true;
 }
 function getMinMax(scalars) {
@@ -198,9 +204,6 @@ onBeforeUnmount(() => {
 const leftChangAid = (leftAid,step,region) => {
    console.log(leftAid,step,region);
   if (vtkObj.fcon) {
-    props.aid=leftAid;
-    props.region =region;
-    props.step=step;
     console.log(props);
     vtkGridRead(leftAid);
   }

+ 7 - 6
src/view/result/resultRight.vue

@@ -8,6 +8,7 @@
 import * as d3 from "d3-scale";
 import { formatDefaultLocale } from "d3-format";
 import { onMounted, onUnmounted, onBeforeUnmount, ref } from "vue";
+import vtkGenericRenderWindow from '@kitware/vtk.js/Rendering/Misc/GenericRenderWindow';
 import vtkRenderWindowWithControlBar from "@kitware/vtk.js/Rendering/Misc/RenderWindowWithControlBar";
 import vtkActor from "@kitware/vtk.js/Rendering/Core/Actor";
 import vtkConeSource from "@kitware/vtk.js/Filters/Sources/ConeSource";
@@ -62,13 +63,13 @@ onMounted(() => {
   rootContainer.style.width = "100%";
   rootContainer.style.height = "100%";
   vtkObj.fcon = createFireControl();
-  vtkObj.renderWindow = vtkRenderWindowWithControlBar.newInstance();
+  vtkObj.renderWindow = vtkGenericRenderWindow.newInstance();
   vtkObj.renderWindow.setContainer(rootContainer);
   vtkObj.jgMapper = vtkMapper.newInstance();
   vtkObj.jgActor = vtkActor.newInstance();
   vtkObj.jgActor.getProperty().setRepresentation(Representation.SURFACE); //面
   vtkObj.jgActor.setMapper(vtkObj.jgMapper);
-  vtkObj.renderWindow.getRenderer().addActor(vtkObj.jgActor);
+  // vtkObj.renderWindow.getRenderer().addActor(vtkObj.jgActor);
 
   vtkObj.scalarBarActor = vtkScalarBarActor.newInstance();
   vtkObj.scalarBarActor.setGenerateTicks(generateTicks(5));
@@ -85,7 +86,7 @@ onMounted(() => {
   vtkObj.jgMapper.setLookupTable(ctf);
   const lut = vtkObj.jgMapper.getLookupTable();
   vtkObj.scalarBarActor.setScalarsToColors(lut);
-  vtkObj.renderWindow.getRenderer().addActor(vtkObj.scalarBarActor);
+  // vtkObj.renderWindow.getRenderer().addActor(vtkObj.scalarBarActor);
   // vtkGridRead(props.aid);
   // vtkObj.renderWindow.getRenderer().resetCamera();
   // vtkObj.renderWindow.getRenderWindow().render();
@@ -162,10 +163,13 @@ function vtkShow() {
   mapper.clearColorArrays(); //强制重建颜色
   actor.getProperty().setOpacity(props.count); //设置错误的透明度使得页面重新加载  不设置不刷新页面
   // vtkmodel.renderer.resetCamera();
+  vtkObj.renderWindow.getRenderer().addActor(scalarBarActor);
+  vtkObj.renderWindow.getRenderer().addActor(actor);
   if (!resetCameraFlag) {
     vtkObj.renderWindow.getRenderer().resetCamera();
     resetCameraFlag = true;
   }
+  vtkObj.renderWindow.resize();
   vtkObj.renderWindow.getRenderWindow().render();
 
   initFlag = true;
@@ -195,9 +199,6 @@ onBeforeUnmount(() => {
 const rightChangAid = (rightAid, step, region) => {
   console.log(rightAid, step, region);
   if (vtkObj.fcon) {
-    props.aid = rightAid;
-    props.region = region;
-    props.step = step;
     console.log(props);
     vtkGridRead(rightAid);
   }