<ServerManagerConfiguration>
  <ProxyGroup name="lookup_tables">
    <Proxy class="vtkLookupTable"
           name="LookupTable"
           post_push="Build"
           processes="dataserver|renderserver|client">
      <IntVectorProperty command="SetNumberOfTableValues"
                         default_values="256"
                         name="NumberOfTableValues"
                         number_of_elements="1">
        <IntRangeDomain min="1"
                        name="range" />
      </IntVectorProperty>
      <DoubleVectorProperty command="SetHueRange"
                            default_values="0 0.66667"
                            name="HueRange"
                            number_of_elements="2">
        <DoubleRangeDomain max="1 1"
                           min="0 0"
                           name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetSaturationRange"
                            default_values="1 1"
                            name="SaturationRange"
                            number_of_elements="2">
        <DoubleRangeDomain max="1 1"
                           min="0 0"
                           name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetValueRange"
                            default_values="1 1"
                            name="ValueRange"
                            number_of_elements="2">
        <DoubleRangeDomain max="1 1"
                           min="0 0"
                           name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetTableRange"
                            default_values="0 1"
                            name="ScalarRange"
                            number_of_elements="2"></DoubleVectorProperty>
      <IntVectorProperty command="SetVectorComponent"
                         default_values="0"
                         name="VectorComponent"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="X"
                 value="0" />
          <Entry text="Y"
                 value="1" />
          <Entry text="Z"
                 value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty command="SetVectorMode"
                         default_values="1"
                         name="VectorMode"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="Magnitude"
                 value="0" />
          <Entry text="Component"
                 value="1" />
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty command="SetArrayName"
                            default_values=""
                            name="ArrayName"
                            number_of_elements="1"></StringVectorProperty>
    </Proxy>

    <TransferFunctionProxy class="vtkPVDiscretizableColorTransferFunction"
                           name="PVLookupTable"
                           post_push="Build"
                           processes="dataserver|renderserver|client">
      <IntVectorProperty default_values="0"
                         name="LockScalarRange"
                         label="Lock Data Range"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>
          When enabled, data range is locked, meaning that the
          application will not be permitted to automatically update
          the color map to fit the data range. To change when the
          application will update the color map, see the application
          setting General -> Transfer Function Reset Mode.
        </Documentation>

      </IntVectorProperty>
      <IntVectorProperty name="IndexedLookup"
                         command="SetIndexedLookup"
                         default_values="0"
                         number_of_elements="1"
                         label="Interpret Values As Categories">
        <BooleanDomain name="bool" />
        <Documentation>
          When enabled, the color transfer function switches to indexed-lookup
          (categorical colors) mode.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ShowIndexedColorActiveValues"
                         command="SetUseActiveValues"
                         default_values="0"
                         number_of_elements="1"
                         label="Show Categorical Colors in Data Range Only"
                         panel_visibility="advanced">
        <BooleanDomain name="bool" />
        <Hints>
          <PropertyWidgetDecorator type="ShowWidgetDecorator">
            <Property name="IndexedLookup" />
          </PropertyWidgetDecorator>
        </Hints>
        <Documentation>
          When interpretting values as categories, enabling this
          option results in the display of only the 'active'
          categorical colors for values in the data range, i.e.,
          values that exist in the source. You may need to click the
          'Rescale to Data Range' button to update the active values
          that are displayed.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="RescaleOnVisibilityChange"
                         default_values="0"
                         number_of_elements="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Flag indicating whether the color map data range should be
          updated when a representation's visibility changes.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="EnableOpacityMapping"
                         command="SetEnableOpacityMapping"
                         number_of_elements="1"
                         default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          When enabled, the opacity transfer function is used for
          rendering, if applicable.
        </Documentation>
      </IntVectorProperty>

      <ProxyProperty name="ScalarOpacityFunction"
        command="SetScalarOpacityFunction">
        <Hints>
          <!-- when resetting to XML defaults, we don't want this property to
               get reset. This is managed explicitly. So let's just skip this
               from the default mechanism -->
          <NoDefault />
        </Hints>
      </ProxyProperty>

      <DoubleVectorProperty clean_command="RemoveAllPoints"
                            command="AddRGBPoint"
                            name="RGBPoints"
                            number_of_elements_per_command="4"
                            repeat_command="1"
                            number_of_elements="12"
                            default_values="0 0.231373 0.298039 0.752941 0.5 0.865003 0.865003 0.865003 1 0.705882 0.0156863 0.14902">
        <Documentation>
          Specify the control points that form the color-transfer-function. These are
          a list of 4-tuples of the form (x, r, g, b) where x is the data value,
          and r,g,b are three color components in the range [0,1].
        </Documentation>
      </DoubleVectorProperty>
      <IntVectorProperty command="SetUseLogScale"
                         default_values="0"
                         name="UseLogScale"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetColorSpace"
                         default_values="3"
                         name="ColorSpace"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="RGB" value="0" />
          <Entry text="HSV" value="1" />
          <Entry text="Lab" value="2" />
          <Entry text="Diverging" value="3" />
        </EnumerationDomain>
        <Documentation>
          The color space used for interpolation: RGB, HSV, Lab (CIELAB), or
          Diverging. In HSV mode, if HSVWrap is on, it will take the shortest
          path in Hue (going back through 0 if that is the shortest way around
          the hue circle) whereas if HSVWrap is off it will not go through 0
          (in order the match the current functionality of vtkLookupTable).
          Diverging is a special mode where colors will pass through white when
          interpolating between two saturated colors.
        </Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetUseBelowRangeColor"
                         default_values="0"
                         name="UseBelowRangeColor"
                         number_of_elements="1"
                         panel_visibility="advanced" >
        <BooleanDomain name="bool" />
        <Documentation>
          Use special color to use when a data value is below the range of the color map.
        </Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetBelowRangeColor"
                            default_values="0 0 0"
                            name="BelowRangeColor"
                            number_of_elements="3"
                            panel_widget="color_selector"
                            panel_visibility="advanced" >
        <Documentation>
          Set the color to use when a data value is below the range of the color map.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="UseBelowRangeColor" />
          </PropertyWidgetDecorator>
        </Hints>
      </DoubleVectorProperty>
      <IntVectorProperty command="SetUseAboveRangeColor"
                         default_values="0"
                         name="UseAboveRangeColor"
                         number_of_elements="1"
                         panel_visibility="advanced" >
        <BooleanDomain name="bool" />
        <Documentation>
          Use special color to use when a data value is above the range of the color map.
        </Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetAboveRangeColor"
                            default_values="1 1 1"
                            name="AboveRangeColor"
                            number_of_elements="3"
                            panel_widget="color_selector"
                            panel_visibility="advanced" >
        <Documentation>
          Set the color to use when a data value is above the range of the color map.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="UseAboveRangeColor" />
          </PropertyWidgetDecorator>
        </Hints>
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetNanColor"
                            default_values="1 1 0"
                            name="NanColor"
                            number_of_elements="3"
                            panel_widget="color_selector" >
        <Documentation>
          Set the color to use when NaN (not-a-number) is encountered.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty command="SetDiscretize"
                         default_values="1"
                         name="Discretize"
                         number_of_elements="1" >
        <BooleanDomain name="bool" />
        <Documentation>
          When set, the color transfer function will comprise of discrete colors
          with number of discrete colors specified using NumberOfTableValues.
        </Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetNumberOfValues"
                         default_values="256"
                         name="NumberOfTableValues"
                         number_of_elements="1" >
        <IntRangeDomain min="1" max="1024" name="range" />
        <Documentation>
          When Discretize is set, this specifies the number of discrete colors
          that must be present in the transfer function.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="Discretize" function="boolean" index="0" />
          </PropertyWidgetDecorator>
        </Hints>
      </IntVectorProperty>

      <DoubleVectorProperty default_values="0"
                            name="ScalarRangeInitialized"
                            number_of_elements="1"
                            panel_visibility="never" >
        <Documentation>
         Set to 1 to indicate that the scalar range has been initialized.
        </Documentation>
        <BooleanDomain name="bool" />
      </DoubleVectorProperty>
      <IntVectorProperty command="SetHSVWrap"
                         default_values="0"
                         name="HSVWrap"
                         number_of_elements="1"
                         panel_visibility="never" >
        <!-- FIXME: need to add "Wrapped HSV" as a color-space type instead -->
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <Property command="Build" name="Build" panel_visibility="never" />
      <IntVectorProperty command="SetVectorComponent"
                         default_values="0"
                         name="VectorComponent"
                         number_of_elements="1"
                         panel_visibility="never" >
        <IntRangeDomain name="range" />
      </IntVectorProperty>
      <IntVectorProperty command="SetVectorMode"
                         default_values="0"
                         name="VectorMode"
                         number_of_elements="1"
                         panel_visibility="never" >
        <EnumerationDomain name="enum">
          <Entry text="Magnitude" value="0" />
          <Entry text="Component" value="1" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty command="SetAllowDuplicateScalars"
                         default_values="1"
                         name="AllowDuplicateScalars"
                         number_of_elements="1"
                         panel_visibility="never" >
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <StringVectorProperty name="Annotations"
                            clean_command="ResetAnnotationsInFullSet"
                            command="SetAnnotationInFullSet"
                            element_types="2 2"
                            number_of_elements_per_command="2"
                            repeat_command="1">
        <Documentation>
          Specify annotations.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ActiveAnnotatedValues"
                            clean_command="ResetActiveAnnotatedValues"
                            command="SetActiveAnnotatedValue"
                            element_types="2"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            panel_visibility="never">
        <Documentation>
          Specify active annotations.
        </Documentation>
      </StringVectorProperty>

      <DoubleVectorProperty name="IndexedColors"
                            command="SetIndexedColorInFullSet"
                            number_of_elements_per_command="3"
                            repeat_command="1"
                            set_number_command="SetNumberOfIndexedColorsInFullSet"
                            use_index="1"
                            panel_visibility="advanced">
        <Documentation>
          Colors used when using IndexedLookup is true.
        </Documentation>
      </DoubleVectorProperty>

      <PropertyGroup label="Mapping Data" panel_widget="ColorOpacityEditor">
        <Property name="EnableOpacityMapping" function="EnableOpacityMapping" />
        <Property name="RGBPoints" function="XRGBPoints" />
        <Property name="ScalarOpacityFunction" function="ScalarOpacityFunction" />
        <Property name="UseLogScale" function="UseLogScale" />
      </PropertyGroup>

      <PropertyGroup label="Color Mapping Parameters">
        <Property name="ColorSpace" />
        <Property name="NanColor" />
      </PropertyGroup>

      <PropertyGroup label="Color Discretization">
        <Property name="NumberOfTableValues" />
        <Property name="Discretize" />
      </PropertyGroup>

      <PropertyGroup label="Annotations" panel_widget="AnnotationsEditor">
        <Property name="Annotations" />
        <Property name="IndexedColors" />
      </PropertyGroup>

      <!-- End of PVLookupTable -->
    </TransferFunctionProxy>
  </ProxyGroup>
  <ProxyGroup name="parametric_functions">
    <Proxy class="vtkParametricSpline"
           name="Spline">
      <DoubleVectorProperty command="SetPoint"
                            default_values="0 0 0 1 0 0"
                            name="Points"
                            number_of_elements="6"
                            number_of_elements_per_command="3"
                            repeat_command="1"
                            set_number_command="SetNumberOfPoints"
                            use_index="1"></DoubleVectorProperty>
      <IntVectorProperty command="SetClosed"
                         default_values="0"
                         name="Closed"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <PropertyGroup label="Spline Parameters" panel_widget="InteractiveSpline">
        <Property function="HandlePositions" name="Points" />
        <Property function="Closed" name="Closed" />
      </PropertyGroup>
      <!-- end of Spline -->
    </Proxy>
  </ProxyGroup>
  <!-- incremental point locators begin -->
  <ProxyGroup name="incremental_point_locators">
    <NullProxy name="None"></NullProxy>
    <NullProxy name="Scalar"></NullProxy>
    <Proxy class="vtkPointLocator"
           name="PointLocator">
      <Documentation>Point locator based on a search structure of uniform
      fixed-resolution bins / buckets for point location and generic (zero or
      non-zero) tolerance point insertion.</Documentation>
      <IntVectorProperty command="SetDivisions"
                         default_values="50 50 50"
                         name="Divisions"
                         number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
        (x, y, z) for creating a search structure of uniform fixed-resolution
        bins / buckets.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetNumberOfPointsPerBucket"
                         default_values="8"
                         label="Number of points per bucket"
                         name="NumberOfPointsPerBucket"
                         number_of_elements="1">
        <Documentation>Specify the average number of points in each bin /
        bucket that determines the initial and growing sizes (in terms of
        number of points) of each bin / bucket.</Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetTolerance"
                            default_values="0.001"
                            name="Tolerance"
                            number_of_elements="1">
        <Documentation>Specify an absolute tolerance for check-based /
        tolerance-based point insertion.</Documentation>
      </DoubleVectorProperty>
    </Proxy>
    <Proxy class="vtkMergePoints"
           label="Uniform Binning"
           name="MergePoints">
      <Documentation>A point merger using a search structure of uniform
      fixed-resolution bins / buckets for zero tolerance point insertion (to
      avoid exactly duplicate / coincident points).</Documentation>
      <IntVectorProperty command="SetDivisions"
                         default_values="50 50 50"
                         name="Divisions"
                         number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
        (x, y, z) for creating a search structure of uniform fixed-resolution
        bins / buckets.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetNumberOfPointsPerBucket"
                         default_values="8"
                         label="Number of points per bucket"
                         name="NumberOfPointsPerBucket"
                         number_of_elements="1">
        <Documentation>Specify the average number of points in each bin /
        bucket that determines the initial and growing sizes (in terms of
        number of points) of each bin / bucket.</Documentation>
      </IntVectorProperty>
    </Proxy>
    <Proxy class="vtkNonMergingPointLocator"
           label="Don't Merge Points"
           name="NonMergingPointLocator">
      <Documentation>Perform direct / check-free point insertion (any point is
      inserted to a vtkPoints object) and therefore there can be duplicate
      points.</Documentation>
      <IntVectorProperty command="SetDivisions"
                         default_values="50 50 50"
                         name="Divisions"
                         number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
        (x, y, z) for creating a search structure of uniform fixed-resolution
        bins / buckets.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetNumberOfPointsPerBucket"
                         default_values="8"
                         label="Number of points per bucket"
                         name="NumberOfPointsPerBucket"
                         number_of_elements="1">
        <Documentation>Specify the average number of points in each bin /
        bucket that determines the initial and growing sizes (in terms of
        number of points) of each bin / bucket.</Documentation>
      </IntVectorProperty>
    </Proxy>
    <Proxy class="vtkIncrementalOctreePointLocator"
           name="IncrementalOctreePointLocator">
      <Documentation>Point locator based on a fast search structure of
      data-aware multi-resolution octree nodes for point location and generic
      (zero or non-zero) tolerance point insertion.</Documentation>
      <IntVectorProperty command="SetMaxPointsPerLeaf"
                         default_values="128"
                         label="Max number of points per leaf"
                         name="MaxPointsPerLeaf"
                         number_of_elements="1">
        <IntRangeDomain max="256"
                        min="16"
                        name="range" />
        <Documentation>Specify the maximum number of points that a leaf node
        may maintain. This value is a trade-off between the cost of dynamic
        octree construction (top-down recursive node sub-division into eight
        children as points are incrementally inserted to the octree) and the
        speed of point location (particularly within a container leaf
        node).</Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetTolerance"
                            default_values="0.001"
                            name="Tolerance"
                            number_of_elements="1">
        <Documentation>Specify an absolute tolerance for check-based /
        tolerance-based point insertion.</Documentation>
      </DoubleVectorProperty>
    </Proxy>
    <Proxy class="vtkIncrementalOctreePointLocator"
           label="Octree Binning"
           name="IncrementalOctreeMergePoints">
      <Documentation>A point merger exploiting a fast search structure of
      data-aware multi-resolution octree nodes for zero-tolerance point
      insertion (to avoid exactly duplicate / coincident
      points).</Documentation>
      <IntVectorProperty command="SetMaxPointsPerLeaf"
                         default_values="128"
                         label="Max number of points per leaf"
                         name="MaxPointsPerLeaf"
                         number_of_elements="1">
        <IntRangeDomain max="256"
                        min="16"
                        name="range" />
        <Documentation>Specify the maximum number of points that a leaf node
        may maintain. This value is a trade-off between the cost of dynamic
        octree construction (top-down recursive node sub-division into eight
        children as points are incrementally inserted to the octree) and the
        speed of point location (particularly within a container leaf
        node).</Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetTolerance"
                            default_values="0.0"
                            name="Tolerance"
                            number_of_elements="1">
        <Documentation>Always specify a zero tolerance for point insertion ---
        merging points.</Documentation>
      </DoubleVectorProperty>
      <Hints>
        <Property name="Tolerance"
                  show="0" />
      </Hints>
    </Proxy>
    <!-- incremental point locators end -->
  </ProxyGroup>

  <ProxyGroup name="point_locators">
    <Proxy name="StaticPointLocator" label="Static Point Locator" class="vtkStaticPointLocator">
      <Documentation>
        This uses a spatial search object to quickly locate points
        in 3D.  This locator works by dividing a specified region of
        space into a regular array of cuboid buckets, and then keeping a
        list of points that lie in each bucket. Typical operation involves giving
        a position in 3D and finding the closest point; or finding the N closest
        points.

        This locator is an accelerated version of a point locator. It is
        threaded (via vtkSMPTools), and supports one-time static construction
        (i.e., incremental point insertion is not supported).
      </Documentation>

      <IntVectorProperty name="Automatic"
        command="SetAutomatic"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Controls whether the locator resolution is computed automatically or not.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty command="SetDivisions"
        default_values="50 50 50"
        name="Divisions"
        number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
          (x, y, z) for creating a search structure of uniform fixed-resolution
          bins / buckets.
        </Documentation>
        <IntRangeDomain name="range" min="1 1 1" />
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
            mode="enabled_state"
            property="Automatic"
            value="0" />
        </Hints>
      </IntVectorProperty>

      <IntVectorProperty name="NumberOfPointsPerBucket"
        command="SetNumberOfPointsPerBucket"
        number_of_elements="1"
        default_values="5">
        <IntRangeDomain name="range" min="1" />
        <Documentation>
          Specify the average number of points in each bucket. This is
          used in conjunction with the **Automatic** (if enabled) to
          determine the number of locator x-y-z divisions.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
            mode="enabled_state"
            property="Automatic"
            value="1" />
        </Hints>
      </IntVectorProperty>

      <PropertyGroup label="Locator Parameters">
        <Property name="Automatic" />
        <Property name="Divisions" />
        <Property name="NumberOfPointsPerBucket" />
      </PropertyGroup>
    </Proxy>

  </ProxyGroup>

  <ProxyGroup name="implicit_functions">
    <NullProxy name="None"></NullProxy>
    <NullProxy name="Scalar"></NullProxy>
    <Proxy class="vtkPVPlane"
           name="Plane">
      <InputProperty is_internal="1"
                     name="Input"></InputProperty>
      <DoubleVectorProperty command="SetOrigin"
                            default_values="0.0 0.0 0.0"
                            name="Origin"
                            number_of_elements="3">
        <BoundsDomain default_mode="mid"
                      mode="normal"
                      name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="Input" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetNormal"
                            default_values="1.0 0.0 0.0"
                            name="Normal"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetOffset"
                            default_values="0.0"
                            name="Offset"
                            number_of_elements="1">
      </DoubleVectorProperty>

      <PropertyGroup label="Plane Parameters" panel_widget="InteractivePlane">
        <Property function="Origin" name="Origin" />
        <Property function="Normal" name="Normal" />
        <Property function="Input" name="Input" />
      </PropertyGroup>

      <Hints>
        <!-- Hints are metadata associated with the proxy.
             As far as the ServerManager is concerned, Hints have no
             significance. GUI is free to interpret the hints as
             it chooses. Hints provide a mechanism to add some GUI
             pertinant information to the server manager XML.
        -->

        <ProxyList>
          <!--
            ProxyList hints are used when this proxy
            is made a part of a proxy list domain.
            It provides a mechanism to link certain
            properties from this proxy with properties
            from the proxy which has the property
            with the proxy list domain.
          -->
          <Link name="Input"
                with_property="Input" />
        </ProxyList>
      </Hints>
    </Proxy>
    <Proxy class="vtkPlanes"
           name="Planes">
      <ProxyProperty command="SetPoints"
                     name="Points">
        <ProxyGroupDomain name="group">
          <Group name="points" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty command="SetNormals"
                     name="Normals">
        <ProxyGroupDomain name="group">
          <Group name="data_arrays" />
        </ProxyGroupDomain>
      </ProxyProperty>
    </Proxy>
    <Proxy class="vtkPVBox" name="Box">
      <InputProperty is_internal="1" name="Input" />
      <DoubleVectorProperty command="SetBounds"
                            default_values="0 1 0 1 0 1"
                            name="Bounds"
                            number_of_elements="6"></DoubleVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetPosition"
                            default_values="0.0 0.0 0.0"
                            name="Position"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetRotation"
                            default_values="0.0 0.0 0.0"
                            name="Rotation"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetScale"
                            default_values="1.0 1.0 1.0"
                            name="Scale"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <PropertyGroup label="Box Parameters" panel_widget="InteractiveBox">
        <Property function="Position" name="Position" />
        <Property function="Rotation" name="Rotation" />
        <Property function="Scale" name="Scale" />
        <Property function="PlaceWidget" name="Bounds" />
        <Property function="Input" name="Input" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="Input" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End of Box -->
    </Proxy>
    <Proxy class="vtkSphere" name="Sphere">
      <InputProperty is_internal="1" name="Input" />
      <DoubleVectorProperty command="SetCenter"
                            default_values="0 0 0"
                            name="Center"
                            number_of_elements="3">
        <BoundsDomain default_mode="mid" mode="normal" name="range">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetRadius"
                            default_values="1"
                            name="Radius"
                            number_of_elements="1">
        <BoundsDomain name="range" mode="scaled_extent" scale_factor="0.5" default_mode="max">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <PropertyGroup label="Sphere Parameters" panel_widget="InteractiveSphere">
        <Property function="Center" name="Center" />
        <Property function="Radius" name="Radius" />
        <Property function="Input" name="Input" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="Input" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End of Sphere -->
    </Proxy>
    <Proxy class="vtkPVCylinder" name="Cylinder">
      <InputProperty is_internal="1" name="Input" />
      <DoubleVectorProperty command="SetCenter"
                            default_values="0 0 0"
                            name="Center"
                            number_of_elements="3">
        <BoundsDomain default_mode="mid" mode="normal" name="range">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetAxis"
                            default_values="0. 1. 0."
                            name="Axis"
                            number_of_elements="3">
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetRadius"
                            default_values="0.5"
                            name="Radius"
                            number_of_elements="1">
        <BoundsDomain name="range" mode="scaled_extent" scale_factor="0.5" default_mode="max">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <PropertyGroup label="Cylinder Parameters" panel_widget="InteractiveCylinder">
        <Property function="Center" name="Center" />
        <Property function="Axis" name="Axis" />
        <Property function="Radius" name="Radius" />
        <Property function="Input" name="Input" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="Input" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End of Cylinder -->
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="transforms">
    <Proxy class="vtkTransform"
           name="Transform">
      <ProxyProperty command="SetMatrix"
                     name="MatrixProxy">
        <ProxyGroupDomain name="groups">
          <Group name="matrices" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <DoubleVectorProperty argument_is_array="1"
                            command="SetMatrix"
                            default_values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
                            name="Matrix"
                            number_of_elements="16" />
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="matrices">
    <Proxy class="vtkMatrix4x4"
           name="Matrix4x4">
      <DoubleVectorProperty argument_is_array="1"
                            command="DeepCopy"
                            default_values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
                            name="DeepCopy"
                            number_of_elements="16"></DoubleVectorProperty>
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="points">
    <Proxy class="vtkPoints"
           name="Points">
      <DoubleVectorProperty command="SetPoint"
                            name="Points"
                            number_of_elements="0"
                            number_of_elements_per_command="3"
                            repeat_command="1"
                            set_number_command="SetNumberOfPoints"
                            use_index="1" />
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="data_arrays">
    <Proxy class="vtkDoubleArray"
           name="DoubleArray">
      <DoubleVectorProperty command="SetValue"
                            name="Values"
                            number_of_elements="0"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            set_number_command="SetNumberOfValues"
                            use_index="1" />
      <IntVectorProperty command="SetNumberOfComponents"
                         default_values="1"
                         name="Components"
                         number_of_elements="1" />
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="internals">
    <Proxy class="vtkMPIMToNSocketConnection"
           name="MPIMToNSocketConnection"
           processes="dataserver|renderserver">
      <IntVectorProperty command="Initialize"
                         default_values="none"
                         is_internal="1"
                         name="WaitingProcess"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="DataServer"
                 value="2" />
          <Entry text="RenderServer"
                 value="3" />
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty command="SetPortInformation"
                            element_types="0 0 2"
                            name="Connections"
                            number_of_elements_per_command="3"
                            repeat_command="1"
                            set_number_command="SetNumberOfConnections">
                            </StringVectorProperty>
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="piecewise_functions">
    <TransferFunctionProxy class="vtkPiecewiseFunction"
           name="PiecewiseFunction"
           processes="client|renderserver|dataserver">
      <DoubleVectorProperty clean_command="RemoveAllPoints"
                            command="AddPoint"
                            default_values="0.0 0.0 0.5 0.0 1.0 1.0 0.5 0.0"
                            name="Points"
                            number_of_elements="8"
                            number_of_elements_per_command="4"
                            repeat_command="1"></DoubleVectorProperty>
      <IntVectorProperty command="SetAllowDuplicateScalars"
                         default_values="1"
                         name="AllowDuplicateScalars"
                         number_of_elements="1"
                         panel_visibility="never" >
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty default_values="0"
                         name="ScalarRangeInitialized"
                         number_of_elements="1"
                         panel_visibility="never" >
        <Documentation>
          Set to 1 to indicate that the scalar range has been initialized.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>
    </TransferFunctionProxy>
  </ProxyGroup>
  <ProxyGroup name="transfer_functions">
    <TransferFunctionProxy class="vtkColorTransferFunction"
                           name="ColorTransferFunction"
                           processes="client|renderserver|dataserver">
      <DoubleVectorProperty animateable="0"
                            clean_command="RemoveAllPoints"
                            command="AddRGBPoint"
                            name="RGBPoints"
                            number_of_elements_per_command="4"
                            repeat_command="1"></DoubleVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetColorSpace"
                         default_values="0"
                         name="ColorSpace"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="RGB"
                 value="0" />
          <Entry text="HSV"
                 value="1" />
          <Entry text="Lab"
                 value="2" />
          <Entry text="Diverging"
                 value="3" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetHSVWrap"
                         default_values="0"
                         name="HSVWrap"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
    </TransferFunctionProxy>
  </ProxyGroup>
  <ProxyGroup name="annotations">
    <Proxy class="vtkPVScalarBarActor"
           name="ScalarBarActor" >
      <ProxyProperty command="SetLookupTable"
                     name="LookupTable"
                     number_of_elements="1">
        <ProxyGroupDomain name="groups">
          <Group name="lookup_tables" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <IntVectorProperty animateable="0"
                         command="SetVisibility"
                         default_values="1"
                         name="Visibility"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <DoubleVectorProperty command="SetAspectRatio"
                            default_values="20"
                            name="AspectRatio"
                            number_of_elements="1">
        <DoubleRangeDomain min="0.001"
                           name="range" />
      </DoubleVectorProperty>
      <StringVectorProperty animateable="0"
                            command="SetTitle"
                            default_values="Name"
                            no_custom_default="1"
                            name="Title"
                            number_of_elements="1"></StringVectorProperty>
      <StringVectorProperty animateable="0"
                            command="SetComponentTitle"
                            default_values="Component"
                            no_custom_default="1"
                            name="ComponentTitle"
                            number_of_elements="1"></StringVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetTitleJustification"
                         default_values="1"
                         name="TitleJustification"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="Left"
                 value="0" />
          <Entry text="Centered"
                 value="1" />
          <Entry text="Right"
                 value="2" />
        </EnumerationDomain>
        <Documentation>Sets the justification of the title text with respect to the scalar color bar.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetAutomaticLabelFormat"
                         default_values="1"
                         name="AutomaticLabelFormat"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <StringVectorProperty animateable="0"
                            command="SetLabelFormat"
                            default_values="%-#6.3g"
                            name="LabelFormat"
                            number_of_elements="1">
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="AutomaticLabelFormat" function="boolean_invert" index="0" />
          </PropertyWidgetDecorator>
        </Hints>
      </StringVectorProperty>
      <IntVectorProperty command="SetNumberOfLabels"
                         default_values="5"
                         name="NumberOfLabels"
                         label="Maximum Number of Labels"
                         number_of_elements="1">
        <IntRangeDomain min="2"
                        name="range" />
      </IntVectorProperty>
      <IntVectorProperty command="SetAddRangeLabels"
                         number_of_elements="1"
                         default_values="1"
                         name="AddRangeLabels"
                         label="Add Range Labels">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <StringVectorProperty animateable="0"
                            command="SetRangeLabelFormat"
                            number_of_elements="1"
                            default_values="%4.3e"
                            name="RangeLabelFormat"
                            label="Range Label Format">
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="AddRangeLabels" function="boolean" index="0" />
          </PropertyWidgetDecorator>
        </Hints>
      </StringVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetDrawNanAnnotation"
                         default_values="0"
                         name="DrawNanAnnotation"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetDrawAnnotations"
                         default_values="1"
                         name="DrawAnnotations"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetAddRangeAnnotations"
                         default_values="0"
                         name="AddRangeAnnotations"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetAutomaticAnnotations"
                         default_values="0"
                         name="AutomaticAnnotations"
                         number_of_elements="1" >
        <BooleanDomain name="bool" />
        <Documentation>
          When set, annotations are automatically created according the number
          of colors shown on the scalar bar.
        </Documentation>
      </IntVectorProperty>
      <StringVectorProperty animateable="0"
                            command="SetNanAnnotation"
                            default_values="NaN"
                            name="NanAnnotation"
                            number_of_elements="1">
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="DrawNanAnnotation" function="boolean" index="0" />
          </PropertyWidgetDecorator>
        </Hints>
      </StringVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetDrawTickMarks"
                         default_values="1"
                         name="DrawTickMarks"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>Enable/disable drawing the color legend tick marks.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetDrawSubTickMarks"
                         default_values="1"
                         name="DrawSubTickMarks"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>Enable/disable drawing the color legend sub-tick marks.</Documentation>
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="DrawTickMarks" function="boolean" index="0" />
          </PropertyWidgetDecorator>
        </Hints>
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetDrawTickLabels"
                         default_values="1"
                         name="DrawTickLabels"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>Enable/disable drawing the color legend labels for tick marks.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty animateable="0"
                         command="SetTextPosition"
                         default_values="1"
                         name="TextPosition"
                         label="Tick and Annotation Positions"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="Ticks right/top, annotations left/bottom"
                 value="1" />
          <Entry text="Ticks left/bottom, annotations right/top"
                 value="0" />
        </EnumerationDomain>
        <Documentation>Determines where the tick labels are drawn.</Documentation>
      </IntVectorProperty>
      <!--label text property -->
      <SubProxy command="SetLabelTextProperty">
        <Proxy name="LabelTextProperty"
               proxygroup="properties"
               proxyname="TextProperty"></Proxy>
        <ExposedProperties>
          <Property exposed_name="LabelColor"
                    name="Color" />
          <Property exposed_name="LabelOpacity"
                    name="Opacity" />
          <Property exposed_name="LabelFontFamily"
                    name="FontFamily" />
          <Property exposed_name="LabelBold"
                    name="Bold" />
          <Property exposed_name="LabelItalic"
                    name="Italic" />
          <Property exposed_name="LabelShadow"
                    name="Shadow" />
          <Property exposed_name="LabelFontSize"
                    name="FontSize" />
        </ExposedProperties>
      </SubProxy>
      <!--annotation text property -->
      <SubProxy command="SetAnnotationTextProperty">
        <Proxy name="AnnotationTextProperty"
               proxygroup="properties"
               proxyname="TextProperty"></Proxy>
        <ShareProperties subproxy="LabelTextProperty" />
      </SubProxy>

      <!--title text property -->
      <SubProxy command="SetTitleTextProperty">
        <Proxy name="TitleTextProperty"
               proxygroup="properties"
               proxyname="TextProperty"></Proxy>
        <ExposedProperties>
          <Property exposed_name="TitleColor"
                    name="Color" />
          <Property exposed_name="TitleOpacity"
                    name="Opacity" />
          <Property exposed_name="TitleFontFamily"
                    name="FontFamily" />
          <Property exposed_name="TitleBold"
                    name="Bold" />
          <Property exposed_name="TitleItalic"
                    name="Italic" />
          <Property exposed_name="TitleShadow"
                    name="Shadow" />
          <Property exposed_name="TitleFontSize"
                    name="FontSize" />
        </ExposedProperties>
      </SubProxy>
    </Proxy>

    <!-- ================================================================== -->
    <Proxy name="GridAxes3DActor"
           class="vtkPVGridAxes3DActor"
           processes="client|dataserver|renderserver">
      <Documentation>
        GridAxes3DActor can be used to render a grid in a render view.
      </Documentation>

      <IntVectorProperty name="Visibility"
                         command="SetVisibility"
                         number_of_elements="1"
                         default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Show/hide the axes grid.
        </Documentation>
      </IntVectorProperty>

      <StringVectorProperty name="XTitle"
                            command="SetXTitle"
                            number_of_elements="1"
                            default_values="X Axis">
        <Documentation>
          Set the title string for X axis.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="YTitle"
                            command="SetYTitle"
                            number_of_elements="1"
                            default_values="Y Axis">
        <Documentation>
          Set the title string for Y axis.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ZTitle"
                            command="SetZTitle"
                            number_of_elements="1"
                            default_values="Z Axis">
        <Documentation>
          Set the title string for Z axis.
        </Documentation>
      </StringVectorProperty>

      <PropertyGroup label="Title Texts">
        <Property name="XTitle"/>
        <Property name="YTitle"/>
        <Property name="ZTitle"/>
      </PropertyGroup>

      <SubProxy command="SetXTitleTextProperty">
        <Proxy name="XTitleProperties" proxygroup="properties" proxyname="TextProperty" />
        <ExposedProperties>
          <Property exposed_name="XTitleColor" name="Color" />
          <Property exposed_name="XTitleOpacity" name="Opacity" />
          <Property exposed_name="XTitleFontFamily" name="FontFamily" />
          <Property exposed_name="XTitleBold" name="Bold" />
          <Property exposed_name="XTitleItalic" name="Italic" />
          <Property exposed_name="XTitleShadow" name="Shadow" />
          <Property exposed_name="XTitleFontSize" name="FontSize" default_values="12"/>
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="X Title Font Properties" panel_widget="FontEditor">
        <Property name="XTitleColor" function="Color"/>
        <Property name="XTitleFontFamily" function="Family"/>
        <Property name="XTitleBold" function="Bold" />
        <Property name="XTitleItalic" function="Italics"/>
        <Property name="XTitleFontSize" function="Size" />
        <Property name="XTitleShadow" function="Shadow" />
        <Property name="XTitleOpacity" function="Opacity" />
      </PropertyGroup>

      <SubProxy command="SetYTitleTextProperty">
        <Proxy name="YTitleProperties" proxygroup="properties" proxyname="TextProperty" />
        <ExposedProperties>
          <Property exposed_name="YTitleColor" name="Color" />
          <Property exposed_name="YTitleOpacity" name="Opacity" />
          <Property exposed_name="YTitleFontFamily" name="FontFamily" />
          <Property exposed_name="YTitleBold" name="Bold" />
          <Property exposed_name="YTitleItalic" name="Italic" />
          <Property exposed_name="YTitleShadow" name="Shadow" />
          <Property exposed_name="YTitleFontSize" name="FontSize" default_values="12"/>
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="Y Title Font Properties" panel_widget="FontEditor">
        <Property name="YTitleColor" function="Color"/>
        <Property name="YTitleFontFamily" function="Family"/>
        <Property name="YTitleBold" function="Bold" />
        <Property name="YTitleItalic" function="Italics"/>
        <Property name="YTitleFontSize" function="Size" />
        <Property name="YTitleShadow" function="Shadow" />
        <Property name="YTitleOpacity" function="Opacity" />
      </PropertyGroup>

      <SubProxy command="SetZTitleTextProperty">
        <Proxy name="ZTitleProperties" proxygroup="properties" proxyname="TextProperty" />
        <ExposedProperties>
          <Property exposed_name="ZTitleColor" name="Color" />
          <Property exposed_name="ZTitleOpacity" name="Opacity" />
          <Property exposed_name="ZTitleFontFamily" name="FontFamily" />
          <Property exposed_name="ZTitleBold" name="Bold" />
          <Property exposed_name="ZTitleItalic" name="Italic" />
          <Property exposed_name="ZTitleShadow" name="Shadow" />
          <Property exposed_name="ZTitleFontSize" name="FontSize" default_values="12"/>
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="Z Title Font Properties" panel_widget="FontEditor">
        <Property name="ZTitleColor" function="Color"/>
        <Property name="ZTitleFontFamily" function="Family"/>
        <Property name="ZTitleBold" function="Bold" />
        <Property name="ZTitleItalic" function="Italics"/>
        <Property name="ZTitleFontSize" function="Size" />
        <Property name="ZTitleShadow" function="Shadow" />
        <Property name="ZTitleOpacity" function="Opacity" />
      </PropertyGroup>

      <IntVectorProperty name="FacesToRender"
                         command="SetFaceMask"
                         number_of_elements="1"
                         default_values="63"
                         panel_widget="int_mask"
                         panel_visibility="advanced">
        <Documentation>
          Set the mask to select faces. The faces rendered will be a subset of the
          faces selected depending on the status of **CullBackface** and
          **CullFrontface** properties.
        </Documentation>
        <IntRangeDomain name="range" min="0" />
        <Hints>
          <Mask>
            <Item name="Min-YZ" value="1" />
            <Item name="Min-ZX" value="2" />
            <Item name="Min-XY" value="4" />
            <Item name="Max-YZ" value="8" />
            <Item name="Max-ZX" value="16" />
            <Item name="Max-XY" value="32" />
          </Mask>
        </Hints>
      </IntVectorProperty>

      <SubProxy command="SetProperty">
        <Proxy name="Property" class="vtkProperty" processes="client|dataserver|renderserver" >
          <IntVectorProperty name="CullBackface"
                             command="SetBackfaceCulling"
                             number_of_elements="1"
                             default_values="0"
                             panel_visibility="advanced">
            <BooleanDomain name="bool" />
            <Documentation>
              Set to true to hide faces of the grid facing away from the camera i.e. hide all
              back faces.
            </Documentation>
          </IntVectorProperty>

          <IntVectorProperty name="CullFrontface"
                             command="SetFrontfaceCulling"
                             number_of_elements="1"
                             default_values="1"
                             panel_visibility="advanced">
            <BooleanDomain name="bool" />
            <Documentation>
              Set to true to hide faces of the grid facing towards from the camera i.e. hide all
              front faces.
            </Documentation>
          </IntVectorProperty>

          <IntVectorProperty name="Representation"
                             command="SetRepresentation"
                             number_of_elements="1"
                             default_values="1">
          </IntVectorProperty>

          <DoubleVectorProperty default_values="1.0 1.0 1.0"
                                name="GridColor"
                                command="SetColor"
                                number_of_elements="3"
                                panel_widget="color_selector">
            <DoubleRangeDomain max="1 1 1" min="0 0 0" name="range" />
            <Documentation>Color used when coloring the grid wireframe</Documentation>
            <Hints>
              <GlobalPropertyLink type="ColorPalette" property="ForegroundColor" />
            </Hints>
          </DoubleVectorProperty>
        </Proxy>
        <ExposedProperties>
          <Property name="CullBackface" panel_visibility="advanced"/>
          <Property name="CullFrontface" panel_visibility="advanced"/>
          <Property name="GridColor" />
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="Face Properties">
        <Property name="FacesToRender" />
        <Property name="CullBackface" />
        <Property name="CullFrontface" />
        <Property name="GridColor"/>
      </PropertyGroup>

      <IntVectorProperty name="ShowGrid"
                         command="SetGenerateGrid"
                         number_of_elements="1"
                         default_values="0">
        <BooleanDomain name="bool"/>
        <Documentation>
          Turn off to not render the plane grids.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ShowEdges"
                         command="SetGenerateEdges"
                         number_of_elements="1"
                         default_values="1"
                         panel_visibility="advanced">
        <BooleanDomain name="bool"/>
        <Documentation>
          Turn off to not render the plane edges.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ShowTicks"
                         command="SetGenerateTicks"
                         number_of_elements="1"
                         default_values="1"
                         panel_visibility="advanced">
        <BooleanDomain name="bool"/>
        <Documentation>
          Turn off to not render the tick marks.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="AxesToLabel"
                         command="SetLabelMask"
                         number_of_elements="1"
                         default_values="63"
                         panel_widget="int_mask"
                         panel_visibility="advanced">
        <Documentation>
          Set the mask to select the axes to label. The axes labelled will be a subset of the
          axes selected depending on which faces are also being rendered.
        </Documentation>
        <IntRangeDomain name="range" min="0" />
        <Hints>
          <Mask>
            <Item name="Min-X" value="1" />
            <Item name="Min-Y" value="2" />
            <Item name="Min-Z" value="4" />
            <Item name="Max-X" value="8" />
            <Item name="Max-Y" value="16" />
            <Item name="Max-Z" value="32" />
          </Mask>
        </Hints>
      </IntVectorProperty>

      <IntVectorProperty name="LabelUniqueEdgesOnly"
                         command="SetLabelUniqueEdgesOnly"
                         number_of_elements="1"
                         default_values="1"
                         panel_visibility="advanced">
        <BooleanDomain name="bool" />
        <Documentation>
          Set to true to only label edges shared with 1 face. Note that
          if all faces are being rendered, this will generate no labels.
        </Documentation>
      </IntVectorProperty>

      <PropertyGroup label="Label Properties">
        <Property name="LabelUniqueEdgesOnly" />
        <Property name="AxesToLabel" />
      </PropertyGroup>

      <SubProxy command="SetXLabelTextProperty">
        <Proxy name="XLabelProperties" proxygroup="properties" proxyname="TextProperty" />
        <ExposedProperties>
          <Property exposed_name="XLabelColor" name="Color" />
          <Property exposed_name="XLabelOpacity" name="Opacity" />
          <Property exposed_name="XLabelFontFamily" name="FontFamily" />
          <Property exposed_name="XLabelBold" name="Bold" />
          <Property exposed_name="XLabelItalic" name="Italic" />
          <Property exposed_name="XLabelShadow" name="Shadow" />
          <Property exposed_name="XLabelFontSize" name="FontSize" default_values="12"/>
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="X Axis Label Font Properties" panel_widget="FontEditor">
        <Property name="XLabelColor" function="Color"/>
        <Property name="XLabelFontFamily" function="Family"/>
        <Property name="XLabelBold" function="Bold" />
        <Property name="XLabelItalic" function="Italics"/>
        <Property name="XLabelFontSize" function="Size" />
        <Property name="XLabelShadow" function="Shadow" />
        <Property name="XLabelOpacity" function="Opacity" />
      </PropertyGroup>

      <SubProxy command="SetYLabelTextProperty">
        <Proxy name="YLabelProperties" proxygroup="properties" proxyname="TextProperty" />
        <ExposedProperties>
          <Property exposed_name="YLabelColor" name="Color" />
          <Property exposed_name="YLabelOpacity" name="Opacity" />
          <Property exposed_name="YLabelFontFamily" name="FontFamily" />
          <Property exposed_name="YLabelBold" name="Bold" />
          <Property exposed_name="YLabelItalic" name="Italic" />
          <Property exposed_name="YLabelShadow" name="Shadow" />
          <Property exposed_name="YLabelFontSize" name="FontSize" default_values="12"/>
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="Y Axis Label Font Properties" panel_widget="FontEditor">
        <Property name="YLabelColor" function="Color"/>
        <Property name="YLabelFontFamily" function="Family"/>
        <Property name="YLabelBold" function="Bold" />
        <Property name="YLabelItalic" function="Italics"/>
        <Property name="YLabelFontSize" function="Size" />
        <Property name="YLabelShadow" function="Shadow" />
        <Property name="YLabelOpacity" function="Opacity" />
      </PropertyGroup>

      <SubProxy command="SetZLabelTextProperty">
        <Proxy name="ZLabelProperties" proxygroup="properties" proxyname="TextProperty" />
        <ExposedProperties>
          <Property exposed_name="ZLabelColor" name="Color" />
          <Property exposed_name="ZLabelOpacity" name="Opacity" />
          <Property exposed_name="ZLabelFontFamily" name="FontFamily" />
          <Property exposed_name="ZLabelBold" name="Bold" />
          <Property exposed_name="ZLabelItalic" name="Italic" />
          <Property exposed_name="ZLabelShadow" name="Shadow" />
          <Property exposed_name="ZLabelFontSize" name="FontSize" default_values="12"/>
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="Z Axis Label Font Properties" panel_widget="FontEditor">
        <Property name="ZLabelColor" function="Color"/>
        <Property name="ZLabelFontFamily" function="Family"/>
        <Property name="ZLabelBold" function="Bold" />
        <Property name="ZLabelItalic" function="Italics"/>
        <Property name="ZLabelFontSize" function="Size" />
        <Property name="ZLabelShadow" function="Shadow" />
        <Property name="ZLabelOpacity" function="Opacity" />
      </PropertyGroup>

      <IntVectorProperty name="XAxisNotation"
                         command="SetXNotation"
                         default_values="0"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <Documentation>
          Get/set the numerical notation, standard, scientific or mixed (0, 1, 2) for X Axis.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="Mixed" value="0" />
          <Entry text="Scientific" value="1" />
          <Entry text="Fixed" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty command="SetXPrecision"
                         default_values="2"
                         panel_visibility="advanced"
                         name="XAxisPrecision"
                         number_of_elements="1">
        <IntRangeDomain name="range" min="0"/>
        <Documentation>
          Get/set the numerical precision to use for the X Axis, default is 2.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty command="SetXUseCustomLabels"
                         default_values="0"
                         name="XAxisUseCustomLabels"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Specify whether to use custom labels for the X axis. Labels
          specified by **XAxisLabels** are used only when
          this flag is set to 1.
        </Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty name="XAxisLabels"
                            command="SetXLabel"
                            set_number_command="SetNumberOfXLabels"
                            number_of_elements="0"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            use_index="1" >
        <!-- used to trigger the display pqScalarValueListPropertyWidget -->
        <ArrayRangeDomain name="scalar_range"/>
        <Hints>
          <PropertyWidgetDecorator type="ShowWidgetDecorator">
            <Property name="XAxisUseCustomLabels" function="boolean" />
          </PropertyWidgetDecorator>
        </Hints>
      </DoubleVectorProperty>

      <PropertyGroup label="X Axis Label Properties">
        <Property name="XAxisNotation" />
        <Property name="XAxisPrecision" />
        <Property name="XAxisUseCustomLabels" />
        <Property name="XAxisLabels" />
      </PropertyGroup>

      <IntVectorProperty name="YAxisNotation"
                         command="SetYNotation"
                         default_values="0"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <Documentation>
          Get/set the numerical notation, standard, scientific or mixed (0, 1, 2) for Y Axis.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="Mixed" value="0" />
          <Entry text="Scientific" value="1" />
          <Entry text="Fixed" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty command="SetYPrecision"
                         default_values="2"
                         panel_visibility="advanced"
                         name="YAxisPrecision"
                         number_of_elements="1">
        <IntRangeDomain name="range" min="0"/>
        <Documentation>
          Get/set the numerical precision to use for the Y Axis, default is 2.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty command="SetYUseCustomLabels"
                         default_values="0"
                         name="YAxisUseCustomLabels"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Specify whether to use custom labels for the Y axis. Labels
          specified by **YAxisLabels** are used only when
          this flag is set to 1.
        </Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetYLabel"
                            set_number_command="SetNumberOfYLabels"
                            name="YAxisLabels"
                            number_of_elements="0"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            use_index="1">
        <!-- used to trigger the display pqScalarValueListPropertyWidget -->
        <ArrayRangeDomain name="scalar_range"/>
        <Hints>
          <PropertyWidgetDecorator type="ShowWidgetDecorator">
            <Property name="YAxisUseCustomLabels" function="boolean" />
          </PropertyWidgetDecorator>
        </Hints>
      </DoubleVectorProperty>

      <PropertyGroup label="Y Axis Label Properties">
        <Property name="YAxisNotation" />
        <Property name="YAxisPrecision" />
        <Property name="YAxisUseCustomLabels" />
        <Property name="YAxisLabels" />
      </PropertyGroup>

      <IntVectorProperty name="ZAxisNotation"
                         command="SetZNotation"
                         default_values="0"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <Documentation>
          Get/set the numerical notation, standard, scientific or mixed (0, 1, 2) for Z Axis.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="Mixed" value="0" />
          <Entry text="Scientific" value="1" />
          <Entry text="Fixed" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty command="SetZPrecision"
                         default_values="2"
                         panel_visibility="advanced"
                         name="ZAxisPrecision"
                         number_of_elements="1">
        <IntRangeDomain name="range" min="0"/>
        <Documentation>
          Get/set the numerical precision to use for the Z Axis, default is 2.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty command="SetZUseCustomLabels"
                         default_values="0"
                         name="ZAxisUseCustomLabels"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Specify whether to use custom labels for the Z axis. Labels
          specified by **ZAxisLabels** are used only when
          this flag is set to 1.
        </Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetZLabel"
                            set_number_command="SetNumberOfZLabels"
                            name="ZAxisLabels"
                            number_of_elements="0"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            use_index="1" >
        <!-- used to trigger the display pqScalarValueListPropertyWidget -->
        <ArrayRangeDomain name="scalar_range"/>
        <Hints>
          <PropertyWidgetDecorator type="ShowWidgetDecorator">
            <Property name="ZAxisUseCustomLabels" function="boolean" />
          </PropertyWidgetDecorator>
        </Hints>
      </DoubleVectorProperty>

      <PropertyGroup label="Z Axis Label Properties">
        <Property name="ZAxisNotation" />
        <Property name="ZAxisPrecision" />
        <Property name="ZAxisUseCustomLabels" />
        <Property name="ZAxisLabels" />
      </PropertyGroup>

      <DoubleVectorProperty name="DataScale"
                            command="SetDataScale"
                            number_of_elements="3"
                            default_values="1 1 1"
                            panel_visibility="advanced">
        <DoubleRangeDomain name="range" />
        <Documentation>
          If data is being scaled, you can show the original data bounds for the axes
          instead of the scaled bounds by setting the DataScale to match the scaling applied
          to the dataset.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
                                   mode="enabled_state"
                                   property="UseModelTransform"
                                   value="0"/>
          <!-- disable this when UseModelTransform is true -->
        </Hints>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="DataPosition"
                            command="SetDataPosition"
                            number_of_elements="3"
                            default_values="0 0 0"
                            panel_visibility="advanced">
        <DoubleRangeDomain name="range" />
        <Documentation>
          If data is being translated, you can show the original data bounds for the axes
          instead of the translated bounds by setting the DataPosition to match the
          translation applied to the dataset.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
                                   mode="enabled_state"
                                   property="UseModelTransform"
                                   value="0"/>
          <!-- disable this when UseModelTransform is true -->
        </Hints>
      </DoubleVectorProperty>

      <PropertyGroup label="Data Transform">
        <Property name="DataScale" />
        <Property name="DataPosition" />
      </PropertyGroup>

      <DoubleVectorProperty name="ModelTransformMatrix"
                            command="SetModelTransformMatrix"
                            number_of_elements="16"
                            default_values="1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1"
                            argument_is_array="1"
                            panel_visibility="never">
      </DoubleVectorProperty>
      <DoubleVectorProperty name="ModelBounds"
                            command="SetModelBounds"
                            number_of_elements="6"
                            default_values="0 1 0 1 0 1"
                            panel_visibility="never">
      </DoubleVectorProperty>
      <IntVectorProperty name="UseModelTransform"
                         command="SetUseModelTransform"
                         number_of_elements="1"
                         default_values="0"
                         panel_visibility="never">
        <BooleanDomain name="range" />
      </IntVectorProperty>
      <!-- End of 'GridAxes3DActor' -->
    </Proxy>

    <!-- ================================================================== -->
    <!-- End of ProxyGroup annotations -->
  </ProxyGroup>
  <ProxyGroup name="file_listing">
    <Proxy class="vtkPVFileInformationHelper"
           name="ServerFileListing">
      <IntVectorProperty command="GetActiveFileIsDirectory"
                         information_only="1"
                         name="ActiveFileIsDirectory">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <IntVectorProperty command="GetActiveFileIsReadable"
                         information_only="1"
                         name="ActiveFileIsReadable">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <StringVectorProperty command="SetPath"
                            name="ActiveFileName"
                            number_of_elements="1">
        <Documentation>Set the filename whose information we
        need.</Documentation>
      </StringVectorProperty>
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="locators">
    <Proxy class="vtkPKdTree"
           name="PKdTree">
      <!--
      <ProxyProperty name="DataSets"
                     command="AddDataSet"
                     remove_command="RemoveDataSet"/>
                     -->
      <IntVectorProperty command="SetMinCells"
                         default_values="0"
                         name="MinCells"
                         number_of_elements="1" />
      <Property command="OmitZPartitioning"
                name="OmitZPartitioning" />
      <Property command="BuildLocator"
                name="BuildLocator" />
      <ProxyProperty command="BuildLocatorFromPoints"
                     name="BuildLocatorFromPoints" />
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="selection_helpers">
    <Proxy class="vtkSelection"
           name="Selection"></Proxy>
    <SourceProxy class="vtkAnnotationLink"
                 name="AnnotationLink">
      <InputProperty command="SetInputConnection"
                     name="Input"
                     port_index="0">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkAnnotationLayers" />
          <DataType value="vtkSelection" />
        </DataTypeDomain>
      </InputProperty>
      <InputProperty command="SetInputConnection"
                     name="DomainMaps"
                     port_index="1">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkTable" />
        </DataTypeDomain>
      </InputProperty>
      <ProxyProperty command="SetAnnotations"
                     name="Annotations"></ProxyProperty>
      <OutputPort index="0"
                  name="Annotations" />
      <OutputPort index="1"
                  name="Domain Maps" />
      <OutputPort index="2"
                  name="Selection" />
    </SourceProxy>
  </ProxyGroup>
  <ProxyGroup name="extended_sources">
    <SourceProxy class="vtkLineSource"
                 label="Line Source"
                 name="LineSource">
      <DoubleVectorProperty animateable="1"
                            command="SetPoint1"
                            default_values="0.0 0.0 0.0"
                            name="Point1"
                            number_of_elements="3">
        <BoundsDomain default_mode="min"
                      mode="normal"
                      name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="DummyInput" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetPoint2"
                            default_values="0.0 0.0 0.0"
                            name="Point2"
                            number_of_elements="3">
        <BoundsDomain default_mode="max"
                      mode="normal"
                      name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="DummyInput" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <IntVectorProperty command="SetResolution"
                         default_values="6"
                         name="Resolution"
                         number_of_elements="1">
        <IntRangeDomain min="1"
                        name="range" />
      </IntVectorProperty>
      <InputProperty is_internal="1"
                     name="DummyInput">
        <!-- Used when this source is added to a proxy list domain. -->
      </InputProperty>
     <PropertyGroup label="Line Parameters" panel_widget="InteractiveLine">
          <Property function="Point1WorldPosition" name="Point1" />
          <Property function="Point2WorldPosition" name="Point2" />
          <Property function="Input" name="DummyInput" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="DummyInput" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End LineSource -->
    </SourceProxy>
    <SourceProxy class="vtkLineSource"
                 label="High Resolution Line Source"
                 name="HighResLineSource">
      <DoubleVectorProperty animateable="1"
                            command="SetPoint1"
                            default_values="0.0 0.0 0.0"
                            name="Point1"
                            number_of_elements="3">
        <BoundsDomain default_mode="min"
                      mode="normal"
                      name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="DummyInput" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetPoint2"
                            default_values="0.0 0.0 0.0"
                            name="Point2"
                            number_of_elements="3">
        <BoundsDomain default_mode="max"
                      mode="normal"
                      name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="DummyInput" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <IntVectorProperty command="SetResolution"
                         default_values="100"
                         name="Resolution"
                         number_of_elements="1">
        <IntRangeDomain min="1"
                        name="range" />
      </IntVectorProperty>
      <InputProperty is_internal="1" name="DummyInput">
        <!-- Used when this source is added to a proxy list domain. -->
      </InputProperty>
      <PropertyGroup label="Line Parameters" panel_widget="InteractiveLine">
          <Property function="Point1WorldPosition" name="Point1" />
          <Property function="Point2WorldPosition" name="Point2" />
          <Property function="Input" name="DummyInput" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="DummyInput" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End HighResLineSource -->
    </SourceProxy>
    <SourceProxy class="vtkPointSource"
                 label="Point Source"
                 name="PointSource">
      <DoubleVectorProperty animateable="1"
                            command="SetCenter"
                            default_values="0.0 0.0 0.0"
                            name="Center"
                            number_of_elements="3">
        <BoundsDomain default_mode="mid"
                      mode="normal"
                      name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="DummyInput" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <IntVectorProperty animateable="1"
                         command="SetNumberOfPoints"
                         default_values="100"
                         name="NumberOfPoints"
                         number_of_elements="1">
        <IntRangeDomain min="1"
                        name="range" />
      </IntVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetRadius"
                            default_values="1.0"
                            name="Radius"
                            number_of_elements="1">
        <BoundsDomain mode="scaled_extent"
                      name="range"
                      scale_factor="0.1">
          <RequiredProperties>
            <Property function="Input"
                      name="DummyInput" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <InputProperty is_internal="1"
                     name="DummyInput">
        <!-- Used when this source is added to a proxy list domain. -->
      </InputProperty>
      <PropertyGroup label="Sphere Parameters" panel_widget="InteractiveSphere">
        <Property function="Center" name="Center" />
        <Property function="Radius" name="Radius" />
        <Property function="Input" name="DummyInput" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="DummyInput" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End PointSource -->
    </SourceProxy>
    <SourceProxy class="vtkPointSource"
                 label="Fixed Radius Point Source"
                 name="FixedRadiusPointSource">
      <DoubleVectorProperty animateable="1"
                            command="SetCenter"
                            default_values="0.0 0.0 0.0"
                            name="Center"
                            number_of_elements="3">
        <BoundsDomain default_mode="mid"
                      mode="normal"
                      name="range">
          <RequiredProperties>
            <Property function="Input"
                      name="DummyInput" />
          </RequiredProperties>
        </BoundsDomain>
      </DoubleVectorProperty>
      <IntVectorProperty animateable="1"
                         command="SetNumberOfPoints"
                         default_values="1"
                         name="NumberOfPoints"
                         number_of_elements="1">
        <IntRangeDomain min="1"
                        name="range" />
      </IntVectorProperty>
      <DoubleVectorProperty animateable="1"
                            command="SetRadius"
                            default_values="0.0"
                            name="Radius"
                            number_of_elements="1">
        <DoubleRangeDomain min="0.0"
                           name="range" />
      </DoubleVectorProperty>
      <InputProperty is_internal="1"
                     name="DummyInput">
        <!-- Used when this source is added to a proxy list domain. -->
      </InputProperty>
      <PropertyGroup label="Sphere Parameters" panel_widget="InteractiveSphere">
        <Property function="Center" name="Center" />
        <Property function="Radius" name="Radius" />
        <Property function="Input" name="DummyInput" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="DummyInput" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End PointSource -->
    </SourceProxy>
    <Proxy class="vtkPVTransform"
           name="Transform2">
      <!--Transform proxy with unconventional interface, used by BoxWidget -->
      <DoubleVectorProperty command="SetAbsolutePosition"
                            default_values="0.0 0.0 0.0"
                            information_property="PositionInfo"
                            label="Translate"
                            name="Position"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="GetPosition"
                            default_values="0.0 0.0 0.0"
                            information_only="1"
                            name="PositionInfo"
                            number_of_elements="3">
        <SimpleDoubleInformationHelper />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetAbsoluteRotation"
                            default_values="0.0 0.0 0.0"
                            information_property="RotationInfo"
                            label="Rotate"
                            name="Rotation"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="GetOrientation"
                            default_values="0.0 0.0 0.0"
                            information_only="1"
                            name="RotationInfo"
                            number_of_elements="3">
        <SimpleDoubleInformationHelper />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetAbsoluteScale"
                            default_values="1.0 1.0 1.0"
                            information_property="ScaleInfo"
                            label="Scale"
                            name="Scale"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="GetScale"
                            default_values="1.0 1.0 1.0"
                            information_only="1"
                            name="ScaleInfo"
                            number_of_elements="3" />
    </Proxy>
    <Proxy class="vtkPVTransform"
           label="Transform"
           name="Transform3">
      <DoubleVectorProperty command="SetAbsolutePosition"
                            default_values="0.0 0.0 0.0"
                            information_property="PositionInfo"
                            label="Translate"
                            name="Position"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="GetAbsolutePosition"
                            default_values="0.0 0.0 0.0"
                            information_only="1"
                            name="PositionInfo"
                            number_of_elements="3" />
      <DoubleVectorProperty command="SetAbsoluteRotation"
                            default_values="0.0 0.0 0.0"
                            information_property="RotationInfo"
                            label="Rotate"
                            name="Rotation"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="GetAbsoluteRotation"
                            default_values="0.0 0.0 0.0"
                            information_only="1"
                            name="RotationInfo"
                            number_of_elements="3" />
      <DoubleVectorProperty command="SetAbsoluteScale"
                            default_values="1.0 1.0 1.0"
                            information_property="ScaleInfo"
                            label="Scale"
                            name="Scale"
                            number_of_elements="3">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="GetAbsoluteScale"
                            default_values="1.0 1.0 1.0"
                            information_only="1"
                            name="ScaleInfo"
                            number_of_elements="3" />
      <InputProperty is_internal="1" name="DummyInput" />
      <PropertyGroup panel_widget="InteractiveBox">
        <Property function="Position" name="Position" />
        <Property function="Rotation" name="Rotation" />
        <Property function="Scale" name="Scale" />
        <Property function="Input" name="DummyInput" />
      </PropertyGroup>
      <Hints>
         <ProxyList>
           <Link name="DummyInput" with_property="Input" />
         </ProxyList>
      </Hints>
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="misc">
    <DirectoryProxy class="vtkDirectory"
                    name="Directory"
                    processes="client|dataserver|renderserver">
    </DirectoryProxy>
    <DirectoryProxy class="vtkDirectory"
                    si_class="vtkSIDirectoryProxy"
                    name="ListDirectory"
                    processes="dataserver">

      <!-- Fake properties that will be filled by the vtkSIDirectoryProxy
           class in the pull request -->
      <StringVectorProperty name="FileList"      information_only="1"/>
      <StringVectorProperty name="DirectoryList" information_only="1"/>
    </DirectoryProxy>
    <Proxy class="vtkPVFileInformationHelper"
           name="FileInformationHelper">
      <StringVectorProperty command="SetPath"
                            name="Path" />
      <IntVectorProperty command="SetDirectoryListing"
                         default_values="0"
                         name="DirectoryListing"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetSpecialDirectories"
                         default_values="0"
                         name="SpecialDirectories"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <StringVectorProperty command="GetPathSeparator"
                            information_only="1"
                            name="PathSeparator"
                            number_of_elements="1">
        <SimpleStringInformationHelper />
      </StringVectorProperty>
      <StringVectorProperty command="SetWorkingDirectory"
                            default_values=""
                            name="WorkingDirectory"
                            number_of_elements="1">
        <Documentation>Override the working directory used to resolve relative
        paths.</Documentation>
      </StringVectorProperty>
      <!-- End of FileInformationHelper -->
    </Proxy>
    <Proxy class="vtkPVEnvironmentInformationHelper"
           name="EnvironmentInformationHelper">
      <StringVectorProperty command="SetVariable"
                            name="Variable" />
      <!-- End of FileInformationHelper -->
    </Proxy>
    <TimeKeeperProxy class="vtkSMTimeKeeper"
                     name="TimeKeeper"
                     processes="client">
      <Documentation>TimeKeeper is used to keep the pipeline time for the
      application. All views added to the timekeeper show the same time as that
      on the time keeper.</Documentation>
      <DoubleVectorProperty command="SetTime"
                            default_values="0"
                            name="Time"
                            number_of_elements="1"
                            precision="17"
                            state_ignored="1">
        <!-- state-ignored simply makes this property not be saved in the UndoRedo state -->
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty information_only="1"
                            name="TimestepValues">
        <Documentation>The timesteps currently available. This property does
        not have any information helper since vtkSMTimeKeeperProxy keeps this
        updated without any need to call
        UpdatePropertyInformation().</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0"
                            information_only="1"
                            name="TimeRange"
                            number_of_elements="2"
                            precision="17"
                            state_ignored="1">
        <!-- state-ignored simply makes this property not be saved in the UndoRedo state -->
        <Documentation>This is the time range. It's possible that there are no
        TimestepValues but there is a valid TimeRange since some sources may
        provide continuous time.</Documentation>
      </DoubleVectorProperty>
      <StringVectorProperty default_values="Time"
                            information_only="1"
                            name="TimeLabel"
                            number_of_elements="1"
                            state_ignored="1">
        <!-- state-ignored simply makes this property not be saved in the UndoRedo state -->
        <Documentation>This is the string that is used as label to eventually
        replace "time" by something else such as "frequency" or any user
        specific label that the user want to set to use a 4th dimension that is
        not time.</Documentation>
      </StringVectorProperty>
      <ProxyProperty argument_type="SMProxy"
                     command="AddView"
                     name="Views"
                     remove_command="RemoveView"
                     repeatable="1">
        <Documentation>Views with their view time linked with this time
        keeper.</Documentation>
      </ProxyProperty>
      <ProxyProperty argument_type="SMProxy"
                     command="AddTimeSource"
                     name="TimeSources"
                     remove_command="RemoveTimeSource"
                     repeatable="1">
        <Documentation>List of proxies that provide time. TimestepValues
        property has a set of timesteps provided by all the sources added to
        this property alone.</Documentation>
      </ProxyProperty>
      <ProxyProperty argument_type="SMProxy"
                     command="AddSuppressedTimeSource"
                     name="SuppressedTimeSources"
                     remove_command="RemoveSuppressedTimeSource"
                     repeatable="1">
        <Documentation>List of proxies that are to supressed i.e their times
          to be ignored.
        </Documentation>
      </ProxyProperty>
      <!-- End of TimeKeeper -->
    </TimeKeeperProxy>
    <PluginLoaderProxy class="vtkPVPluginLoader"
                       name="PluginLoader"
                       processes="dataserver|renderserver">
      <Documentation>Use this proxy to load a plugin remotely. This proxy has
      no properties that users can set. Only information-properties are
      provided that can be used to obtain various states.
      vtkSMPluginLoaderProxy has API that can be used to load plugins,
      configuration xmls etc.</Documentation>
      <IntVectorProperty command="GetLoaded"
                         information_only="1"
                         name="Loaded"></IntVectorProperty>
      <StringVectorProperty command="GetErrorString"
                            information_only="1"
                            name="ErrorString"></StringVectorProperty>
      <StringVectorProperty command="GetSearchPaths"
                            information_only="1"
                            name="SearchPaths"></StringVectorProperty>
      <!-- End of PluginLoader -->
    </PluginLoaderProxy>
    <Proxy class="vtkKdTreeManager"
           name="KdTreeManager">
      <ProxyProperty command="SetKdTree"
                     name="KdTree">
        <Documentation>Set the KdTree managed by this manager.</Documentation>
      </ProxyProperty>
      <ProxyProperty command="AddProducer"
                     name="Producers"
                     remove_command="RemoveProducer">
        <Documentation>Producers/algorithms producing data that needs to be
        distributed.</Documentation>
      </ProxyProperty>
      <ProxyProperty command="SetStructuredProducer"
                     name="StructuredProducer">
        <Documentation>The optional producer whose partitioning is used to
        build the KdTree.</Documentation>
      </ProxyProperty>
      <Property command="Update"
                name="Update"></Property>
      <!-- End of KdTreeManager -->
    </Proxy>
    <GlobalPropertiesProxy name="ColorPalette" label="Color Palette">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            label="Surface"
                            name="SurfaceColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used when solid coloring surfaces and faces.</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            label="Foreground"
                            name="ForegroundColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used for rendering elements like wireframes, points.</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            label="Edges"
                            name="EdgeColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>
          Color used for the edges when using 'Surface With Edges' representation.
        </Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            label="Text"
                            name="TextAnnotationColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used for text and other annotations.</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            label="Selection"
                            name="SelectionColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used for showing selected
        cells/points.</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.5 0.0 1.0"
                            label="Interactive Selection"
                            name="InteractiveSelectionColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used for showing interactive selection.</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 1.0 0.0"
                            label="Interactive Widget"
                            name="InteractiveWidgetColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used for showing interactive widget.</Documentation>
      </DoubleVectorProperty>
      <IntVectorProperty name="UseGradientBackground"
                         label="Use Gradient Background"
                         number_of_elements="1"
                         default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Enable gradient background.
        </Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty default_values="0.32 0.34 0.43"
                            label="Background"
                            name="BackgroundColor"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used as background for the view.</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.32 0.34 0.43"
                            label="Background 2"
                            name="BackgroundColor2"
                            number_of_elements="3"
                            panel_widget="color_selector">
        <DoubleRangeDomain max="1 1 1"
                           min="0 0 0"
                           name="range" />
        <Documentation>Color used as the 2nd color for gradient backgrounds.</Documentation>
        <Hints>
          <PropertyWidgetDecorator type="EnableWidgetDecorator">
            <Property name="UseGradientBackground" function="boolean" />
          </PropertyWidgetDecorator>
        </Hints>
      </DoubleVectorProperty>

      <PropertyGroup label="Selection">
        <Property name="SelectionColor" />
        <Property name="InteractiveSelectionColor" />
      </PropertyGroup>

      <PropertyGroup label="Background">
        <Property name="UseGradientBackground" />
        <Property name="BackgroundColor" />
        <Property name="BackgroundColor2" />
      </PropertyGroup>

      <Property name="LoadPalette"
        panel_widget="color_palette_selector">
        <Documentation>
          You can explicitly set the colors in the application's color palette
          above or you can load one of the predefined color palettes to
          initialize the active palette.
        </Documentation>
      </Property>
      <Hints>
        <UseDocumentationForLabels />
      </Hints>
      <!-- End of ColorPalette -->
    </GlobalPropertiesProxy>
    <Proxy class="vtkPolyDataMapper"
           name="GlobalMapperProperties"
           processes="client|renderserver">
      <Documentation>This proxy is useful for changing global mapper settings
      such as the coincident topology resolution setting on all rendering
      proceses.</Documentation>
      <IntVectorProperty command="SetResolveCoincidentTopology"
                         default_values="none"
                         name="Mode"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="Off"
                 value="0" />
          <Entry text="PolygonOffset"
                 value="1" />
          <Entry text="ShiftZBuffer"
                 value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetResolveCoincidentTopologyPolygonOffsetParameters"
                            default_values="none"
                            name="PolygonOffsetParameters"
                            number_of_elements="2">
        <Documentation>Used to set the polygon offset scale factor and units.
        Used when ResolveCoincidentTopology is set to PolygonOffset. These are
        global variables.</Documentation>
      </DoubleVectorProperty>
      <IntVectorProperty command="SetResolveCoincidentTopologyPolygonOffsetFaces"
                         default_values="none"
                         name="PolygonOffsetFaces"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>Used when ResolveCoincidentTopology is set to
        PolygonOffset. The polygon offset can be applied either to the solid
        polygonal faces or the lines/vertices. When set (default), the offset
        is applied to the faces otherwise it is applied to lines and vertices.
        This is a global variable.</Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetResolveCoincidentTopologyZShift"
                            default_values="none"
                            name="ZShift"
                            number_of_elements="1">
        <Documentation>Used to set the z-shift if ResolveCoincidentTopology is
        set to ShiftZBuffer. This is a global variable.</Documentation>
      </DoubleVectorProperty>
      <IntVectorProperty command="SetGlobalImmediateModeRendering"
                         default_values="none"
                         name="GlobalImmediateModeRendering"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>Turn on/off flag to control whether data is rendered
        using immediate mode or note. Immediate mode rendering tends to be
        slower but it can handle larger datasets. The default value is
        immediate mode off. If you are having problems rendering a large
        dataset you might want to consider using immediate more
        rendering.</Documentation>
      </IntVectorProperty>
      <!-- End of GlobalMapperProperties -->
    </Proxy>
    <Proxy class="vtkTimerLog"
           name="TimerLog"
           processes="client|dataserver|renderserver">
      <Documentation>This is a proxy used to control the timer log parameters
      on all processes. Note that since vtkTimerLog has loads of static ivar,
      most properties will affect all timer log instances.</Documentation>
      <Property command="ResetLog"
                name="ResetLog">
        <Documentation>Resets the log on all processes.</Documentation>
      </Property>
      <IntVectorProperty command="SetLogging"
                         default_values="none"
                         name="Enable">
        <EnumerationDomain name="enum" />
        <Documentation>Enables the timer-log on all processes.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetMaxEntries"
                         default_values="none"
                         name="MaxEntries">
        <Documentation>Set the maximum length for the log on all
        processes.</Documentation>
      </IntVectorProperty>
      <!-- End of TimerLog -->
    </Proxy>
    <ViewLayoutProxy name="ViewLayout"
                     processes="client">
      <Documentation>Proxy used to manage layout for mutliple
      views.</Documentation>
    </ViewLayoutProxy>
    <Proxy class="vtkViewLayout"
           name="InternalViewLayoutHelper"
           processes="renderserver">
      <Documentation>Proxy used to manage layout for mutliple
      views.</Documentation>
    </Proxy>
    <Proxy class="vtkPVRayCastPickingHelper"
           name="PickingHelper"
           processes="dataserver">
      <Documentation>Proxy used to pick a point of a surface
      mesh.</Documentation>
      <DoubleVectorProperty command="SetPointA"
                            default_values="0.0 0.0 0.0"
                            name="PointA"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty command="SetPointB"
                            default_values="0.0 0.0 1.0"
                            name="PointB"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty command="SetSnapOnMeshPoint"
                         default_values="0"
                         name="SnapOnMeshPoint"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <DoubleVectorProperty command="GetIntersection"
                            default_values="0.0 0.0 0.0"
                            information_only="1"
                            name="Intersection"
                            number_of_elements="3"></DoubleVectorProperty>
      <Property command="ComputeIntersection"
                name="Update"></Property>
      <ProxyProperty command="SetInput"
                     name="Input">
        <Documentation>The input from which the selection is
        extracted.</Documentation>
      </ProxyProperty>
      <ProxyProperty command="SetSelection"
                     name="Selection">
        <Documentation>The selection that is used to reduced the
        input.</Documentation>
      </ProxyProperty>
    </Proxy>
    <!-- End of group "misc" -->
  </ProxyGroup>
  <ProxyGroup name="palettes">
    <!-- ================================================================= -->
    <Proxy label="Default Background" name="DefaultBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.32 0.34 0.43"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="UseGradientBackground"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Print Background" name="PrintBackground">
      <DoubleVectorProperty default_values="0.0 0.0 0.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="UseGradientBackground"
                            number_of_elements="1"></IntVectorProperty>
      <!-- End of (palettes, Print) -->
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Gray Background" name="GrayBackground"
      base_proxygroup="palettes"  base_proxyname="DefaultBackground" />

    <!-- ================================================================= -->
    <Proxy label="White Background" name="WhiteBackground"
      base_proxygroup="palettes"  base_proxyname="PrintBackground" />

    <!-- ================================================================= -->
    <Proxy label="Black Background" name="BlackBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0 0 0"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="UseGradientBackground"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Gradient Background" name="GradientBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.32 0.34 0.43"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0 0 0.16"
                            name="BackgroundColor2"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="1"
                            name="UseGradientBackground"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- End of group "palettes" -->
  </ProxyGroup>
  <ProxyGroup name="exporters">
    <!-- Proxy group for exporters used to export views.  -->
    <RenderViewExporterProxy class="vtkX3DExporter"
                             file_extension="x3d"
                             name="X3DExporter">
      <Documentation long_help="Export X3D Files"
                     short_help="X3D Files">vtkX3DExporter is a render window
                     exporter which writes out the renderered scene into an X3D
                     file. X3D is an XML-based format for representation 3D
                     scenes (similar to VRML). Check out
                     http://www.web3d.org/x3d/ for more
                     details.</Documentation>
      <StringVectorProperty command="SetFileName"
                            name="FileName"
                            panel_visibility="never"
                            number_of_elements="1">
        <Documentation>Name of the file to be written.</Documentation>
      </StringVectorProperty>
      <!-- End of X3DExporter -->
    </RenderViewExporterProxy>
    <RenderViewExporterProxy base_proxygroup="exporters"
                             base_proxyname="X3DExporter"
                             class="vtkX3DExporter"
                             file_extension="x3db"
                             name="X3DExporterBinary">
      <Documentation>Binary x3d exporter</Documentation>
      <IntVectorProperty command="SetBinary"
                         default_values="1"
                         name="Binary"
                         panel_visibility="never"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>Turn on binary mode</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetFastest"
                         default_values="0"
                         name="Fastest"
                         panel_visibility="never"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>In binary mode use fastest instead of best
        compression.</Documentation>
      </IntVectorProperty>
    </RenderViewExporterProxy>
    <RenderViewExporterProxy class="vtkVRMLExporter"
                             file_extension="vrml"
                             name="VRMLExporter">
      <Documentation>Exporter to export a single render view to an VRML
      file.</Documentation>
      <StringVectorProperty command="SetFileName"
                            name="FileName"
                            panel_visibility="never"
                            number_of_elements="1">
        <Documentation>Name of the file to be written.</Documentation>
      </StringVectorProperty>
      <!-- End of VRMLExporter -->
    </RenderViewExporterProxy>
    <CSVExporterProxy class="vtkCSVExporter"
                      file_extension="csv"
                      name="CSVExporter">
      <Documentation>Exporter to export a single render view to an CSV
      file.</Documentation>
      <StringVectorProperty command="SetFileName"
                            name="FileName"
                            panel_visibility="never"
                            number_of_elements="1">
        <Documentation>Name of the file to be written.</Documentation>
      </StringVectorProperty>
      <IntVectorProperty command="SetFilterColumnsByVisibility"
                         default_values="0"
                         name="FilterColumnsByVisibility"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of VRMLExporter -->
    </CSVExporterProxy>
    <RenderViewExporterProxy class="vtkPOVExporter"
                             file_extension="pov"
                             name="POVExporter">
      <Documentation long_help="Export POV Ray Files"
                     short_help="POV Files">vtkPOVExporter is a render window
                     exporter which writes out the renderered scene into an POV
                     Ray file.</Documentation>
      <StringVectorProperty command="SetFileName"
                            name="FileName"
                            panel_visibility="never"
                            number_of_elements="1">
        <Documentation>Name of the file to be written.</Documentation>
      </StringVectorProperty>
      <!-- End of POVExporter -->
    </RenderViewExporterProxy>
    <RenderViewExporterProxy class="vtkCinemaExporter"
                             file_extension="json"
                             name="CinemaExporter">
      <Documentation long_help="Export view to a Cinema Database"
                     short_help="Cinema Database">CinemaExporter is a render window
                     exporter which writes out the renderered scene as a
                     Cinema database.</Documentation>
      <StringVectorProperty name="FileName"
                            command="SetFileName"
                            number_of_elements="1">
        <Documentation>Name of the file to be written.</Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ViewSelection"
                            command="SetViewSelection"
                            number_of_elements="1">
        <Documentation>Script string defining the view selection.</Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="TrackSelection"
                            command="SetTrackSelection"
                            number_of_elements="1">
        <Documentation>Script string defining the track selection.</Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ArraySelection"
                            command="SetArraySelection"
                            number_of_elements="1">
        <Documentation>Script string defining the arrays selected in an item.</Documentation>
      </StringVectorProperty>

      <PropertyGroup label="Cinema Configuration"
                     panel_widget="cinema_export_selector">
        <Property name="ViewSelection"/>
        <Property name="TrackSelection"/>
        <Property name="ArraySelection"/>
      </PropertyGroup>
      <!-- End of Cinema Exporter -->
    </RenderViewExporterProxy>
    <!-- GL2PS exporter, shared options between render and context views: -->
    <GL2PSExporterProxy class="not-used"
                        viewtype="none"
                        name="GL2PSExporterBase">
      <Documentation>Base API definition for all GL2PS vector graphic exporters.
      </Documentation>
      <StringVectorProperty command="SetFileName"
                            name="FileName"
                            panel_visibility="never"
                            number_of_elements="1">
        <Documentation>Name of the file to be written.</Documentation>
      </StringVectorProperty>
      <StringVectorProperty command="SetTitle"
                            name="SetTitle"
                            label="Plot title"
                            default_values="ParaView GL2PS Export"
                            number_of_elements="1">
      </StringVectorProperty>
      <IntVectorProperty command="SetCompress"
                         default_values="0"
                         name="SetCompress"
                         label="Compress output file"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetDrawBackground"
                         default_values="1"
                         name="SetDrawBackground"
                         label="Draw background"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetOcclusionCull"
                         default_values="1"
                         name="SetOcclusionCull"
                         label="Cull hidden primitives"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <DoubleVectorProperty command="SetLineWidthFactor"
                            default_values="0.714"
                            name="LineWidthFactor"
                            label="Line width scaling factor"
                            panel_visibility="advanced"
                            number_of_elements="1">
        <DoubleRangeDomain max="10"
                           min="0"
                           name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetPointSizeFactor"
                            default_values="0.714"
                            name="PointSizeFactor"
                            label="Point size scaling factor"
                            panel_visibility="advanced"
                            number_of_elements="1">
        <DoubleRangeDomain max="10"
                           min="0"
                           name="range" />
      </DoubleVectorProperty>
      <!-- End of "GL2PSExporterBase" -->
    </GL2PSExporterProxy>

    <!-- GL2PS exporter, additional render view options added: -->
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSExporterBase"
                        class="not-used"
                        viewtype="none"
                        name="GL2PSRenderViewExporterBase">
      <Documentation>Base API definition for all GL2PS render view exporters.
      </Documentation>
      <IntVectorProperty command="SetSort"
                         default_values="1"
                         name="SetSort"
                         label="GL2PS depth sort method"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="No sorting (fastest, poor)"
                 value="0" />
          <Entry text="Simple sorting (fast, good)"
                 value="1" />
          <Entry text="BSP sorting (slow, best)"
                 value="2" />
        </EnumerationDomain>
        <Documentation>Method of sorting 3D primitives.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetWrite3DPropsAsRasterImage"
                         default_values="1"
                         name="Write3DPropsAsRasterImage"
                         label="Rasterize 3D geometry"
                         number_of_elements="1">
        <Documentation>Export all 3D geometry as a rasterized image behind 2D
        geometry, which is still rendered as vector graphics.</Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetExcludeCubeAxesActorsFromRasterization"
                         default_values="1"
                         name="ExcludeCubeAxesActorsFromRasterization"
                         label="Don't rasterize cube axes"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <Documentation>If rasterizing 3D geometry, setting this option will
        export all cube axes actors as vector graphics.</Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of "GL2PSRenderViewExporterBase" -->
    </GL2PSExporterProxy>

    <!-- GL2PS exporter, additional context view options added: -->
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSExporterBase"
                        class="not-used"
                        viewtype="none"
                        name="GL2PSContextViewExporterBase">
      <Documentation>Base API definition for all GL2PS context view exporters.
      </Documentation>
      <!-- No sorting, preserve painter order: -->
      <IntVectorProperty command="SetSort"
                         default_values="0"
                         name="SetSort"
                         label="GL2PS depth sort method"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Method of sorting 3D primitives.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetWrite3DPropsAsRasterImage"
                         default_values="0"
                         name="Write3DPropsAsRasterImage"
                         label="Rasterize 3D geometry"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Export all 3D geometry as a rasterized image behind 2D
        geometry, which is still rendered as vector graphics.</Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetExcludeCubeAxesActorsFromRasterization"
                         default_values="1"
                         name="ExcludeCubeAxesActorsFromRasterization"
                         label="Don't rasterize cube axes"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>If rasterizing 3D geometry, setting this option will
        export all cube axes actors as vector graphics.</Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of "GL2PSContextViewExporterBase" -->
    </GL2PSExporterProxy>

    <!-- Actual render view GL2PS exporter proxies -->
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSRenderViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="ps"
                        viewtype="renderview"
                        name="GL2PSRenderViewExporterPS">
      <Documentation long_help="Export PostScript (PS) Files"
                     short_help="PS Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="0"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetPS3Shading"
                         default_values="1"
                         name="SetPS3Shading"
                         label="Use shfill shading operator"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="0"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSRenderViewExporterPS -->
    </GL2PSExporterProxy>
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSRenderViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="eps"
                        viewtype="renderview"
                        name="GL2PSRenderViewExporterEPS">
      <Documentation long_help="Export Encapsulated PostScript (EPS) Files"
                     short_help="EPS Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="0"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="1"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSRenderViewExporterEPS -->
    </GL2PSExporterProxy>
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSRenderViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="pdf"
                        viewtype="renderview"
                        name="GL2PSRenderViewExporterPDF">
      <Documentation long_help="Export Portable Document Format (PDF) Files"
                     short_help="PDF Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="1"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="2"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSRenderViewExporterPDF -->
    </GL2PSExporterProxy>
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSRenderViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="svg"
                        viewtype="renderview"
                        name="GL2PSRenderViewExporterSVG">
      <Documentation long_help="Export Scalable Vector Graphics (SVG) Files"
                     short_help="SVG Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="0"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="4"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSRenderViewExporterSVG -->
    </GL2PSExporterProxy>

    <!-- Actual context view GL2PS exporter proxies -->
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSContextViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="ps"
                        viewtype="contextview"
                        name="GL2PSContextViewExporterPS">
      <Documentation long_help="Export PostScript (PS) Files"
                     short_help="PS Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="0"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetPS3Shading"
                         default_values="1"
                         name="SetPS3Shading"
                         label="Use shfill shading operator"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="0"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSContextViewExporterPS -->
    </GL2PSExporterProxy>
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSContextViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="eps"
                        viewtype="contextview"
                        name="GL2PSContextViewExporterEPS">
      <Documentation long_help="Export Encapsulated PostScript (EPS) Files"
                     short_help="EPS Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="0"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="1"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSContextViewExporterEPS -->
    </GL2PSExporterProxy>
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSContextViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="pdf"
                        viewtype="contextview"
                        name="GL2PSContextViewExporterPDF">
      <Documentation long_help="Export Portable Document Format (PDF) Files"
                     short_help="PDF Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="1"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         panel_visibility="advanced"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="2"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSContextViewExporterPDF -->
    </GL2PSExporterProxy>
    <GL2PSExporterProxy base_proxygroup="exporters"
                        base_proxyname="GL2PSContextViewExporterBase"
                        class="vtkPVGL2PSExporter"
                        file_extension="svg"
                        viewtype="contextview"
                        name="GL2PSContextViewExporterSVG">
      <Documentation long_help="Export Scalable Vector Graphics (SVG) Files"
                     short_help="SVG Files">vtkPVGL2PSExporter is a render
                     window exporter which writes out the renderered scene into
                     a variety of vector graphics formats.</Documentation>
      <IntVectorProperty command="SetTextAsPath"
                         default_values="0"
                         name="SetTextAsPath"
                         label="Render text as paths"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty command="SetFileFormat"
                         default_values="4"
                         name="FileFormat"
                         panel_visibility="never"
                         number_of_elements="1">
        <Documentation>Set the output file format: 0: PostScript, 1:
        Encapsulated PostScript, 2: PDF, 3: TeX, 4: SVG</Documentation>
      </IntVectorProperty>
      <!-- End of GL2PSContextViewExporterSVG -->
    </GL2PSExporterProxy>

    <RenderViewExporterProxy name="WebGLExporter" class="vtkPVWebGLExporter"
                             file_extension="webgl">
       <StringVectorProperty name="FileName" command="SetFileName"
                             number_of_elements="1">
          <Documentation>Name of the file to write into</Documentation>
       </StringVectorProperty>
      <!-- End of WebGLExporter -->
    </RenderViewExporterProxy>

    <!-- End of "exporters" -->
  </ProxyGroup>
  <ProxyGroup name="point_placers">
    <Proxy class="not-used"
           name="PointPlacerBase">
      <Documentation>Base API definition for all point placers.</Documentation>
      <!-- End of "PointPlacerBase" -->
    </Proxy>
    <Proxy base_proxygroup="point_placers"
           base_proxyname="PointPlacerBase"
           class="vtkFocalPlanePointPlacer"
           name="FocalPlanePointPlacer"></Proxy>
    <Proxy base_proxygroup="point_placers"
           base_proxyname="PointPlacerBase"
           class="vtkBoundedPlanePointPlacer"
           name="BoundedPlanePointPlacer">
      <IntVectorProperty command="SetProjectionNormal"
                         default_values="2"
                         name="ProjectionNormal"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="XAxis"
                 value="0" />
          <Entry text="YAxis"
                 value="1" />
          <Entry text="ZAxis"
                 value="2" />
          <Entry text="Oblique"
                 value="3" />
        </EnumerationDomain>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetProjectionPosition"
                            default_values="0.0"
                            name="ProjectionPosition"
                            number_of_elements="1"></DoubleVectorProperty>
      <ProxyProperty clean_command="RemoveAllBoundingPlanes"
                     command="AddBoundingPlane"
                     name="BoundingPlanes"
                     number_of_elements_per_command="1"
                     repeat_command="1">
        <ProxyGroupDomain name="groups">
          <Group name="implicit_functions" />
        </ProxyGroupDomain>
        <ProxyListDomain name="proxy_list">
          <Proxy group="implicit_functions"
                 name="Plane" />
          <Proxy group="implicit_functions"
                 name="Box" />
        </ProxyListDomain>
      </ProxyProperty>
    </Proxy>
    <Proxy base_proxygroup="point_placers"
           base_proxyname="PointPlacerBase"
           class="vtkPolygonalSurfacePointPlacer"
           name="PolygonalSurfacePointPlacer"></Proxy>
  </ProxyGroup>
  <ProxyGroup name="contour_line_interpolators">
    <Proxy class="not-used"
           name="ContourLineInterpolatorBase">
      <Documentation>Base API definition for all contour line
      interpolators.</Documentation>
      <!-- End of "ContourLineInterpolatorBase" -->
    </Proxy>
    <Proxy base_proxygroup="contour_line_interpolators"
           base_proxyname="ContourLineInterpolatorBase"
           class="vtkBezierContourLineInterpolator"
           name="BezierContourLineInterpolator"></Proxy>
    <Proxy base_proxygroup="contour_line_interpolators"
           base_proxyname="ContourLineInterpolatorBase"
           class="vtkPolyDataContourLineInterpolator"
           name="PolyDataContourLineInterpolator"></Proxy>
    <Proxy base_proxygroup="contour_line_interpolators"
           base_proxyname="ContourLineInterpolatorBase"
           class="vtkPolygonalSurfaceContourLineInterpolator"
           name="PolygonalSurfaceContourLineInterpolator"></Proxy>
  </ProxyGroup>
  <ProxyGroup name="tile_helper">
    <Proxy class="vtkTileDisplayHelper"
           name="TileDisplayHelper"
           processes="renderserver">
      <Documentation>Helper proxy used to enable/disable server side tile image
      dump.</Documentation>
      <StringVectorProperty command="SetDumpImagePath"
                            default_values=""
                            name="DumpImagePath"
                            number_of_elements="1">
        <Documentation>Full Path + prefix file name. The image full path will
        be: ${DumpImagePath}-Tile${processId}.png</Documentation>
      </StringVectorProperty>
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="coprocessing">
    <LiveInsituLinkProxy name="LiveInsituLink" class="vtkLiveInsituLink"
      processes="dataserver">
      <Documentation>
        Proxy used to connect to Catalyst CoProcessor for live-data
        visualization.
      </Documentation>

      <IntVectorProperty name="InsituPort"
        command="SetInsituPort"
        number_of_elements="1"
        default_values="0">
      </IntVectorProperty>

      <IntVectorProperty name="ProcessType"
        command="SetProcessType"
        number_of_elements="1"
        default_values="0">
        <EnumerationDomain name="enum">
          <Entry text="Visualization" value="0" />
          <Entry text="Simulation" value="1" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="Hostname"
        command="SetHostname"
        number_of_elements="1"
        default_values="localhost">
      </StringVectorProperty>

      <IntVectorProperty name="SimulationPaused"
                         command="SetSimulationPaused"
                         default_values="0"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Pauses or continues the simulation.
        </Documentation>
      </IntVectorProperty>

      <Property name="Initialize" command="Initialize" />
      <Property name="LiveChanged" command="LiveChanged" />

    </LiveInsituLinkProxy>
  </ProxyGroup>

  <!-- Catalyst client only proxies, used to generate a coprocessing script
       and to modify writer filename and frequency through ParaView Live
  -->
  <!-- ================================================================= -->
  <ProxyGroup name="insitu_writer_parameters">
    <SourceProxy name="XMLPImageDataWriter" class="vtkPVNullSource"
      label="Parallel Image Data Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type" composite_data_supported="0">
            <DataType value="vtkImageData" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvti">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPImageDataWriter" />
     </Hints>
     <!-- End of XMLPImageDataWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPRectilinearGridWriter" class="vtkPVNullSource"
      label="Parallel Rectilinear Grid Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type" composite_data_supported="0">
            <DataType value="vtkRectilinearGrid" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvtr">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPRectilinearGridWriter" />
     </Hints>
     <!-- End of XMLRectilinearGridWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPStructuredGridWriter" class="vtkPVNullSource"
      label="Parallel Structured Grid Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkStructuredGrid" composite_data_supported="0"/>
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvts">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPStructuredGridWriter" />
     </Hints>
     <!-- End of XMLPStructuredGridWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPPolyDataWriter" class="vtkPVNullSource"
      label="Parallel PolyData Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type" composite_data_supported="0">
            <DataType value="vtkPolyData" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvtp">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPPolyDataWriter" />
     </Hints>
     <!-- End of XMLPPolyDataWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPUnstructuredGridWriter" class="vtkPVNullSource"
      label="Parallel UnstructuredGrid Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkUnstructuredGrid" composite_data_supported="0"/>
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvtu">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPUnstructuredGridWriter" />
     </Hints>
     <!-- End of XMLPUnstructuredGridWriter -->
    </SourceProxy>

    <SourceProxy name="XMLMultiBlockDataWriter" class="vtkPVNullSource"
      label="Parallel MultiBlockDataSet Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkMultiBlockDataSet" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.vtm">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLMultiBlockDataWriter" />
     </Hints>
     <!-- End of XMLMultiBlockDataWriter -->
    </SourceProxy>

    <SourceProxy name="XMLHierarchicalBoxDataWriter" class="vtkPVNullSource"
      label="Parallel Hierarchical Box Data Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkHierarchicalBoxDataSet" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.vth">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLHierarchicalBoxDataWriter" />
     </Hints>
     <!-- End of XMLHierarchicalBoxDataWriter -->
    </SourceProxy>

    <SourceProxy name="CSVWriter" class="vtkPVNullSource"
      label="CSV Table Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkTable" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.csv">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave32.png" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="CSVWriter" />
     </Hints>
     <!-- End of XMLHierarchicalBoxDataWriter -->
    </SourceProxy>

    <SourceProxy name="ADIOSWriter" class="vtkPVNullSource"
      label="VTK ADIOS Writer">
      <InputProperty name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain composite_data_supported="0"
                        name="input_type">
          <DataType value="vtkImageData" />
          <DataType value="vtkPolyData" />
          <DataType value="vtkUnstructuredGrid" />
        </DataTypeDomain>

        <Documentation>
          The input.
        </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
                            number_of_elements="1"
                            default_values="filename.vta">
      </StringVectorProperty>
      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <Hints>
        <!-- TODO: this doesn't work yet -->
        <PipelineIcon name=":pqComponents/pqSave32.png" />

        <!-- This will help us when exporting the script state -->
        <WriterProxy group="writers" name="ADIOSWriter" />
      </Hints>
      <!-- End of ADIOSWriter -->
    </SourceProxy>
  </ProxyGroup>

  <ProxyGroup name="pythontracing">
    <Proxy name="PythonTraceOptions">
      <Documentation>
        Options proxy used to prompt user for tracing options when starting trace.
      </Documentation>
      <IntVectorProperty name="PropertiesToTraceOnCreate"
        default_values="1"
        number_of_elements="1">
        <Documentation>
          Select which properties to save in trace
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="all properties" value="0" />
          <Entry text="any *modified* properties" value="1" />
          <Entry text="only *user-modified* properites" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty name="FullyTraceSupplementalProxies"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
        <Documentation>
          Fully trace supplemental objects, such as color maps, color bars, etc.
          when accessed the first time in trace.
        </Documentation>
      </IntVectorProperty>
      <IntVectorProperty name="ShowIncrementalTrace"
          default_values="0"
          number_of_elements="1">
          <BooleanDomain name="bool" />
          <Documentation>
            Show trace as it is being generated.
          </Documentation>
      </IntVectorProperty>
      <PropertyGroup label="General options">
        <Property name="PropertiesToTraceOnCreate" />
      </PropertyGroup>
      <PropertyGroup label="Color maps, color bar etc.">
        <Property name="FullyTraceSupplementalProxies" />
      </PropertyGroup>
      <PropertyGroup label="Miscellaneous">
        <Property name="ShowIncrementalTrace" />
      </PropertyGroup>
      <Hints>
        <UseDocumentationForLabels />
      </Hints>
    </Proxy>

    <Proxy name="PythonStateOptions">
      <Documentation>
        Options proxy used to prompt user for python state options.
      </Documentation>
      <IntVectorProperty name="PropertiesToTraceOnCreate"
        default_values="1"
        number_of_elements="1">
        <Documentation>
          Select which properties to save in state
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="all properties" value="0" />
          <Entry text="any *modified* properties" value="1" />
          <!--
              state cannot have this option since we don't know which properties
              are user-modified when saving state.
          <Entry text="only *user-modified* properites" value="2" />
          -->
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty name="SkipHiddenDisplayProperties"
          default_values="1"
          number_of_elements="1">
          <BooleanDomain name="bool"/>
          <Documentation>
            Skip displays properties/representations for elements hidden in a view.
          </Documentation>
      </IntVectorProperty>
      <PropertyGroup label="General options">
        <Property name="PropertiesToTraceOnCreate" />
        <Property name="SkipHiddenDisplayProperties" />
      </PropertyGroup>
      <Hints>
        <UseDocumentationForLabels />
      </Hints>
    </Proxy>
  </ProxyGroup>

</ServerManagerConfiguration>
