I’m really confused : I’m using catalyst but in the documentation I saw that there is this architecture where there’s a client, a render server and a data server. there’s also the programs called pvserver etc… and the connection schemes cs csrc cdsrs and cdsrsrc (and catalyst too).
If there’s a data server why the need of catalyst ? In what contexts data server/render server are used ? and how the data is fed to the server ?
I spent a lot of time reading the code, I was drowned on all that proxy strange code I understood few things but I’m incapable of seeing the bigger picture, can I know why it’s so complex ? what’s the need to have a server manager and a server implementation ?
Have a look at Chapter 15 of the ParaView Guide. It answers some of your questions at a high level. Feel free to ask followup questions here.
Thank you, it’s a little clearer now.
Important questions :
Can a program using Catalyst (coprocess) be placed before a pvserver and connecting to this last with paraview allows me to retreive the geometries delivered by Catalyst ?
Less important questions :
- Can the rendering be also done in Catalyst ?
- Is there a documentation describing what happens in the wire (the protocol) between the client and the server ? or do I have to dissect the code to understand the protocol (endianess check etc…) ?
Yes, this is known as a ParaView Live connection. See Sections 2.2 and 2.3 of the Catalyst Guide for some details.
Yes, a Catalyst script can produce images without involving a separate ParaView process.
I’m not that familiar with the communication between Catalyst and ParaView, but I would expect it takes advantage of ParaView’s client/server communication mechanism that is generated automatically during the ParaView build. @Dave_DeMarle or @utkarsh.ayachit could speak to that more authoritatively.
If I launch a pvserver instance in a terminal, are there arguments to fill to allow it to accept a connection from Catalyst ?