<ServerManagerConfiguration>
  <ProxyGroup name="representations">
    <UncertaintySurfaceRepresentationProxy name="UncertaintySurfaceRepresentation"
                                           class="vtkUncertaintySurfaceRepresentation"
                                           processes="client|dataserver|renderserver"
                                           base_proxygroup="representations"
                                           base_proxyname="SurfaceRepresentationBase" >
      <Documentation>
        Representation proxy for uncertainty surface rendering.
      </Documentation>

      <InputProperty command="SetInputConnection"
                     name="Input">
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataObject" />
        </DataTypeDomain>
        <InputArrayDomain attribute_type="point"
                          name="input_array"/>
        <Documentation>Data input for the representation.</Documentation>
      </InputProperty>

      <StringVectorProperty name="SelectUncertaintyArray"
                            command="SelectUncertaintyArray"
                            element_types="0 0 0 0 2"
                            number_of_elements="5"
                            label="Uncertainty Array"
                            panel_visibility="advanced"
                            panel_visibility_default_for_representation="Uncertainty Surface">
        <ArrayListDomain name="array_list"
                         input_domain_name="input_array">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>

        <Documentation>
          This property specifies the name of the uncertainty array.
        </Documentation>
      </StringVectorProperty>

      <DoubleVectorProperty name="NoiseDensity"
                            command="SetNoiseDensity"
                            default_values="10.0"
                            number_of_elements="1"
                            label="Uncertainty Noise Density">
        <DoubleRangeDomain name="range" min="0" max="25"/>
        <Documentation>
          This property sets the uncertainty noise density.
        </Documentation>
      </DoubleVectorProperty>

      <ProxyProperty name="UncertaintyTransferFunction"
                     command="SetUncertaintyTransferFunction"
                     label="Uncertainty Transfer Function"
                     panel_widget="transfer_function_editor">
        <Documentation>
          Sets the transfer function used to map scalars to uncertainty values.
        </Documentation>
      </ProxyProperty>

      <SubProxy>
        <Proxy name="TransferFunction"
               proxygroup="piecewise_functions"
               proxyname="PiecewiseFunction">
        </Proxy>
      </SubProxy>
    </UncertaintySurfaceRepresentationProxy>
  </ProxyGroup>
</ServerManagerConfiguration>
