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 vtkConeSource from '@kitware/vtk.js/Filters/Sources/ConeSource'; import vtkMapper from '@kitware/vtk.js/Rendering/Core/Mapper'; import vtkOrientationMarkerWidget from '@kitware/vtk.js/Interaction/Widgets/OrientationMarkerWidget'; import vtkAnnotatedCubeActor from '@kitware/vtk.js/Rendering/Core/AnnotatedCubeActor';
const fullScreenRenderer = vtkFullScreenRenderWindow.newInstance({ background: [0.2, 0.2, 0.2], }); const renderer = fullScreenRenderer.getRenderer(); const renderWindow = fullScreenRenderer.getRenderWindow();
const coneSource = vtkConeSource.newInstance(); const actor = vtkActor.newInstance(); const mapper = vtkMapper.newInstance();
actor.setMapper(mapper); mapper.setInputConnection(coneSource.getOutputPort());
renderer.addActor(actor);
const axes = vtkAnnotatedCubeActor.newInstance(); axes.setDefaultStyle({ text: '+X', fontStyle: 'bold', fontFamily: 'Arial', fontColor: 'black', fontSizeScale: (res) => res / 2, faceColor: '#0000ff', faceRotation: 0, edgeThickness: 0.1, edgeColor: 'black', resolution: 400, });
axes.setXMinusFaceProperty({ text: '-X', faceColor: '#ffff00', faceRotation: 90, fontStyle: 'italic', }); axes.setYPlusFaceProperty({ text: '+Y', faceColor: '#00ff00', fontSizeScale: (res) => res / 4, }); axes.setYMinusFaceProperty({ text: '-Y', faceColor: '#00ffff', fontColor: 'white', }); axes.setZPlusFaceProperty({ text: '+Z', edgeColor: 'yellow', }); axes.setZMinusFaceProperty({ text: '-Z', faceRotation: 45, edgeThickness: 0 });
const orientationWidget = vtkOrientationMarkerWidget.newInstance({ actor: axes, interactor: renderWindow.getInteractor(), }); orientationWidget.setEnabled(true); orientationWidget.setViewportCorner( vtkOrientationMarkerWidget.Corners.BOTTOM_RIGHT ); orientationWidget.setViewportSize(0.15); orientationWidget.setMinPixelSize(100); orientationWidget.setMaxPixelSize(300);
renderer.resetCamera(); renderWindow.render();
global.renderWindow = renderWindow;
|