|
@@ -1,6 +1,6 @@
|
|
<template>
|
|
<template>
|
|
<div>
|
|
<div>
|
|
- <div ref="vtkContainer" />
|
|
|
|
|
|
+ <div id="vtkContainer" />
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
@@ -10,7 +10,7 @@ import * as d3 from 'd3-scale';
|
|
import { formatDefaultLocale } from 'd3-format';
|
|
import { formatDefaultLocale } from 'd3-format';
|
|
import { onMounted } from 'vue';
|
|
import { onMounted } from 'vue';
|
|
import '@kitware/vtk.js/Rendering/Profiles/Geometry';
|
|
import '@kitware/vtk.js/Rendering/Profiles/Geometry';
|
|
-import vtkFullScreenRenderWindow from '@kitware/vtk.js/Rendering/Misc/FullScreenRenderWindow';
|
|
|
|
|
|
+import vtkRenderWindowWithControlBar from '@kitware/vtk.js/Rendering/Misc/RenderWindowWithControlBar';
|
|
import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor';
|
|
import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor';
|
|
import vtkMapper from '@kitware/vtk.js/Rendering/Core/Mapper';
|
|
import vtkMapper from '@kitware/vtk.js/Rendering/Core/Mapper';
|
|
import vtkUnstructuredDataReader from '../reader/UnstructuredDataReader.js';
|
|
import vtkUnstructuredDataReader from '../reader/UnstructuredDataReader.js';
|
|
@@ -25,22 +25,31 @@ export default {
|
|
setup() {
|
|
setup() {
|
|
//安装时
|
|
//安装时
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
- const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance();
|
|
|
|
- const renderer = fullScreenRenderer.getRenderer();
|
|
|
|
- const renderWindow = fullScreenRenderer.getRenderWindow();
|
|
|
|
|
|
+ const rootContainer =document.getElementById("vtkContainer");
|
|
|
|
+ rootContainer.style.position = 'relative';
|
|
|
|
+ rootContainer.style.width = '1000px';
|
|
|
|
+ rootContainer.style.height = '500px';
|
|
|
|
+ console.log("rootContainer:",rootContainer);
|
|
|
|
+ const renderWindowWith = vtkRenderWindowWithControlBar.newInstance({
|
|
|
|
+ controlSize: 11,
|
|
|
|
+ });
|
|
|
|
+ renderWindowWith.setContainer(rootContainer);
|
|
|
|
+ // fullScreenRenderer.setBackground([0,0,0]);
|
|
|
|
|
|
|
|
+ // const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance();
|
|
|
|
+ const renderer = renderWindowWith.getRenderer();
|
|
|
|
+ const renderWindow = renderWindowWith.getRenderWindow();
|
|
|
|
+
|
|
const resetCamera = renderer.resetCamera;
|
|
const resetCamera = renderer.resetCamera;
|
|
const render = renderWindow.render;
|
|
const render = renderWindow.render;
|
|
-
|
|
|
|
const mapper = vtkMapper.newInstance();
|
|
const mapper = vtkMapper.newInstance();
|
|
const actor = vtkActor.newInstance();
|
|
const actor = vtkActor.newInstance();
|
|
const reader = vtkUnstructuredDataReader.newInstance();
|
|
const reader = vtkUnstructuredDataReader.newInstance();
|
|
const scalarName ="Pressure";
|
|
const scalarName ="Pressure";
|
|
-
|
|
|
|
var scalars;
|
|
var scalars;
|
|
reader.setUrl('data/Fire/POST0.vtk').then(() => {
|
|
reader.setUrl('data/Fire/POST0.vtk').then(() => {
|
|
const polydata = reader.getOutputData(0);
|
|
const polydata = reader.getOutputData(0);
|
|
- scalars = reader.getOutputData(1);
|
|
|
|
|
|
+ scalars = reader.getOutputData(1);
|
|
const scalarArray=scalars.get(scalarName);
|
|
const scalarArray=scalars.get(scalarName);
|
|
const dataArray = vtkDataArray.newInstance({
|
|
const dataArray = vtkDataArray.newInstance({
|
|
name:scalarName,
|
|
name:scalarName,
|
|
@@ -79,11 +88,12 @@ export default {
|
|
.map((tick) => Number(parseFloat(tick).toPrecision(12)).toPrecision()); // d3 sometimes adds unwanted whitespace
|
|
.map((tick) => Number(parseFloat(tick).toPrecision(12)).toPrecision()); // d3 sometimes adds unwanted whitespace
|
|
helper.setTicks(ticks);
|
|
helper.setTicks(ticks);
|
|
helper.setTickStrings(tickStrings);
|
|
helper.setTickStrings(tickStrings);
|
|
- };
|
|
|
|
|
|
+ };
|
|
}
|
|
}
|
|
scalarBarActor.setGenerateTicks(generateTicks(5));
|
|
scalarBarActor.setGenerateTicks(generateTicks(5));
|
|
scalarBarActor.setAxisLabel(scalarName);
|
|
scalarBarActor.setAxisLabel(scalarName);
|
|
scalarBarActor.setDrawAboveRangeSwatch(true);
|
|
scalarBarActor.setDrawAboveRangeSwatch(true);
|
|
|
|
+
|
|
const ctf = vtkColorTransferFunction.newInstance();
|
|
const ctf = vtkColorTransferFunction.newInstance();
|
|
ctf.addRGBPoint(0.0, 0.0, 0.0, 1.0);
|
|
ctf.addRGBPoint(0.0, 0.0, 0.0, 1.0);
|
|
ctf.addRGBPoint(1.0, 1.0, 0.0, 0.0);
|
|
ctf.addRGBPoint(1.0, 1.0, 0.0, 0.0);
|
|
@@ -97,7 +107,7 @@ export default {
|
|
for (let index = 1; index <= 60; index++) {
|
|
for (let index = 1; index <= 60; index++) {
|
|
var flag =true;
|
|
var flag =true;
|
|
while(flag){
|
|
while(flag){
|
|
- flag=false;
|
|
|
|
|
|
+ flag=false;
|
|
const reader = vtkUnstructuredDataReader.newInstance();
|
|
const reader = vtkUnstructuredDataReader.newInstance();
|
|
reader.setUrl('data/Fire/POST'+index+'.vtk').then(() => {
|
|
reader.setUrl('data/Fire/POST'+index+'.vtk').then(() => {
|
|
console.log("index:",index);
|
|
console.log("index:",index);
|
|
@@ -113,27 +123,23 @@ export default {
|
|
});
|
|
});
|
|
dataArray.setData(scalarArray);
|
|
dataArray.setData(scalarArray);
|
|
polydata.getPointData().setScalars(dataArray);
|
|
polydata.getPointData().setScalars(dataArray);
|
|
- // mapper.setInputData(polydata);
|
|
|
|
|
|
+ mapper.setInputData(polydata);
|
|
renderWindow.render();
|
|
renderWindow.render();
|
|
flag=true;
|
|
flag=true;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
- });
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
+ });
|
|
renderWindow.render();
|
|
renderWindow.render();
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
});
|
|
});
|
|
return ;
|
|
return ;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
+
|
|
</script>
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|