<ServerManagerConfiguration>
  <ProxyGroup name="filters">
    <!-- <WriterProxy -->
    <SourceProxy
           class="vtkLidarKITTIDataSetWriter"
           name="LidarKITTIDataSetWriter">
      <Documentation>
        vtkLidarKITTIDataSetWriter generates binary files in the same format as
        the Kitti dataset, containing the data of the input vtkPolyData.
      </Documentation>

      <InputProperty command="SetInputConnection"
                     name="PointCloud"
                     port_index="0">
        <DataTypeDomain composite_data_supported="0"
                        name="input_type">
          <DataType value="vtkPolyData" />
        </DataTypeDomain>
      </InputProperty>

      <StringVectorProperty
        command="SetFolderName"
        name="FolderName"
        number_of_elements="1">
        <FileListDomain name="files"/>
        <Hints>
          <UseDirectoryName/>
        </Hints>
        <Documentation>
          The name of the folder to write to.
        </Documentation>
      </StringVectorProperty>

      <IntVectorProperty
        name="NumberOfFileNameDigits"
        animateable="0"
        command="SetNumberOfFileNameDigits"
        number_of_elements="1"
        default_values="10"
        panel_visibility="advanced">
        <Documentation>
          Number of digits expected in the filenames.
        </Documentation>
      </IntVectorProperty>

      <StringVectorProperty name="SelectIntensityArray"
                            label="Intensity Array"
                            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"
                            panel_visibility="advanced">
        <ArrayListDomain name="array_list"
                         attribute_type="Scalars">
          <RequiredProperties>
            <Property name="PointCloud"
                      function="Input" />
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <IntVectorProperty name="NormalizeIntensity"
                         command="SetNormalizeIntensity"
                         number_of_elements="1"
                         default_values="1"
                         panel_visibility="advanced">
        <BooleanDomain name="bool"/>
        <Documentation>
          Enable Intensity normalization. If activated, the intensity in the output
          files is rescaled from 0-InputIntensityMaxValue to 0-1 (in order to match
          the value range from the Kitti dataset)
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty name="InputIntensityMaxValue"
                         command="SetInputIntensityMaxValue"
                         number_of_elements="1"
                         default_values="255."
                         panel_visibility="advanced">
        <Documentation>
          Maximum value for the intensity value range. If NormalizeIntensity is activated,
          the intensity in the output files is rescaled from 0-InputIntensityMaxValue to 0-1
          (in order to match the value range from the Kitti dataset)
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
                                   mode="visibility"
                                   property="NormalizeIntensity"
                                   value="1" />
        </Hints>
      </DoubleVectorProperty>

      <PropertyGroup label="File Parameters">
        <Property name="FolderName" />
        <Property name="NumberOfFileNameDigits" />
      </PropertyGroup>

      <PropertyGroup label="Intensity field Parameters">
        <Property name="SelectIntensityArray" />
        <Property name="NormalizeIntensity" />
        <Property name="InputIntensityMaxValue" />
      </PropertyGroup>

<!--
      <Hints>
        <Property name="Input"
                  show="0" />
        <Property name="FolderName"
                  show="0" />
        <WriterFactory extensions="bin"
                       file_description="KITTI binary point cloud file" />
      </Hints>
    </WriterProxy>
-->
    </SourceProxy>
  </ProxyGroup>
</ServerManagerConfiguration>
