Skip to content
This repository was archived by the owner on Nov 19, 2021. It is now read-only.

Commit 60d72ae

Browse files
committed
Create plane source example
1 parent 5309b0e commit 60d72ae

File tree

6 files changed

+74
-13
lines changed

6 files changed

+74
-13
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
node_modules
2+
dist

index.html

+1-6
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@
99
</head>
1010
<body>
1111
<h1>Hello World!</h1>
12-
We are using Node.js <span id="node-version"></span>,
13-
Chromium <span id="chrome-version"></span>,
14-
and Electron <span id="electron-version"></span>.
15-
16-
<!-- You can also require other files to run in this process -->
17-
<script src="./renderer.js"></script>
12+
<script src="./dist/renderer.js"></script>
1813
</body>
1914
</html>

package.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
"description": "A minimal Electron application",
55
"main": "main.js",
66
"scripts": {
7-
"start": "electron ."
7+
"start": "electron .",
8+
"build": "webpack --progress"
89
},
910
"repository": "https://github.com/electron/electron-quick-start",
1011
"keywords": [

renderer.js

-6
This file was deleted.

src/index.js

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
import vtkFullScreenRenderWindow from '@kitware/vtk.js/Rendering/Misc/FullScreenRenderWindow';
2+
import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor';
3+
import vtkPlaneSource from '@kitware/vtk.js/Filters/Sources/PlaneSource';
4+
import vtkMapper from '@kitware/vtk.js/Rendering/Core/Mapper';
5+
import { Representation } from '@kitware/vtk.js/Rendering/Core/Property/Constants';
6+
7+
// import controlPanel from './controlPanel.html';
8+
9+
// ----------------------------------------------------------------------------
10+
// Standard rendering code setup
11+
// ----------------------------------------------------------------------------
12+
13+
const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({
14+
background: [0, 0, 0],
15+
});
16+
const renderer = fullScreenRenderer.getRenderer();
17+
const renderWindow = fullScreenRenderer.getRenderWindow();
18+
19+
// ----------------------------------------------------------------------------
20+
// Example code
21+
// ----------------------------------------------------------------------------
22+
23+
const planeSource = vtkPlaneSource.newInstance();
24+
const mapper = vtkMapper.newInstance();
25+
const actor = vtkActor.newInstance();
26+
27+
actor.getProperty().setRepresentation(Representation.WIREFRAME);
28+
29+
mapper.setInputConnection(planeSource.getOutputPort());
30+
actor.setMapper(mapper);
31+
32+
renderer.addActor(actor);
33+
renderer.resetCamera();
34+
renderWindow.render();
35+
36+
// -----------------------------------------------------------
37+
// UI control handling
38+
// -----------------------------------------------------------
39+
40+
/*
41+
fullScreenRenderer.addController(controlPanel);
42+
43+
['xResolution', 'yResolution'].forEach((propertyName) => {
44+
document.querySelector(`.${propertyName}`).addEventListener('input', (e) => {
45+
const value = Number(e.target.value);
46+
planeSource.set({ [propertyName]: value });
47+
renderWindow.render();
48+
});
49+
});
50+
*/
51+
52+
// -----------------------------------------------------------
53+
// Make some variables global so that you can inspect and
54+
// modify objects in your browser's developer console:
55+
// -----------------------------------------------------------
56+
57+
global.planeSource = planeSource;
58+
global.mapper = mapper;
59+
global.actor = actor;
60+
global.renderer = renderer;
61+
global.renderWindow = renderWindow;

webpack.config.js

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
const path = require('path');
2+
module.exports = {
3+
mode: 'development',
4+
// needed to avoid unsafe-eval
5+
devtool: 'source-map',
6+
output: {
7+
filename: 'renderer.js',
8+
},
9+
};

0 commit comments

Comments
 (0)