Documentation on delivery protocols

I am trying to use VTKWeb but I am not sure what delivery protocol should I use between vtkWebPublishImageDelivery(decode=True/False), vtkWebViewPortImageDelivery() and vtkWebViewPortGeometryDelivery(). Is there a documentation on what they do and in which context to use them?

I saw that your online examples use ViewPort deliveries but ParaviewLite, Visualizer and WSLinkClient from vtk-js are using the Publish one. I am confused.

Thanks for your help

  • vtkWebViewPortImageDelivery was the original one where the client ask for each image individually.
  • vtkWebPublishImageDelivery was an improvement on the initial protocol to allow images to be pushed from the server without any client request (i.e.: animation, LOD, …)
  • vtkWebViewPortGeometryDelivery is the protocol for sending geometry for the vtk.js synchronized render window.

In other words, the first two are image delivery (old, new) and the last one is for local rendering using vtk.js.

Thanks for your explanations.

Since vtkWebPublishImageDelivery seems recommended, I tried to merge with a very simple VueJs app following ParaViewLite:

I does not work like it does in the example. The python server is running (and I see the cone in the RendererWindow), the websocket does connect correctly but nothing appears in the vtkViewProxy.

Without taking too much of your time, could you point me what could be wrong?

Here is a diff to make your project work.

diff.patch (3.1 KB)

Great!!! Thank you so much!!!

1 Like

The main issues were:

  • CSS issue in your view container
  • Link the ImageStream to the connection

Hi Sebastien. As you mentioned, vtkWebViewPortGeometryDelivery is used for fronted vtk.js local rendering. I am wondering that (1) what kind of data source is supported by this protocol, only of polydata type? Unstructred grid data ( like source of vtu file) can be deliveried by this protocol? (2) If unstructred grid data (FEA data type) are treated like slicing, which protocal or manner could be the right one to delivery such kind of data to vtk.js for local rendering? thanks a lot advance!

This support any geometry rendering which indeed under the cover send a computed polydata. But anything can be put in the server side RenderWindow (UnstructureGrid, ImageData, RectilinearGrid and PolyData…).

You can see a modern example of it here.