import '@kitware/vtk.js/favicon';
import '@kitware/vtk.js/Rendering/Profiles/Geometry';
import vtkFullScreenRenderWindow from '@kitware/vtk.js/Rendering/Misc/FullScreenRenderWindow'; import vtkActor from '@kitware/vtk.js/Rendering/Core/Actor'; import vtkJSONNucleoReader from '@kitware/vtk.js/IO/Misc/JSONNucleoReader'; import vtkMapper from '@kitware/vtk.js/Rendering/Core/Mapper';
const reader = vtkJSONNucleoReader.newInstance(); const mapper = vtkMapper.newInstance(); const actor = vtkActor.newInstance();
mapper.setInputConnection(reader.getOutputPort()); actor.setMapper(mapper);
function update() { const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance(); const renderer = fullScreenRenderer.getRenderer(); const renderWindow = fullScreenRenderer.getRenderWindow();
const resetCamera = renderer.resetCamera; const render = renderWindow.render;
renderer.addActor(actor); resetCamera(); render(); }
const myContainer = document.querySelector('body'); const fileContainer = document.createElement('div'); fileContainer.innerHTML = '<input type="file" class="file"/>'; myContainer.appendChild(fileContainer);
const fileInput = fileContainer.querySelector('input');
function handleFile(event) { event.preventDefault(); const dataTransfer = event.dataTransfer; const files = event.target.files || dataTransfer.files; if (files.length === 1) { myContainer.removeChild(fileContainer); const fileReader = new FileReader(); fileReader.onload = function onLoad(e) { reader.parseAsText(fileReader.result); update(); }; fileReader.readAsText(files[0]); } }
fileInput.addEventListener('change', handleFile);
|