<ServerManagerConfiguration>


  <ProxyGroup
      name="sources">
    <SourceProxy
        name="StreamingSource"
        class="vtkStreamedMandelbrot"
        label="Streamed Mandelbrot">

      <Documentation
        long_help="Streamed version of ImageMandelbrot"
        short_help="Streamed Mandelbrot">
        See documentation of ImageMandebrot.
      </Documentation>
      <IntVectorProperty
         name="WholeExtent"
         command="SetWholeExtent"
         number_of_elements="6"
         default_values="0 100 0 100 0 100" >
        <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>
    </SourceProxy>

   <SourceProxy name="StridedReader1"
                class="vtkRawStridedReader1"
                label="Strided image reader">
     <Documentation
       short_help="Read raw regular rectilinear grid data from a file."
       long_help="Read raw regular rectilinear grid data from a file. The dimensions and type of the data must be specified.">
       The Image reader reads raw regular rectilinear grid (image/volume) data from a file. Because no metadata is provided, the user must specify information about the size, spacing, dimensionality, etc. about the dataset.
     </Documentation>

      <StringVectorProperty
         name="FileName"
         command="SetFilename"
         animateable="0"
         number_of_elements="1">
        <FileListDomain name="files"/>
        <Documentation>
          This property specifies the file name to read.
        </Documentation>
      </StringVectorProperty>

      <DoubleVectorProperty
         name="Origin"
         command="SetOrigin"
         number_of_elements="3"
         default_values="0.0 0.0 0.0" >
        <DoubleRangeDomain name="range"/>
        <Documentation>
          The coordinate contained in this property specifies the position of the point with index (0,0,0).
        </Documentation>
      </DoubleVectorProperty>

      <DoubleVectorProperty
         name="Spacing"
         command="SetSpacing"
         number_of_elements="3"
         default_values="1.0 1.0 1.0" >
        <DoubleRangeDomain name="range"/>
        <Documentation>
          This property specifies the size of a voxel in each dimension.
        </Documentation>
      </DoubleVectorProperty>

     <IntVectorProperty
        name="WholeExtent"
        command="SetWholeExtent"
        number_of_elements="6"
        default_values="0 100 0 100 0 100">
       <IntRangeDomain name="range"/>
       <Documentation>
         This property specifies the minimum and maximum index values of the data in each dimension (xmin, xmax, ymin, ymax, zmin, zmax).
       </Documentation>
     </IntVectorProperty>

<!--
     <IntVectorProperty
        name="BlockReadSize"
        command="SetBlockReadSize"
        number_of_elements="1"
        default_values="4096" >
       <Documentation>
         This property specifies the skip dimension.
       </Documentation>
     </IntVectorProperty>
-->

     <IntVectorProperty
        name="SwapEndian"
        command="SwapDataByteOrder"
        number_of_elements="1"
        default_values="0" >
       <BooleanDomain name="bool" />
       <Documentation>
         This property specifies if the dataset was written with opposing endianess to the machine you are on.
       </Documentation>
     </IntVectorProperty>

     <IntVectorProperty
         name="PostPreProcess"
         command="SetPostPreProcess"
         number_of_elements="1"
         default_values="0">
       <BooleanDomain name="bool" />
       <Documentation>
         When on, the reader saves auxiliary files for every chunk it reads from the file. Re-reader the data then is faster, but the cost is a large number of extra files on the file system.
       </Documentation>
     </IntVectorProperty>

     <Hints>
       <ReaderFactory extensions="sraw"
                      file_description="multiresolution raw format" />
     </Hints>

   <!-- End StridedReader1 -->
   </SourceProxy>

   <SourceProxy name="ACosmoReader"
                class="vtkACosmoReader"
                label="Cosmo (adaptive) reader">
     <Documentation
       short_help=""
       long_help="" >
     </Documentation>

      <StringVectorProperty
         name="FileName"
         command="SetFileName"
         animateable="0"
         number_of_elements="1">
        <FileListDomain name="files"/>
        <Documentation>
          This property specifies the file name to read.
        </Documentation>
      </StringVectorProperty>

      <DoubleVectorProperty
         name="BoxSize"
         command="SetBoxSize"
         number_of_elements="1"
         default_values="90.140846" >
        <DoubleRangeDomain name="range"/>
        <Documentation>
        </Documentation>
      </DoubleVectorProperty>

     <IntVectorProperty
        name="ByteOrder"
        command="SetByteOrder"
        label="Little Endian"
        number_of_elements="1"
        default_values="1">
       <BooleanDomain name="bool"/>
       <Documentation>
       </Documentation>
     </IntVectorProperty>

     <IntVectorProperty
        name="TagSize"
        command="SetTagSize"
        label="64-bit tags"
        number_of_elements="1"
        default_values="0">
       <BooleanDomain name="bool"/>
       <Documentation>
       </Documentation>
     </IntVectorProperty>

     <Hints>
       <ReaderFactory extensions="acosmo"
                      file_description="multiresolution cosmology format" />
     </Hints>
   <!-- End ACosmoReader -->
   </SourceProxy>

   <SourceProxy
       name="StreamingNetCDFPOP"
       class="vtkImageNetCDFPOPReader"
       label="Image NetCDF POP reader">
     <Documentation
         short_help="streaming capable netcdf POP reader."
         long_help="Read netcdf POP files for the multiresolution streaming view">
     </Documentation>

     <StringVectorProperty
         name="FileName"
         animateable="0"
         command="SetFileName"
         number_of_elements="1">
       <FileListDomain name="files"/>
       <Documentation>
         This property specifies the file name to read.
       </Documentation>
     </StringVectorProperty>

     <StringVectorProperty name="VariableArrayInfo"
                           information_only="1">
       <ArraySelectionInformationHelper attribute_name="Variable"/>
     </StringVectorProperty>
     <StringVectorProperty name="VariableArrayStatus"
                           command="SetVariableArrayStatus"
                           number_of_elements="0"
                           repeat_command="1"
                           number_of_elements_per_command="2"
                           element_types="2 0"
                           information_property="VariableArrayInfo"
                           label="Variables">
       <ArraySelectionDomain name="array_list">
         <RequiredProperties>
           <Property name="VariableArrayInfo" function="ArrayList" />
         </RequiredProperties>
       </ArraySelectionDomain>
       <Documentation>
         This property lists which netCDF variables to load.
       </Documentation>
     </StringVectorProperty>

     <DoubleVectorProperty
         name="Origin"
         command="SetOrigin"
         number_of_elements="3"
         default_values="0.0 0.0 0.0" >
       <DoubleRangeDomain name="range"/>
       <Documentation>
         The coordinate contained in this property specifies the position of the point with index (0,0,0).
       </Documentation>
     </DoubleVectorProperty>

     <DoubleVectorProperty
         name="Spacing"
         command="SetSpacing"
         number_of_elements="3"
         default_values="1.0 1.0 1.0" >
       <DoubleRangeDomain name="range"/>
       <Documentation>
         This property specifies the size of a voxel in each dimension.
       </Documentation>
     </DoubleVectorProperty>

     <Hints>
       <ReaderFactory extensions="pop.ncdf pop.nc"
                      file_description="POP Ocean NetCDF (streaming image)" />
     </Hints>
   </SourceProxy>

  </ProxyGroup>

  <ProxyGroup
      name="filters">

    <SourceProxy
        name="WarpScalarsWithMetaInfo"
        class="vtkWarpScalarsAndMetaInfo"
        base_proxygroup="filters"
        base_proxyname="WarpScalar">
      <Documentation>
        A version of warp scalars that works with view prioritization.
      </Documentation>
      <!-- End WarpScalarsWithMetaInfo -->
    </SourceProxy>

    <SourceProxy
        name="Spherical Projection"
        class="vtkWorldWarp">
      <Documentation>
        A filter to warp data onto globe.
      </Documentation>
      <InputProperty
          name="Input"
          command="SetInputConnection">
        <DataTypeDomain name="input_type">
          <DataType value="vtkPointSet"/>
        </DataTypeDomain>
        <Documentation>
          The input which is warped.
        </Documentation>
      </InputProperty>

      <StringVectorProperty
          name="MapFileName"
          command="SetMapFileName"
          animateable="0"
          number_of_elements="1"
          default_values="ncdump.txt">
        <!--<FileListDomain name="files"/> -todo: how to pop up the file dialog that reader can?-->
        <Documentation>
          This property specifies the file name that contains lat lon depth mapping for the filter.
        </Documentation>
      </StringVectorProperty>

      <IntVectorProperty
          name="Controls Longitude"
          command="SetLonInput"
          number_of_elements="1"
          default_values="0" >
        <EnumerationDomain name="enum">
          <Entry value="0" text="X"/>
          <Entry value="1" text="Y"/>
          <Entry value="2" text="Z"/>
        </EnumerationDomain>
        <Documentation>
          This property specifies which input axis specifies longitude.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
          name="Controls Latitude"
          command="SetLatInput"
          number_of_elements="1"
          default_values="1" >
        <EnumerationDomain name="enum">
          <Entry value="0" text="X"/>
          <Entry value="1" text="Y"/>
          <Entry value="2" text="Z"/>
        </EnumerationDomain>
        <Documentation>
          This property specifies which input axis specifies latitude.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
          name="Controls Altitude"
          command="SetAltInput"
          number_of_elements="1"
          default_values="2" >
        <EnumerationDomain name="enum">
          <Entry value="0" text="X"/>
          <Entry value="1" text="Y"/>
          <Entry value="2" text="Z"/>
        </EnumerationDomain>
        <Documentation>
          This property specifies which input axis corresponds to altitude.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty
          name="X Scale"
          command="SetXScale"
          number_of_elements="1"
          default_values="1.0" >
        <Documentation>
          This specifies scaling for X so that it can be normalized before transformation.
        </Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty
          name="X Bias"
          command="SetXBias"
          number_of_elements="1"
          default_values="0.0" >
        <Documentation>
          This specifies offset for X so that it can be normalized before transformation.
        </Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty
          name="Y Scale"
          command="SetYScale"
          number_of_elements="1"
          default_values="1.0" >
        <Documentation>
          This specifies scaling for Y so that it can be normalized before transformation.
        </Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty
          name="Y Bias"
          command="SetYBias"
          number_of_elements="1"
          default_values="0.0" >
        <Documentation>
          This specifies offset for Y so that it can be normalized before transformation.
        </Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty
          name="Z Scale"
          command="SetZScale"
          number_of_elements="1"
          default_values="1.0" >
        <Documentation>
          This specifies scaling for Z so that it can be normalized before transformation.
        </Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty
          name="Z Bias"
          command="SetZBias"
          number_of_elements="1"
          default_values="0.0" >
        <Documentation>
          This specifies offset for Z so that it can be normalized before transformation.
        </Documentation>
      </DoubleVectorProperty>

      <DoubleVectorProperty
          name="Z Emphasis"
          command="SetAltitudeScale"
          number_of_elements="1"
          default_values="1.0" >
        <Documentation>
          This specifies scaling for altitude so that it can be exagerated after transformation.
        </Documentation>
      </DoubleVectorProperty>

      <DoubleVectorProperty
          name="Base Altitude"
          command="SetBaseAltitude"
          number_of_elements="1"
          default_values="6371000" >
        <Documentation>
          This specifies base level of altitude. Default is earth mean radius of earth.
        </Documentation>
      </DoubleVectorProperty>

      <!-- End WorldWarp -->
    </SourceProxy>

    <!-- End Filters -->
  </ProxyGroup>

  <ProxyGroup
      name="utilities">

    <SourceProxy
        name="PieceCache"
        class="vtkPieceCacheFilter"
        executive="vtkPieceCacheExecutive">
      <Documentation>
        A cache to speed up streaming.
      </Documentation>

      <InputProperty
          name="Input"
          command="SetInputConnection">
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataObject"/>
        </DataTypeDomain>
        <Documentation>
          The input which is cached and passed through
        </Documentation>
      </InputProperty>

      <Property name="EmptyCache" command="EmptyCache" />

      <!-- End of PieceCache -->
    </SourceProxy>

    <SourceProxy
        name="StreamingHarness"
        class="vtkStreamingHarness">
      <Documentation>
        A cache to speed up streaming.
      </Documentation>

      <InputProperty
          name="Input"
          command="SetInputConnection">
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataObject"/>
        </DataTypeDomain>
        <Documentation>
          The input which we control the pipeline of.
        </Documentation>
      </InputProperty>

      <IntVectorProperty
          name="LockRefinement"
          command="SetLockRefinement"
          number_of_elements="1"
          default_values="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <Property
          name="RestartRefinement"
          command="RestartRefinement">
      </Property>

      <!-- End of StreamingHarness -->
    </SourceProxy>

    <Proxy
        name="IteratingDriver"
        class="vtkIterativeStreamer"
        processes="client|renderserver|dataserver">

      <Property
          name="RestartStreaming"
          command="RestartStreaming">
      </Property>
      <Property
          name="StopStreaming"
          command="StopStreaming">
      </Property>

      <IntVectorProperty
          name="ShowWhen"
          command="SetDisplayFrequency"
          number_of_elements="1"
          default_values="0">
       <EnumerationDomain>
         <Entry value="0" text="Fully Drawn"/>
         <Entry value="1" text="Each Piece Drawn"/>
       </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
          name="CacheSize"
          command="SetCacheSize"
          number_of_elements="1"
          default_values="32">
        <IntRangeDomain name="range" min="-1"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="NumberOfPasses"
          command="SetNumberOfPasses"
          number_of_elements="1"
          default_values="32">
        <IntRangeDomain name="range" min="1"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="LastPass"
          command="SetLastPass"
          number_of_elements="1"
          default_values="32">
        <IntRangeDomain name="range" min="1"/>
      </IntVectorProperty>

    </Proxy>

    <Proxy
        name="PrioritizingDriver"
        class="vtkPrioritizedStreamer"
        processes="client|renderserver|dataserver">

      <Property
          name="RestartStreaming"
          command="RestartStreaming">
      </Property>
      <Property
          name="StopStreaming"
          command="StopStreaming">
      </Property>

      <IntVectorProperty
          name="ShowWhen"
          command="SetDisplayFrequency"
          number_of_elements="1"
          default_values="0">
       <EnumerationDomain>
         <Entry value="0" text="Fully Drawn"/>
         <Entry value="1" text="Each Piece Drawn"/>
       </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
          name="CacheSize"
          command="SetCacheSize"
          number_of_elements="1"
          default_values="32">
        <IntRangeDomain name="range" min="-1"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="NumberOfPasses"
          command="SetNumberOfPasses"
          number_of_elements="1"
          default_values="32">
        <IntRangeDomain name="range" min="1"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="LastPass"
          command="SetLastPass"
          number_of_elements="1"
          default_values="32">
        <IntRangeDomain name="range" min="1"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="PipelinePrioritization"
          command="SetPipelinePrioritization"
          number_of_elements="1"
          default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
          name="ViewPrioritization"
          command="SetViewPrioritization"
          number_of_elements="1"
          default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

    </Proxy>
    <Proxy
        name="MultiResolutionDriver"
        class="vtkMultiResolutionStreamer"
        processes="client|renderserver|dataserver">

      <Property
          name="RestartStreaming"
          command="RestartStreaming">
      </Property>
      <Property
          name="StopStreaming"
          command="StopStreaming">
      </Property>

      <IntVectorProperty
          name="ShowWhen"
          command="SetDisplayFrequency"
          number_of_elements="1"
          default_values="0">
       <EnumerationDomain>
         <Entry value="0" text="Fully Drawn"/>
         <Entry value="1" text="Each Piece Drawn"/>
       </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
          name="CacheSize"
          command="SetCacheSize"
          number_of_elements="1"
          default_values="32">
        <IntRangeDomain name="range" min="-1"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="PipelinePrioritization"
          command="SetPipelinePrioritization"
          number_of_elements="1"
          default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
          name="ViewPrioritization"
          command="SetViewPrioritization"
          number_of_elements="1"
          default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
          name="ProgressionMode"
          command="SetProgressionMode"
          number_of_elements="1"
          default_values="0">
       <EnumerationDomain>
         <Entry value="0" text="Manual"/>
         <Entry value="1" text="Automatic"/>
       </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
          name="RefinementDepth"
          command="SetRefinementDepth"
          number_of_elements="1"
          default_values="5">
        <IntRangeDomain name="range" min="1" max="10"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="DepthLimit"
          command="SetDepthLimit"
          number_of_elements="1"
          default_values="10">
        <IntRangeDomain name="range" min="1" max="10"/>
      </IntVectorProperty>

      <IntVectorProperty
          name="MaxSplits"
          command="SetMaxSplits"
          number_of_elements="1"
          default_values="8">
        <IntRangeDomain name="range" min="1" max="10000"/>
      </IntVectorProperty>

      <DoubleVectorProperty
          name="CellPixelFactor"
          command="SetCellPixelFactor"
          number_of_elements="1"
          default_values="0.666">
        <DoubleRangeDomain name="range" min="0.0" max="2.0"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty
          name="BackFaceFactor"
          command="SetBackFaceFactor"
          number_of_elements="1"
          default_values="-0.75">
        <DoubleRangeDomain name="range" min="-1.0" max="0.0"/>
      </DoubleVectorProperty>

      <Property
          name="Refine"
          command="Refine">
      </Property>

      <Property
          name="Coarsen"
          command="Coarsen">
      </Property>

    </Proxy>
  </ProxyGroup>

  <ProxyGroup
      name="representations">
    <PVRepresentationProxy
        name="StreamingRepresentation"
        class="vtkPVStreamingRepresentation"
        si_class="vtkSIStreamingRepresentationProxy"
        processes="client|renderserver|dataserver"
        base_proxygroup="representations"
        base_proxyname="GeometryRepresentation">
      <!-- proxy that sets up display pipeline which streams over pieces -->

      <SubProxy>
        <Proxy name="PieceCache"
          proxygroup="utilities" proxyname="PieceCache">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="Harness"
          proxygroup="utilities" proxyname="StreamingHarness">
        </Proxy>

        <ExposedProperties>
          <Property name="LockRefinement"/>
          <Property name="RestartRefinement"/>
        </ExposedProperties>
      </SubProxy>

    </PVRepresentationProxy>
  </ProxyGroup>

  <ProxyGroup
      name="views">

    <StreamingViewProxy
        name="StreamingViewBase"
        class="vtkPVStreamingView"
        processes="client|renderserver|dataserver"
        base_proxygroup="views"
        base_proxyname="RenderView">

     <IntVectorProperty
       name="GetIsDisplayDone"
       command="GetIsDisplayDone"
       information_only="1">
       <SimpleIntInformationHelper/>
     </IntVectorProperty>
    </StreamingViewProxy>

    <StreamingViewProxy
        name="IteratingView"
        class="vtkPVStreamingView"
        processes="client|renderserver|dataserver"
        base_proxygroup="views"
        base_proxyname="StreamingViewBase">

      <SubProxy>
        <Proxy
            name="StreamingDriver"
            proxygroup="utilities"
            proxyname="IteratingDriver">
        </Proxy>
      </SubProxy>
    </StreamingViewProxy>

    <StreamingViewProxy
        name="PrioritizingView"
        class="vtkPVStreamingView"
        processes="client|renderserver|dataserver"
        base_proxygroup="views"
        base_proxyname="StreamingViewBase">

      <SubProxy>
        <Proxy
            name="StreamingDriver"
            proxygroup="utilities"
            proxyname="PrioritizingDriver">
        </Proxy>
      </SubProxy>
    </StreamingViewProxy>

    <StreamingViewProxy
        name="RefiningView"
        class="vtkPVStreamingView"
        processes="client|renderserver|dataserver"
        base_proxygroup="views"
        base_proxyname="StreamingViewBase">

      <SubProxy>
        <Proxy
            name="StreamingDriver"
            proxygroup="utilities"
            proxyname="MultiResolutionDriver">
        </Proxy>
      </SubProxy>
    </StreamingViewProxy>
  </ProxyGroup>

</ServerManagerConfiguration>
