как добавить функцию панорамирования в vtk.js
Я пытался добавить функцию панорамирования, когда нажимаю правую кнопку мыши на моем html-файле, используя vtk.js, но это не сработало!
Но я не знаю почему. Можете ли вы помочь мне?
Вот исходный код:
const container = document.querySelector('#container');
//VTK renderwindow/renderer
const renderWindow = vtk.Rendering.Core.vtkRenderWindow.newInstance();
const renderer = vtk.Rendering.Core.vtkRenderer.newInstance();
renderWindow.addRenderer(renderer);
//webGL/opengl impl
const openGLRenderWindow = vtk.Rendering.OpenGL.vtkRenderWindow.newInstance();
openGLRenderWindow.setContainer(container);
openGLRenderWindow.setSize(1000,1000);
renderWindow.addView(openGLRenderWindow);
//Interactor
const interactor = vtk.Rendering.Core.vtkRenderWindowInteractor.newInstance();
interactor.setView(openGLRenderWindow);
interactor.initialize();
interactor.bindEvents(container);
//Interactor style
const trackball = vtk.Interaction.Style.vtkInteractorStyleTrackballCamera.newInstance();
interactor.setInteractorStyle(trackball);
renderWindow.getInteractor().onRightButtonPress((callData) => {
//alert("right-Button");
trackball.handleMousePan(renderer, callData.position);
trackball.invokeInteractionEvent({ type: 'InteractionEvent' });
});
//Pipeline
const cone = vtk.Filters.Sources.vtkCylinderSource.newInstance();
const actor = vtk.Rendering.Core.vtkActor.newInstance();
const mapper= vtk.Rendering.Core.vtkMapper.newInstance();
actor.setMapper(mapper);
mapper.setInputConnection(cone.getOutputPort());
renderer.addActor(actor);
//Render
renderer.resetCamera();
renderWindow.render();