[Paraview] SubProxy/ProxyProperty

Utkarsh Ayachit utkarsh.ayachit at kitware.com
Mon Dec 15 09:30:35 EST 2008

> 1) Can I instantiate the GUI part of the proxy object automatically - the
> only other classes whic do something similar are the cut/clip etc using
> widgets as sub proxies

Yes, for that you need to use the <ProxyListDomain /> with proxies as
speicifed for "CutFunction" property of the Cut filter, for example.
However, the proxies set as the values for the proxy property are not
subproxies. They cannot be subproxies since subproxies are not exposed
to the external world at all. So no property that can be changed by
the user or that  gets saved in state files should ever refer to a

> 2) Specifically - what is the difference between declaring a subproxy
> (=TerminationStrategy) or a ProxyProperty (=TerminationStrategy). When
> should one use one, or the other.

The deciding criteria in choosing between a proxy property and a
subproxy is whether the user is going to set/change the that value.
Eg. in Cut, we want want the user to choose the type of CutFunction to
use, hence it's a property. While in case of any of the 3D widget
proxies, the choice of which representation/widget proxy to create is
not for the user to decide and hence they are subproxies. Whenever you
have a proxy that has subproxies, more often than not, you'd need some
C++ code to connect the subproxy into the pipeline (or you can use
Custom Filters (vtkSMCompoundSourceProxy)).
You can "expose" properties from subproxies so that the user can
simply change them as if they were properties of the outer proxy


More information about the ParaView mailing list