Representation proxy information_only properties are always pulled from client
When using an information_only property on a representation proxy, which is usually located on client|data_server|render_server
, the informaton is always pulled from the client because of the code in
vtkSMSessionClient.cxx::PullState:
// We make sure that only ONE location is targeted with a priority order
// (1) Client (2) DataServer (3) RenderServer
if ((location & vtkPVSession::CLIENT) != 0)
{
controller = nullptr;
}
else if ((location & (vtkPVSession::DATA_SERVER | vtkPVSession::DATA_SERVER_ROOT)) != 0)
{
controller = this->DataServerController;
}
else if ((location & (vtkPVSession::RENDER_SERVER | vtkPVSession::RENDER_SERVER_ROOT)) != 0)
{
controller = this->RenderServerController;
}
Looking at the comment, this is completelly intentionnal, however, in some cases, this is problematic as the client may not have the needed information.
- Am I missing something here ? Is there another way to work around this ?
- Should proxies have a way to specify from which location they actually want to pull the state instead of a static order ?
- In some cases (eg: local/remote rendering) the pull location could even need to be dynamic
Let me know what you think @utkarsh.ayachit @sebastien.jourdain @cory.quammen