|
1 | 1 | title: Importing vtk.js as an external script
|
2 | 2 | ---
|
3 | 3 |
|
4 |
| -This guide illustrates how to build an application using vtk.js as a pre-built script file. This is not the recommended way of building vtk.js applications but enables quick prototyping and easy access without any tools or infrastructure needed. |
| 4 | +This guide illustrates how to build a vtk.js application by leveraging import maps. While this approach may require a modern browser that supports import maps, it offers a cleaner setup and gives you fine-grained control over which modules are imported. |
5 | 5 |
|
6 |
| -Below you can find an [html](https://raw.githubusercontent.com/Kitware/vtk-js/master/Documentation/content/docs/vtk-js-demo.html) file example that leverages vtk.js and builds a visualization with it. You can see its ES6 example counter part [here](https://kitware.github.io/vtk-js/examples/ConeSource.html). |
| 6 | +Below you can find an [HTML](https://raw.githubusercontent.com/Kitware/vtk-js/master/Documentation/content/docs/vtk-js-demo.html) file example that demonstrates how to use vtk.js with import maps to create a visualization. |
7 | 7 |
|
8 | 8 | ```html vtk-js-demo.html
|
9 | 9 | <!DOCTYPE html>
|
10 | 10 | <html>
|
11 |
| -<body> |
12 |
| -< script type= "text/javascript" src= "https://unpkg.com/@babel/[email protected]/dist/polyfill.js"></ script> |
13 |
| -<script type="text/javascript" src="https://unpkg.com/vtk.js"></script> |
14 |
| -<script type="text/javascript"> |
15 |
| - // -------------------------------------------------------------------------- |
16 |
| - // Example code |
17 |
| - // -------------------------------------------------------------------------- |
18 |
| - var fullScreenRenderer = vtk.Rendering.Misc.vtkFullScreenRenderWindow.newInstance(); |
19 |
| - var actor = vtk.Rendering.Core.vtkActor.newInstance(); |
20 |
| - var mapper = vtk.Rendering.Core.vtkMapper.newInstance(); |
21 |
| - var cone = vtk.Filters.Sources.vtkConeSource.newInstance(); |
22 |
| -
|
23 |
| - actor.setMapper(mapper); |
24 |
| - mapper.setInputConnection(cone.getOutputPort()); |
25 |
| -
|
26 |
| - var renderer = fullScreenRenderer.getRenderer(); |
27 |
| - renderer.addActor(actor); |
28 |
| - renderer.resetCamera(); |
29 |
| -
|
30 |
| - var renderWindow = fullScreenRenderer.getRenderWindow(); |
31 |
| - renderWindow.render(); |
32 |
| -</script> |
33 |
| -</body> |
| 11 | + <body> |
| 12 | + <script type="importmap"> |
| 13 | + { |
| 14 | + "imports": { |
| 15 | + "@kitware/vtk.js/": "https://cdn.skypack.dev/@kitware/vtk.js/" |
| 16 | + } |
| 17 | + } |
| 18 | + </script> |
| 19 | + <script type="module"> |
| 20 | + import '@kitware/vtk.js/Rendering/Profiles/Geometry'; |
| 21 | + import vtkFullScreenRenderWindow from '@kitware/vtk.js/Rendering/Misc/FullScreenRenderWindow'; |
| 22 | + import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor'; |
| 23 | + import vtkMapper from '@kitware/vtk.js/Rendering/Core/Mapper'; |
| 24 | + import vtkConeSource from '@kitware/vtk.js/Filters/Sources/ConeSource'; |
| 25 | + // -------------------------------------------------------------------------- |
| 26 | + // Example code |
| 27 | + // -------------------------------------------------------------------------- |
| 28 | + const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance(); |
| 29 | + const actor = vtkActor.newInstance(); |
| 30 | + const mapper = vtkMapper.newInstance(); |
| 31 | + const cone = vtkConeSource.newInstance(); |
| 32 | + actor.setMapper(mapper); |
| 33 | + mapper.setInputConnection(cone.getOutputPort()); |
| 34 | + const renderer = fullScreenRenderer.getRenderer(); |
| 35 | + renderer.addActor(actor); |
| 36 | + renderer.resetCamera(); |
| 37 | + const renderWindow = fullScreenRenderer.getRenderWindow(); |
| 38 | + renderWindow.render(); |
| 39 | + </script> |
| 40 | + </body> |
34 | 41 | </html>
|
35 | 42 | ```
|
0 commit comments