как добавить функцию панорамирования в 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();

0 ответов

Другие вопросы по тегам