Vtk.js: импорт нескольких STL - PullRequest
0 голосов
/ 03 июля 2018

Я использую Vtk.js для отображения 3D-контента в веб-интерфейсе.

Моя проблема возникает при попытке загрузить несколько моделей ( формат STL ).

Я использую эту логику:

PS: files - это массив атрибутов моих STL, атрибут 'url' - это путь к STL

const fullScreenRenderer = vtk.Rendering.Misc.vtkFullScreenRenderWindow.newInstance();

for (var i = files.length - 1; i >= 0; i--)
{
    var mapper = vtk.Rendering.Core.vtkMapper.newInstance({ scalarVisibility: false });
    var actor = vtk.Rendering.Core.vtkActor.newInstance();
    var reader = vtk.IO.Geometry.vtkSTLReader.newInstance();

    actor.setMapper(mapper);
    mapper.setInputConnection(reader.getOutputPort());

    actor.getProperty().setColor( files[i].color );
    actor.getProperty().setOpacity( files[i].opacity );

    fullScreenRenderer.getRenderer().addActor(actor);

    reader.setUrl( files[i].url , { binary: true }).then( update) ;
}

function update()
{  
    fullScreenRenderer.getRenderer().resetCamera();
    fullScreenRenderer.getRenderer().setLayer(1);
    fullScreenRenderer.getRenderWindow().render();
} 

Проблема в том, что каждая 3D-модель черная. Если я уберу setLayer(1), весь экран будет черным.

Я думаю, что это произошло, потому что я не использую правильный " pipe ". Но у меня нет такого большого опыта работы с этой библиотекой, чтобы узнать, документ все еще не закончен, это не помогает.

...