<ServerManagerConfiguration>
  <ProxyGroup name="filters">
    <SourceProxy name="DaxContour"
                 class="vtkDaxContour"
                 label="Dax Contour">
      <Documentation
        long_help="Generate isolines or isosurfaces using point scalars."
        short_help="Generate isolines or isosurfaces.">
        The Dax Marching Cubes filter computes isolines or isosurfaces
        using a selected point-centered scalar array. It behaves similarly
        to the standard Contour filter but uses Dax's finely threaded
        parallel algorithms.
      </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>
      <Hints>
        <Visibility replace_input="2" />
        <ShowInMenu category="Dax" />
      </Hints>

      <PropertyGroup label="Isosurfaces">
        <Property name="ContourValues" />
      </PropertyGroup>

      <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>

      <!-- End DaxMarchingCubes -->
    </SourceProxy>

    <SourceProxy class="vtkDaxThreshold"
                 name="DaxThreshold"
                 label="Dax Threshold">
      <Documentation
        long_help="This filter extracts cells that have point or cell scalars in the specified range."
        short_help="Extract cells that satisfy a threshold criterion.">
        The Dax Threshold filter extracts cells with a field that meets a
        certain criteria. It behaves similarly to the standard Contour
        filter but uses Dax's finely threaded parallel algorithms.
      </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 name="input_array"
                          number_of_components="1">
        </InputArrayDomain>
        <Documentation>This property specifies the input to the Threshold
        filter.</Documentation>
      </InputProperty>
      <StringVectorProperty command="SetInputArrayToProcess"
                            element_types="0 0 0 0 2"
                            label="Scalars"
                            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>The value of this property contains the name of the
        scalar array from which to perform thresholding.</Documentation>
      </StringVectorProperty>
      <DoubleVectorProperty command="ThresholdBetween"
                            default_values="0 0"
                            label="Threshold Range"
                            name="ThresholdBetween"
                            number_of_elements="2"
                            panel_widget="double_range">
        <ArrayRangeDomain name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
            <Property function="ArraySelection"
                      name="SelectInputScalars" />
          </RequiredProperties>
        </ArrayRangeDomain>
        <Documentation>The values of this property specify the upper and lower
        bounds of the thresholding operation.</Documentation>
      </DoubleVectorProperty>
      <Hints>
        <Visibility replace_input="2" />
        <ShowInMenu category="Dax" />
      </Hints>
      <!-- End Threshold -->
    </SourceProxy>
  </ProxyGroup>
</ServerManagerConfiguration>
