How to prevent RequestData after update pipeline?

Hello dear Paraview developers!

I use the following pattern to get the dataset on the client side

  if (filter)
  {
    //[WHAT FOR?]
    filter->UpdatePipeline();
    dataSet = vtkDataSet::SafeDownCast(vtkAlgorithm::SafeDownCast(filter->GetClientSideObject())->GetOutputDataObject(sourcePortNumber));
  }

But I dont want the RequestData to be called by update pipeline
Could you please explain how to do it?

Thank u!

I dont want the RequestData to be called by update pipeline

This is what UpdatePipeline does, why are you calling UpdatePipeline in the first place ?

I have a custom filter with non-costly RequestDataObject, and very costly RequestData

I create a filter

filter = vtkSrcPrxyPtr::Take(vtkSMSourceProxy::SafeDownCast(proxyManager->NewProxy("filters", "ClientServerMoveData"))

And set the current proxy as the input for it.

And then call update pipeline, because otherwise it does not get any data

But I dont want the UpdatePipeline call requestData for my custom filter!

RequestDataObject is not supposed to generate Data, only the DataObject. Why do you want to get only the data obect ?

I could have misunderstood the concept

Could you please clarify the difference between Data and DataObject?

DataObject → a vtkPolyDatan without any points or cells in it

Data → a vtkPolyData with cells and points in it

Does DataObject contain fieldData?

When I get dataset without UpdatePipeline, but with GetCliendSideObject (i have built in mode), it seems there are no fields in the dataset

After RequestDataObject, the resulting data object is expected to be fully empty.