<ServerManagerConfiguration>

  <!--======================================================================-->
  <ProxyGroup name="representations">

      <PointSpriteRepresentationProxy name="PointSpriteRepresentation"
        base_proxygroup="representations"
        base_proxyname="SurfaceRepresentationBase"
        class="vtkPointSpriteRepresentation"
        processes="client|dataserver|renderserver" >

      <Documentation>
        Representation for Particle or Point Data.
      </Documentation>

      <InputProperty name="Input" command="SetInputConnection">
        <InputArrayDomain name="input_array" attribute_type="point">
        </InputArrayDomain>
      </InputProperty>

      <IntVectorProperty name="RadiusTransferFunctionEnabled"
        command="SetRadiusTransferFunctionEnabled"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <StringVectorProperty name="RadiusArray"
        command="SetRadiusArrayToProcess"
        number_of_elements="5"
        element_types="0 0 0 0 2" >
           <ArrayListDomain name="array_list">
             <RequiredProperties>
                <Property name="Input" function="Input"/>
             </RequiredProperties>
           </ArrayListDomain>
           <Documentation>
             The value of this property contains the name of the array to
             transform through the transfer function.
           </Documentation>
      </StringVectorProperty>

      <IntVectorProperty name="OpacityTransferFunctionEnabled"
        command="SetOpacityTransferFunctionEnabled"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <StringVectorProperty name="OpacityArray"
        command="SetOpacityArrayToProcess"
        number_of_elements="5"
        element_types="0 0 0 0 2" >
           <ArrayListDomain name="array_list">
             <RequiredProperties>
                <Property name="Input" function="Input"/>
             </RequiredProperties>
           </ArrayListDomain>
           <Documentation>
             The value of this property contains the name of the array to
             transform through the transfer function.
           </Documentation>
      </StringVectorProperty>

      <IntVectorProperty name="RenderMode"
        command="SetRenderMode"
        default_values="3"
        number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Sphere"/>
          <Entry value="1" text="Texture"/>
          <Entry value="2" text="SimplePoint"/>
          <Entry value="3" text="Sphere (Texture)"/>
          <Entry value="4" text="Blur (Texture)"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="RadiusMode"
        command="SetRadiusMode"
        default_values="0"
        number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Constant"/>
          <Entry value="1" text="Scalar"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <DoubleVectorProperty name="ConstantRadius"
        command="SetConstantRadius"
        number_of_elements="1"
        default_values="1">
        <CustomBoundsDomain name="range">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </CustomBoundsDomain>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="RadiusRange"
        command="SetRadiusRange"
        number_of_elements="2"
        default_values="0 1"
        animateable="0">
        <CustomBoundsDomain name="range">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </CustomBoundsDomain>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="MaxPixelSize"
        command="SetMaxPixelSize"
        default_values="64"
        number_of_elements="1"
        animateable="1">
        <DoubleRangeDomain name="range" min="1" max="8192"/>
      </DoubleVectorProperty>

      <IntVectorProperty name="OpacityPainterEnabled"
        command="SetEnableOpacity"
        default_values="0"
        number_of_elements="1">
      </IntVectorProperty>

      <DoubleVectorProperty name="RadiusScalarRange"
         command="SetRadiusScalarRange"
         number_of_elements="2"
         default_values="0 1">
      </DoubleVectorProperty>

      <IntVectorProperty name="RadiusUseScalarRange"
         command="SetRadiusUseScalarRange"
         number_of_elements="1"
         default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

       <IntVectorProperty name="RadiusVectorComponent"
         command="SetRadiusVectorComponent"
         number_of_elements="1"
         default_values="0">
      </IntVectorProperty>

      <IntVectorProperty name="RadiusTransferFunctionMode"
         command="SetRadiusTransferFunctionMode"
         number_of_elements="1"
         default_values="0">
       <EnumerationDomain name="enum">
          <Entry value="0" text="Table" />
          <Entry value="1" text="Gaussian" />
       </EnumerationDomain>
      </IntVectorProperty>

      <DoubleVectorProperty name="OpacityScalarRange"
         command="SetOpacityScalarRange"
         number_of_elements="2"
         default_values="0 1">
      </DoubleVectorProperty>

      <IntVectorProperty name="OpacityUseScalarRange"
         command="SetOpacityUseScalarRange"
         number_of_elements="1"
         default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

       <IntVectorProperty name="OpacityVectorComponent"
         command="SetOpacityVectorComponent"
         number_of_elements="1"
         default_values="0">
      </IntVectorProperty>

      <IntVectorProperty name="OpacityTransferFunctionMode"
         command="SetOpacityTransferFunctionMode"
         number_of_elements="1"
         default_values="0">
       <EnumerationDomain name="enum">
          <Entry value="0" text="Table" />
          <Entry value="1" text="Gaussian" />
       </EnumerationDomain>
      </IntVectorProperty>

      <DoubleVectorProperty name="RadiusTableValues"
        command="SetRadiusTableValues"
        set_number_command="SetNumberOfRadiusTableValues"
        number_of_elements="0"
        repeat_command="1"
        number_of_elements_per_command="1"
        clean_command="RemoveAllRadiusTableValues"
        use_index="1">
      </DoubleVectorProperty>

      <DoubleVectorProperty name="OpacityTableValues"
        command="SetOpacityTableValues"
        set_number_command="SetNumberOfOpacityTableValues"
        number_of_elements="0"
        repeat_command="1"
        number_of_elements_per_command="1"
        clean_command="RemoveAllOpacityTableValues"
        use_index="1">
      </DoubleVectorProperty>

      <DoubleVectorProperty name="RadiusGaussianControlPoints"
        command="SetRadiusGaussianControlPoints"
        set_number_command="SetNumberOfRadiusGaussianControlPoints"
        number_of_elements="0"
        repeat_command="1"
        number_of_elements_per_command="5"
        clean_command="RemoveAllRadiusGaussianControlPoints"
        use_index="1">
      </DoubleVectorProperty>

      <DoubleVectorProperty name="OpacityGaussianControlPoints"
        command="SetOpacityGaussianControlPoints"
        set_number_command="SetNumberOfOpacityGaussianControlPoints"
        number_of_elements="0"
        repeat_command="1"
        number_of_elements_per_command="5"
        clean_command="RemoveAllOpacityGaussianControlPoints"
        use_index="1">
      </DoubleVectorProperty>

      <IntVectorProperty
         name="OpacityIsProportional"
         number_of_elements="1"
         default_values="0">
      </IntVectorProperty>

      <DoubleVectorProperty
         name="OpacityProportionalFactor"
         number_of_elements="1"
         default_values="1.0">
      </DoubleVectorProperty>

      <IntVectorProperty
         name="RadiusIsProportional"
         number_of_elements="1"
         default_values="0">
      </IntVectorProperty>

      <DoubleVectorProperty
         name="RadiusProportionalFactor"
         number_of_elements="1"
         default_values="1.0">
      </DoubleVectorProperty>

       <IntVectorProperty
         name="PointSpriteDefaultsInitialized"
         number_of_elements="1"
         default_values="0">
      </IntVectorProperty>

      <!-- End of PointSpriteRepresentation -->
    </PointSpriteRepresentationProxy>

    <!-- End of "representations" -->
  </ProxyGroup>

  <!--======================================================================-->
  <ProxyGroup name="textures">
    <SpriteTextureProxy name="SpriteTexture" class="vtkTexture"  kernel_class="vtkSIImageTextureProxy">
      <Documentation>
        This is a proxy for a vtkTexture which also includes an image sprite source.
      </Documentation>
      <SubProxy>
        <Proxy name="Source"
          proxygroup="sources" proxyname="ImageSpriteSource" />
        <ExposedProperties>
          <Property name="WholeExtent" />
          <Property name="Maximum" />
          <Property name="StandardDeviation" />
          <Property name="AlphaMethod" />
          <Property name="AlphaThreshold" />
        </ExposedProperties>
      </SubProxy>
    </SpriteTextureProxy>
  </ProxyGroup>

   <!--======================================================================-->

   <ProxyGroup name="sources">
     <SourceProxy name="ImageSpriteSource" class="vtkImageSpriteSource"
                label="ImageSprite">
      <Documentation
        long_help="ImageSpriteSource produces images with pixel values determined by a Gaussian, and alpha value either proportional to luminance or masking the sprite."
        short_help="ImageSpriteSource produces images with pixel values determined by a Gaussian, and alpha value either proportional to luminance or masking the sprite.">
      </Documentation>
      <IntVectorProperty
         name="WholeExtent"
         command="SetWholeExtent"
         number_of_elements="6"
         default_values="0 255 0 255 0 0" >
        <IntRangeDomain name="range"/>
        <Documentation>
          The six values in the property indicate the X, Y, and Z extent of the output data. The first two numbers are the minimum and maximum X extent; the next two are the minimum and maximum Y extent; and the final two are the minimum and maximum Z extent. The numbers are inclusive, so values of 0, 250, 0, 250, 0, 0 indicate that the dimensions of the output will be 251 x 251 x 1.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="Maximum"
        command="SetMaximum"
        default_values="255"
        number_of_elements="1"
        animateable="1">
      </IntVectorProperty>

      <DoubleVectorProperty
        name="StandardDeviation"
        command="SetStandardDeviation"
        default_values="0.3"
        number_of_elements="1"
        animateable="1">
      </DoubleVectorProperty>

      <IntVectorProperty
         name="AlphaMethod"
         command="SetAlphaMethod"
         number_of_elements="1"
         default_values="0">
       <EnumerationDomain name="enum">
          <Entry value="0" text="None" />
          <Entry value="1" text="Proportional" />
          <Entry value="2" text="Clamp" />
       </EnumerationDomain>
      </IntVectorProperty>

       <IntVectorProperty
        name="AlphaThreshold"
        command="SetAlphaThreshold"
        default_values="1"
        number_of_elements="1"
        animateable="1">
      </IntVectorProperty>

   </SourceProxy>
  <!-- End of "sources" -->
  </ProxyGroup>

</ServerManagerConfiguration>

