<ServerManagerConfiguration>
  <!-- Begin vtkPointCloudLinearProjector -->
  <ProxyGroup name="filters">
    <SourceProxy name="PointCloudLinearProjector" class="vtkPointCloudLinearProjector" label="PointCloud Linear Projector">
      <Documentation
        short_help="Create a linear projection image of the current frame"
        long_help="Create a linear projection image of the current frame">
        Create a linear projection image of the current frame
      </Documentation>

    <InputProperty
      name="Input"
      command="SetInputConnection">
      <DataTypeDomain name="input_type">
        <DataType value="vtkPolyData"/>
      </DataTypeDomain>
    </InputProperty>

    <IntVectorProperty
        name="Resolution"
        animateable="0"
        default_values="750 750"
        command="SetResolution"
        number_of_elements="2">
        <Documentation>
            The image resolution. The actual pixel size will vary as a function of the projected bounding box.
        </Documentation>
    </IntVectorProperty>

    <DoubleVectorProperty
        name="Plane Normal"
        animateable="0"
        default_values="0 0 1"
        command="SetPlaneNormal"
        number_of_elements="3">
        <Documentation>
          The normal of the plane onto which we want to project
        </Documentation>
    </DoubleVectorProperty>

    <DoubleVectorProperty
        name="Rank Percentile"
        animateable="0"
        default_values="0.5"
        command="SetRankPercentile"
        number_of_elements="1">
        <Documentation>
            The percentile of the value to keep for each pixel. 0.5 indicates the median value.
        </Documentation>
    </DoubleVectorProperty>

    <StringVectorProperty name="SelectValueArray"
                          label="Value"
                          command="SetInputArrayToProcess"
                          number_of_elements="5"
                          element_types="0 0 0 0 2"
                          default_values_delimiter=";"
                          default_values="0;0;0;0;Intensity"
                          animateable="0">
      <Documentation>
        The value to use in the image. If "height map" is selected then this will be ignored.
      </Documentation>
      <ArrayListDomain name="array_list" attribute_type="Scalars">
        <RequiredProperties>
          <Property name="Input"
                    function="Input" />
        </RequiredProperties>
      </ArrayListDomain>
      <Hints>
        <PropertyWidgetDecorator type="GenericDecorator"
                                 mode="visibility"
                                 property="InterpolateEachPoint"
                                 value="1" />
      </Hints>
    </StringVectorProperty>

    <IntVectorProperty
      name="Height Map"
      animateable="0"
      command="SetHeightMap"
      default_values="0"
      number_of_elements="1">
        <BooleanDomain name="SetHeightMap" />
        <Documentation>
            If checked, the value of each pixel will be the distance to the plane of projection instead of the selected input value.
        </Documentation>
    </IntVectorProperty>


    <IntVectorProperty
      name="Shift To Zero"
      animateable="0"
      command="SetShiftToZero"
      default_values="0"
      number_of_elements="1">
        <BooleanDomain name="SetShiftToZero" />
        <Documentation>
            If checked, shift all values so that the minimum value becomes zero.
        </Documentation>
    </IntVectorProperty>

    <IntVectorProperty
      name="Export As Char"
      animateable="0"
      command="SetExportAsChar"
      default_values="0"
      number_of_elements="1">
        <BooleanDomain name="SetExportAsCharBool" />
        <Documentation>
            If checked, scale all image values to unsigned chars in the range [0,255].
        </Documentation>
    </IntVectorProperty>

    <IntVectorProperty
      name="Should Apply Median Filter"
      animateable="0"
      command="SetShouldMedianFilter"
      default_values="0"
      number_of_elements="1">
        <BooleanDomain name="SetShouldMedianFilterBool" />
        <Documentation>
            If checked, apply a median filter to the image.
        </Documentation>
    </IntVectorProperty>

    <IntVectorProperty
        name="Median Filter Width"
        animateable="0"
        default_values="3"
        command="SetMedianFilterWidth"
        number_of_elements="1">
        <Documentation>
          Size of the neighborhood when performing median filter
        </Documentation>
    </IntVectorProperty>

    </SourceProxy>
  </ProxyGroup>
  <!-- End vtkPointCloudLinearProjector -->
</ServerManagerConfiguration>
