<ServerManagerConfiguration>
  <ProxyGroup name="internal_filters">
  </ProxyGroup>
  <ProxyGroup name="filters">
    <SourceProxy class="vtkContourFilter"
                 name="Contour">
      <Documentation long_help="Generate isolines or isosurfaces using point scalars."
                     short_help="Generate isolines or isosurfaces.">The Contour
                     filter computes isolines or isosurfaces using a selected
                     point-centered scalar array. The Contour filter operates
                     on any type of data set, but the input is required to have
                     at least one point-centered scalar (single-component)
                     array. The output of this filter is
                     polygonal.</Documentation>
      <InputProperty command="SetInputConnection"
                     name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataSet" />
        </DataTypeDomain>
        <InputArrayDomain attribute_type="point"
                          name="input_array"
                          number_of_components="1" />
        <Documentation>This property specifies the input dataset to be used by
        the contour filter.</Documentation>
      </InputProperty>
      <StringVectorProperty animateable="0"
                            command="SetInputArrayToProcess"
                            element_types="0 0 0 0 2"
                            label="Contour By"
                            name="SelectInputScalars"
                            number_of_elements="5">
        <ArrayListDomain attribute_type="Scalars"
                         name="array_list">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </ArrayListDomain>
        <FieldDataDomain name="field_list">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </FieldDataDomain>
        <Documentation>This property specifies the name of the scalar array
        from which the contour filter will compute isolines and/or
        isosurfaces.</Documentation>
      </StringVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetValue"
                            label="Isosurfaces"
                            name="ContourValues"
                            number_of_elements="0"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            set_number_command="SetNumberOfContours"
                            use_index="1">
        <ArrayRangeDomain name="scalar_range">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
            <Property function="ArraySelection"
                      name="SelectInputScalars" />
          </RequiredProperties>
        </ArrayRangeDomain>
        <Documentation>This property specifies the values at which to compute
        isosurfaces/isolines and also the number of such
        values.</Documentation>
      </DoubleVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetComputeNormals"
                         default_values="1"
                         name="ComputeNormals"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>If this property is set to 1, a scalar array containing
        a normal value at each point in the isosurface or isoline will be
        created by the contour filter; otherwise an array of normals will not
        be computed. This operation is fairly expensive both in terms of
        computation time and memory required, so if the output dataset produced
        by the contour filter will be processed by filters that modify the
        dataset's topology or geometry, it may be wise to set the value of this
        property to 0. Select whether to compute normals.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetComputeGradients"
                         default_values="0"
                         name="ComputeGradients"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>If this property is set to 1, a scalar array containing
        a gradient value at each point in the isosurface or isoline will be
        created by this filter; otherwise an array of gradients will not be
        computed. This operation is fairly expensive both in terms of
        computation time and memory required, so if the output dataset produced
        by the contour filter will be processed by filters that modify the
        dataset's topology or geometry, it may be wise to set the value of this
        property to 0. Not that if ComputeNormals is set to 1, then gradients
        will have to be calculated, but they will only be stored in the output
        dataset if ComputeGradients is also set to 1.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetComputeScalars"
                         default_values="0"
                         name="ComputeScalars"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>If this property is set to 1, an array of scalars
        (containing the contour value) will be added to the output dataset. If
        set to 0, the output will not contain this array.</Documentation>
      </IntVectorProperty>
      <Hints>
        <Visibility replace_input="2" />
      </Hints>
      <!-- incremental point locator begin -->
      <ProxyProperty command="SetLocator"
                     label="Point Merge Method"
                     name="Locator">
        <ProxyGroupDomain name="groups">
          <Group name="incremental_point_locators" />
        </ProxyGroupDomain>
        <ProxyListDomain name="proxy_list">
          <Proxy group="incremental_point_locators"
                 name="MergePoints" />
          <Proxy group="incremental_point_locators"
                 name="IncrementalOctreeMergePoints" />
          <Proxy group="incremental_point_locators"
                 name="NonMergingPointLocator" />
        </ProxyListDomain>
        <Documentation>This property specifies an incremental point locator for
        merging duplicate / coincident points.</Documentation>
      </ProxyProperty>
      <!-- incremental point locator end -->
      <!-- End Contour -->
    </SourceProxy>
  </ProxyGroup>
</ServerManagerConfiguration>
