<ServerManagerConfiguration>
  <ProxyGroup name="filters">
    <SourceProxy name="TemporalTransformsApplier" class="vtkTemporalTransformsApplier" label="Temporal Transforms Applier">
      <Documentation
         short_help="Combine consecutive timestep in a multiblock."
         long_help="Combine consecutive timestep in a multiblock.">
      </Documentation>

    <InputProperty
       name="PointCloud"
       port_index="1"
       command="SetInputConnection">
      <ProxyGroupDomain name="groups">
        <Group name="sources"/>
        <Group name="filters"/>
      </ProxyGroupDomain>
      <DataTypeDomain name="input_type">
        <DataType value="vtkPolyData"/>
      </DataTypeDomain>
      <Documentation>
        Set the input trajectory
      </Documentation>
    </InputProperty>

    <InputProperty
       name="Trajectory"
       port_index="0"
       command="SetInputConnection">
      <ProxyGroupDomain name="groups">
        <Group name="sources"/>
        <Group name="filters"/>
      </ProxyGroupDomain>
      <DataTypeDomain name="input_type">
        <DataType value="vtkPolyData"/>
      </DataTypeDomain>
      <Documentation>
        Set the input point cloud
      </Documentation>
    </InputProperty>

    <IntVectorProperty
                  name="InterpolationType"
                  command="SetInterpolationType"
                  number_of_elements="1"
                  default_values="0">
    <EnumerationDomain name="enum">
      <Entry value="0" text="linear"/>
      <Entry value="1" text="spline"/>
      <Entry value="2" text="manual"/>
      <Entry value="3" text="nearest"/>
      <Entry value="4" text="nearest low bound"/>
    </EnumerationDomain>
    <Documentation>
      This property indicates which type of interpolation will be used.
    </Documentation>
    </IntVectorProperty>

    <IntVectorProperty name="InterpolateEachPoint"
                       command="SetInterpolateEachPoint"
                       number_of_elements="1"
                       default_values="1">
      <BooleanDomain name="bool"/>
      <Documentation>
        This property indicates if each point will be interpolate independanly according to its timestamp
      </Documentation>
    </IntVectorProperty>

    <StringVectorProperty name="SelectTimeArray"
                          label="Array"
                          command="SetInputArrayToProcess"
                          number_of_elements="5"
                          element_types="0 0 0 0 2"
                          default_values_delimiter=";"
                          default_values="0;1;0;0;adjustedtime"
                          animateable="0">
      <ArrayListDomain name="array_list"
                       attribute_type="Scalars">
        <RequiredProperties>
          <Property name="PointCloud"
                    function="Input" />
        </RequiredProperties>
      </ArrayListDomain>
      <Hints>
        <PropertyWidgetDecorator type="GenericDecorator"
                                 mode="visibility"
                                 property="InterpolateEachPoint"
                                 value="1" />
      </Hints>
    </StringVectorProperty>

    <DoubleVectorProperty name="ConversionFactorToSecond"
                          command="SetConversionFactorToSecond"
                          number_of_elements="1"
                          default_values="1e-6">
      <Documentation>
        Double to convert Time unit in second, default is microsecond
      </Documentation>
    </DoubleVectorProperty>

   </SourceProxy>
  </ProxyGroup>
</ServerManagerConfiguration>
