-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathplotting.js
More file actions
38 lines (30 loc) · 1.02 KB
/
plotting.js
File metadata and controls
38 lines (30 loc) · 1.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import vtkActor from 'vtk.js/Sources/Rendering/Core/Actor';
import vtkFullScreenRenderWindow from 'vtk.js/Sources/Rendering/Misc/FullScreenRenderWindow';
import vtkMapper from 'vtk.js/Sources/Rendering/Core/Mapper';
import interactor from './interactor.js';
class Plotter {
constructor () {
this.fullScreenRenderer = vtkFullScreenRenderWindow.newInstance(
{ background: [1, 1, 1] }
);
this.renderer = this.fullScreenRenderer.getRenderer();
this.renderWindow = this.fullScreenRenderer.getRenderWindow();
this.style = interactor.useVtkInteractorStyle(this.fullScreenRenderer);
}
addMesh (mesh, props) {
const mapper = vtkMapper.newInstance();
mapper.setInputData(mesh);
const actor = vtkActor.newInstance();
actor.setMapper(mapper);
const prop = actor.getProperty();
prop.set(props);
this.renderer.addActor(actor);
this.renderer.resetCamera();
this.renderWindow.render();
return actor;
}
render () {
this.renderWindow.render();
}
}
export default { Plotter };