在渲染vtk.js时可能会遇到。比如我们请求接口渲染了建模数据,等待3分钟之后,重新请求接口做渲染。但是在第二次渲染完成之后,我们会看到。之前的渲染和现在的渲染同时出现了,导致了冲重复渲染。
1。全局定义所需要的vtk.jsAPI
data() {
return {
fullScreenRenderer: null,
interactor: null,
renderer: null,
//存储所有的actor
actors: [],
}
},
2。 // 仅创建或重建渲染窗口
if (!this.fullScreenRenderer) {
this.fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({
background: [0, 0, 0, 0],
rootContainer: this.$refs.container,
})
this.renderer = this.fullScreenRenderer.getRenderer()
}
const renderWindow = this.fullScreenRenderer.getRenderWindow()
const reader = vtkPolyDataReader.newInstance()
3。// 这里开始清除旧的模型并渲染新的模型
for (const actor of this.actors) {
this.renderer.removeActor(actor)
}
//这里是渲染了三组建模数据,其实就是把创建的actor都添加到actors这个数组里面。
this.actors = [...actorsA, ...actorsB, ...actorsC]
for (const actor of this.actors) {
this.renderer.addActor(actor)
}