# MYSTERY: How to get access to the upstream algorithm from the client side?

**URL:** https://discourse.paraview.org/t/mystery-how-to-get-access-to-the-upstream-algorithm-from-the-client-side/15813
**Category:** Development
**Created:** [November 29, 2024, 7:31am UTC](https://discourse.paraview.org/t/mystery-how-to-get-access-to-the-upstream-algorithm-from-the-client-side/15813 "2024-11-29T07:31:11Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![joint](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/j/dc4da7/32.png) [@joint](https://discourse.paraview.org/u/joint)
#### Post date: [November 29, 2024, 7:31am UTC](https://discourse.paraview.org/t/mystery-how-to-get-access-to-the-upstream-algorithm-from-the-client-side/15813/1 "2024-11-29T07:31:11Z")

</div>

Hello dear Paraview developers!

I have a question of great importance. How can one get access to the algorithm upstream to the current algorithm from the widget side?

I know about

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

```

instrument to get data output of the current algorithm on the client side. However, I can’t figure out how to get access to output of the upstream algorithms. All the proxies are SOURCE proxies, and seem not to have any input ports or so.

I can imagine accessing the necessary proxies from the Active Objects, but how to then figure out which algorithm is upstream to the current? I can make 1-10 algos and then attach 11th to the 5th for example, and if I use indices to get the previous for 11th, I would then get 10th and not 5th, which is indeed desirable?

Thank You great a lot!

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [November 29, 2024, 8:56am UTC](https://discourse.paraview.org/t/mystery-how-to-get-access-to-the-upstream-algorithm-from-the-client-side/15813/2 "2024-11-29T08:56:05Z")

</div>

> How can one get access to the algorithm upstream to the current algorithm from the widget side?

At pq level:

`pqPipelineFilter::getInput`

At SM level:

`vtkSMProxy::GetProducerProxy`
