<ServerManagerConfiguration>

  <!--======================================================================-->
  <ProxyGroup name="representations">
    <RepresentationProxy name="SurfaceLICRepresentation"
      class="vtkSurfaceLICRepresentation"
      processes="client|dataserver|renderserver"
      base_proxygroup="representations"
      base_proxyname="SurfaceRepresentationBase" >
      <Documentation>
        Representation proxy for Surface LIC.
      </Documentation>

      <InputProperty name="Input" command="SetInputConnection">
        <InputArrayDomain name="input_vectors"
          number_of_components="3">
          <RequiredProperties>
            <Property name="SelectInputVectors"
              function="FieldDataSelection"/>
          </RequiredProperties>
        </InputArrayDomain>
      </InputProperty>

      <StringVectorProperty name="SelectInputVectors"
        command="SelectInputVectors"
        number_of_elements="5"
        element_types="0 0 0 0 2"
        label="Vectors">
        <ArrayListDomain name="array_list" attribute_type="Vectors"
          input_domain_name="input_vectors">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>

        <FieldDataDomain name="field_list"
                         disable_update_domain_entries="1">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </FieldDataDomain>

        <Documentation>
          This property specifies the name of the input vector array to process.
        </Documentation>
      </StringVectorProperty>

      <IntVectorProperty name="NumberOfSteps"
        command="SetNumberOfSteps"
        number_of_elements="1"
        default_values="40">
        <IntRangeDomain name="range" min="5" max="500" />
      </IntVectorProperty>

      <DoubleVectorProperty name="StepSize"
        command="SetStepSize"
        number_of_elements="1"
        default_values="1">
        <DoubleRangeDomain name="range" min="0.0001" max="10" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="LICIntensity"
        command="SetLICIntensity"
        number_of_elements="1"
        default_values="0.8">
        <DoubleRangeDomain name="range" min="0.0" max="1.0" />
      </DoubleVectorProperty>

      <IntVectorProperty name="EnhancedLIC"
        command="SetEnhancedLIC"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="UseLICForLOD"
        command="SetUseLICForLOD"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <!-- End of SurfaceLICRepresentation -->
    </RepresentationProxy>
    <!-- End of "representations" -->
  </ProxyGroup>

  <!--======================================================================-->
  <ProxyGroup name="filters">
    <SourceProxy name="Image2DLIC" label="LIC on 2D Image" 
      class="vtkImageDataLIC2D" >
      <Documentation>
        Line Integral Convolution using a vector field defined over a
        vtkImageData.
      </Documentation>

      <InputProperty name="Input"
        command="SetInputConnection">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkImageData"/>
        </DataTypeDomain>
        <Documentation>
          This property specifies the input to the Image Shrink filter.
        </Documentation>
      </InputProperty>

      <DoubleVectorProperty name="StepSize"
        command="SetStepSize"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0.0" max="100.0" />
      </DoubleVectorProperty>

      <IntVectorProperty name="Magnification"
        command="SetMagnification"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1.0" max="100" />
      </IntVectorProperty>

      <IntVectorProperty name="Steps"
        command="SetSteps"
        number_of_elements="1"
        default_values="20">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>
    </SourceProxy>

    <SourceProxy name="StructuredGridLIC2D" label="LIC on 2D Structured Grid" 
      class="vtkStructuredGridLIC2D" >
      <Documentation>
        Line Integral Convolution using a vector field defined over a
        vtkStructuredGrid.
      </Documentation>

      <InputProperty name="Input"
        command="SetInputConnection">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkStructuredGrid"/>
        </DataTypeDomain>
        <Documentation>
          This property specifies the input to the Image Shrink filter.
        </Documentation>
      </InputProperty>

      <DoubleVectorProperty name="StepSize"
        command="SetStepSize"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0.0" max="100.0" />
      </DoubleVectorProperty>

      <IntVectorProperty name="Magnification"
        command="SetMagnification"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1.0" max="100" />
      </IntVectorProperty>

      <IntVectorProperty name="Steps"
        command="SetSteps"
        number_of_elements="1"
        default_values="20">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>
    </SourceProxy>
    <!-- End of "filters" -->
  </ProxyGroup>

</ServerManagerConfiguration>

