
<ServerManagerConfiguration>

  <ProxyGroup name="rendering">
    <!-- New proxy for modifying the lights in ParaView -->
    <!-- All the default domains/values where taken from the documention of LightKit -->
    <Proxy name="LightKit" class="vtkLightKit">
      <!-- Key Light -->
      <DoubleVectorProperty
        name="KeyLightWarmth"
        command="SetKeyLightWarmth"
        number_of_elements="1"
        default_values="0.60" >
        <DoubleRangeDomain name="range" min="0" max="1" resolution="0.01"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="KeyLightIntensity"
        command="SetKeyLightIntensity"
        number_of_elements="1"
        default_values="0.75" >
        <DoubleRangeDomain name="range" min="0" max="2" resolution="0.05"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="KeyLightElevation"
        command="SetKeyLightElevation"
        number_of_elements="1"
        default_values="50.0" >
        <DoubleRangeDomain name="range" min="0" max="90" resolution="1"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="KeyLightAzimuth"
        command="SetKeyLightAzimuth"
        number_of_elements="1"
        default_values="10.0" >
        <DoubleRangeDomain name="range" min="-90" max="90" resolution="1"/>
      </DoubleVectorProperty>
      <!-- Fill Light -->
      <DoubleVectorProperty
        name="FillLightWarmth"
        command="SetFillLightWarmth"
        number_of_elements="1"
        default_values="0.40" >
        <DoubleRangeDomain name="range" min="0" max="1" resolution="0.01"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="FillLightK:F Ratio"
        command="SetKeyToFillRatio"
        number_of_elements="1"
        default_values="3.0" >
        <DoubleRangeDomain name="range" min="1" max="15" resolution="0.1"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="FillLightElevation"
        command="SetFillLightElevation"
        number_of_elements="1"
        default_values="-75.0" >
        <DoubleRangeDomain name="range" min="-90" max="10" resolution="1"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="FillLightAzimuth"
        command="SetFillLightAzimuth"
        number_of_elements="1"
        default_values="-10.0" >
        <DoubleRangeDomain name="range" min="-90" max="90" resolution="1"/>
      </DoubleVectorProperty>
      <!-- Back Light -->
      <DoubleVectorProperty
        name="BackLightWarmth"
        command="SetBackLightWarmth"
        number_of_elements="1"
        default_values="0.50" >
        <DoubleRangeDomain name="range" min="0" max="1" resolution="0.01"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="BackLightK:B Ratio"
        command="SetKeyToBackRatio"
        number_of_elements="1"
        default_values="3.5" >
        <DoubleRangeDomain name="range" min="1" max="15" resolution="0.1"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="BackLightElevation"
        command="SetBackLightElevation"
        number_of_elements="1"
        default_values="0.0" >
        <DoubleRangeDomain name="range" min="-45" max="45" resolution="1"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="BackLightAzimuth"
        command="SetBackLightAzimuth"
        number_of_elements="1"
        default_values="110.0" >
        <DoubleRangeDomain name="range" min="60" max="170" resolution="1"/>
      </DoubleVectorProperty>    
      <!-- Head Light -->
      <DoubleVectorProperty
        name="HeadLightWarmth"
        command="SetHeadLightWarmth"
        number_of_elements="1"
        default_values="0.50" >
        <DoubleRangeDomain name="range" min="0" max="1" resolution="0.01"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="HeadLightK:H Ratio"
        command="SetKeyToHeadRatio"
        number_of_elements="1"
        default_values="3.0" >
        <DoubleRangeDomain name="range" min="1" max="15" resolution="0.1"/>
      </DoubleVectorProperty>
      <!-- Maintain Luminance -->
     <IntVectorProperty
        name="MaintainLuminance"
        command="SetMaintainLuminance"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
     </IntVectorProperty>
    </Proxy>
  </ProxyGroup>
   
  <ProxyGroup name="renderers">

    <Proxy name="Renderer" class="vtkRenderer">
      <!-- Renderer purposefully doesn't have an active camera property.
      Since the renderer is managed by RenderModule, it sets the camera
      in peculiar ways, and can't use a property for it -->
      <ProxyProperty 
        name="ViewProps" 
        command="AddViewProp"
        clean_command="RemoveAllViewProps"
        repeatable="1">
        <ProxyGroupDomain name="groups">
          <Group name="props" />
          <Group name="annotations" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty
        name="Erase"
        command="SetErase"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      
      <IntVectorProperty
        name="AutomaticLightCreation"
        command="SetAutomaticLightCreation"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      
      <IntVectorProperty
        name="Layer"
        command="SetLayer"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="1" max="100"/>
      </IntVectorProperty>

      <IntVectorProperty
        name="DepthPeeling"
        command="SetUseDepthPeeling"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <IntVectorProperty
        name="MaximumNumberOfPeels"
        command="SetMaximumNumberOfPeels"
        number_of_elements="1"
        default_values="4">
        <Documentation>
          In case of depth peeling, define the maximum number of peeling layers.
          Initial value is 4. A special value of 0 means no maximum limit. It
          has to be a positive value.
        </Documentation>
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

      <DoubleVectorProperty
        name="Background"
        command="SetBackground"
        number_of_elements="3"
        default_values="0 0 0" >
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty
         name="Viewport"
         command="SetViewport"
         number_of_elements="4"
         default_values="0 0 1 1"
         is_internal="1">
         <DoubleRangeDomain name="range" min="0 0 0 0" max="1 1 1 1" />
       </DoubleVectorProperty>

      <ProxyProperty name="Lights" 
                     command="AddLight"
                     clean_command="RemoveAllLights"
                     repeatable="1">
        <ProxyGroupDomain name="groups">
          <Group name="lights"/>
        </ProxyGroupDomain>
      </ProxyProperty>

    <!-- End Renderer -->
    </Proxy>

    <Proxy name="IceTRenderer" 
           base_proxygroup="renderers"
           base_proxyname="Renderer"
           class="vtkIceTRenderer">
    </Proxy>

  <!-- End of group "renderers" -->
  </ProxyGroup>

  <ProxyGroup name="lights">
    <Proxy name="Light" class="vtkLight">
      <DoubleVectorProperty
        name="LightAmbientColor"
        command="SetAmbientColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="LightSpecularColor"
        command="SetSpecularColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="LightDiffuseColor"
        command="SetDiffuseColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="LightIntensity"
        command="SetIntensity"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>
      <IntVectorProperty
        name="LightSwitch"
        command="SetSwitch"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      <IntVectorProperty
        name="LightType"
        command="SetLightType"
        number_of_elements="1"
        default_values="1">
        <EnumerationDomain name="enum">
          <Entry value="1" text="HeadLight" />
          <Entry value="2" text="CameraLight" />
          <Entry value="3" text="SceneLight" />
        </EnumerationDomain>
      </IntVectorProperty>
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="camera">
    <CameraProxy name="Camera" class="vtkCamera">
      <DoubleVectorProperty
        name="CameraPositionInfo"
        command="GetPosition"
        number_of_elements="3"
        information_only="1"
        default_values="0 0 1">
        <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>
      
      <DoubleVectorProperty
        name="CameraPosition"
        command="SetPosition"
        number_of_elements="3"
        information_property="CameraPositionInfo"
        immediate_update="1"
        default_values="0 0 1">
      </DoubleVectorProperty>
      
      <DoubleVectorProperty
        name="CameraFocalPointInfo"
        command="GetFocalPoint"
        number_of_elements="3"
        information_only="1"
        default_values="0 0 0">
        <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraFocalPoint"
        command="SetFocalPoint"
        number_of_elements="3"
        information_property="CameraFocalPointInfo"
        immediate_update="1"
        default_values="0 0 0">
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraViewUpInfo"
        command="GetViewUp"
        number_of_elements="3"
        information_only="1"
        default_values="0 1 0">
        <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraViewUp"
        command="SetViewUp"
        number_of_elements="3"
        information_property="CameraViewUpInfo"
        immediate_update="1"
        default_values="0 1 0">
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraViewAngleInfo"
        command="GetViewAngle"
        information_only="1">
        <SimpleDoubleInformationHelper />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraViewAngle"
        command="SetViewAngle"
        information_property="CameraViewAngleInfo"
        number_of_elements="1"
        immediate_update="1"
        default_values="30">
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraClippingRangeInfo"
        command="GetClippingRange"
        number_of_elements="2"
        information_only="1"
        default_values="0.01 1000.01">
        <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>
        
      <DoubleVectorProperty
        name="CameraClippingRange"
        command="SetClippingRange"
        number_of_elements="2"
        information_property="CameraClippingRangeInfo"
        immediate_update="1"
        default_values="0.01 1000.01">
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraParallelScale"
        command="SetParallelScale"
        information_property="CameraParallelScaleInfo"
        number_of_elements="1"
        default_values="1.0">
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="CameraParallelScaleInfo"
        command="GetParallelScale"
        number_of_elements="1"
        information_only="1"
        default_values="1.0" >
        <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="CameraParallelProjection"
        command="SetParallelProjection"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty
        name="EyeAngle"
        command="SetEyeAngle"
        number_of_elements="1"
        default_values="2.0">
        <DoubleRangeDomain name="range" min="0" />
      </DoubleVectorProperty>
    </CameraProxy> <!-- end of Camera Proxy -->
  </ProxyGroup>
    
  <ProxyGroup name="renderwindow">
    <!-- Proxy for renderwindow -->
    <Proxy name="RenderWindow" class="vtkRenderWindow">
      <ProxyProperty name="Renderer" command="AddRenderer" repeatable="1">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty
        name="StereoCapableWindow"
        command="SetStereoCapableWindow"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <IntVectorProperty
        name="StereoRender"
        command="SetStereoRender"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <IntVectorProperty name="StereoType"
        command="SetStereoType"
        number_of_elements="1"
        default_values="2">
        <EnumerationDomain name="enum">
          <Entry value="1" text="Crystal Eyes" />
          <Entry value="2" text="Red-Blue" />
          <Entry value="3" text="Interlaced" />
          <Entry value="4" text="Left" />
          <Entry value="5" text="Right" />
          <Entry value="6" text="Dresden" />
          <Entry value="7" text="Anaglyph" />
          <Entry value="8" text="Checkerboard" />
        </EnumerationDomain>
      </IntVectorProperty>


      <IntVectorProperty
        name="NumberOfLayers"
        command="SetNumberOfLayers"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" max="100"/>
      </IntVectorProperty>

      <IntVectorProperty
        name="OffScreenRendering"
        command="SetOffScreenRendering"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
         name="RenderWindowSizeInfo"
         command="GetSize"
         number_of_elements="2"
         information_only="1"
         default_values="0 0">
         <SimpleIntInformationHelper/>
      </IntVectorProperty>

      <IntVectorProperty
        name="MultiSamples"
        command="SetMultiSamples"
        number_of_elements="1"
        default_values="0">
      </IntVectorProperty>

      <IntVectorProperty
         name="RenderWindowSize"
         command="SetSize"
         number_of_elements="2"
         information_property="RenderWindowSizeInfo"
         default_values="400 400">
         <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>

      <IntVectorProperty name="AlphaBitPlanes"
                         command="SetAlphaBitPlanes"
                         number_of_elements="1"
                         default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <IntVectorProperty name="StencilCapable"
                         command="SetStencilCapable"
                         number_of_elements="1"
                         default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="mappers">
    <SourceProxy name="LabeledDataMapper" class="vtkLabeledDataMapper">
      <InputProperty name="Input" command="SetInputConnection">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        <InputArrayDomain name="input_array" 
          attribute_type="point">
        </InputArrayDomain>
      </InputProperty>

      <ProxyProperty
        name="LabelTextProperty"
        command="SetLabelTextProperty">
        <ProxyGroupDomain name="groups">
          <Group name="properties" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty
        name="LabelMode"
        command="SetLabelMode"
        animateable="0"
        number_of_elements="1"
        default_values="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="IDs" />
          <Entry value="1" text="Scalars" />
          <Entry value="2" text="Vectors" />
          <Entry value="3" text="Normals" />
          <Entry value="4" text="TCoords" />
          <Entry value="5" text="Tensors" />
          <Entry value="6" text="FieldData" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
        name="FieldDataArrayIndex"
        command="SetFieldDataArray"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

      <StringVectorProperty name="FieldDataArrayName"
        command="SetFieldDataName"
        number_of_elements="1">
        <ArrayListDomain name="array_list" 
          attribute_type="Scalars"
          input_domain_name="input_array">
          <RequiredProperties>
             <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <!-- End of LabeledDataMapper -->
    </SourceProxy>

    <Proxy name="MapperBase" class="not-used">
      <Documentation>
        Defines interface defined by vtkMapper. Don't instantiate directly.
      </Documentation>

      <ProxyProperty name="LookupTable" command="SetLookupTable">
        <ProxyGroupDomain name="groups">
          <Group name="lookup_tables"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty name="ScalarVisibility" 
        command="SetScalarVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="MapScalars" 
        command="SetColorMode"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <BooleanDomain name="bool"/>
        <Documentation>
          When set to true, LookupTable will always be used for scalar mapping
          even when scalars are unsigned chars. Otherwise, when upto 4 component
          unsigned chars are present, they will be directly used as colors.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty name="ScalarRange"
        command="SetScalarRange"
        number_of_elements="2"
        default_values="0 1"
        animateable="0"/>

      <IntVectorProperty name="ImmediateModeRendering" 
        command="SetImmediateModeRendering"
        number_of_elements="1"
        is_internal="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="InterpolateScalarsBeforeMapping"
        command="SetInterpolateScalarsBeforeMapping"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="UseLookupTableScalarRange"
        command="SetUseLookupTableScalarRange"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="ScalarMode"
        command="SetScalarMode"
        default_values="0"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="UsePointData"/>
          <Entry value="2" text="UseCellData"/>
          <Entry value="3" text="UsePointFieldData"/>
          <Entry value="4" text="UseCellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="ColorArray" 
        command="SelectColorArray" 
        number_of_elements="1"
        animateable="0"> 
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <ProxyProperty name="ClippingPlanes" 
                     command="AddClippingPlane"
                     repeat_command="1"
                     repeatable="1">
         <ProxyGroupDomain name="groups">
          <Group name="implicit_functions"/>
         </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty name="StaticMode"
        command="SetStatic"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
    </Proxy>

    <SourceProxy name="PolyDataMapper" class="vtkPolyDataMapper"
      base_proxygroup="mappers" base_proxyname="MapperBase">
      <InputProperty name="Input" command="SetInputConnection">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkPolyData"/>
        </DataTypeDomain>
      </InputProperty>

      <IntVectorProperty name="NumberOfSubPieces"
        command="SetNumberOfSubPieces"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1"/>
      </IntVectorProperty>
    </SourceProxy>

    <SourceProxy name="ProjectedTetrahedraMapper" 
      class="vtkProjectedTetrahedraMapper">
      <InputProperty
        name="Input"
        command="SetInputConnection">
        <!-- 
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        -->
        <DataTypeDomain name="input_type">
          <DataType value="vtkUnstructuredGrid"/>
        </DataTypeDomain>
      </InputProperty>
      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="3"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="PointData"/>
          <Entry value="2" text="CellData"/>
          <Entry value="3" text="PointFieldData"/>
          <Entry value="4" text="CellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty
        name="SelectScalarArray"
        command="SelectScalarArray"
        number_of_elements="1"
        animateable="0">
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>
    </SourceProxy>

    <SourceProxy name="HAVSVolumeMapper" 
      class="vtkHAVSVolumeMapper">
      <InputProperty
        name="Input"
        command="SetInputConnection">
        <!-- 
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        -->
        <DataTypeDomain name="input_type">
          <DataType value="vtkUnstructuredGrid"/>
        </DataTypeDomain>
      </InputProperty>
      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="3"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="PointData"/>
          <Entry value="2" text="CellData"/>
          <Entry value="3" text="PointFieldData"/>
          <Entry value="4" text="CellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty
        name="SelectScalarArray"
        command="SelectScalarArray"
        number_of_elements="1"
        animateable="0">
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>
    </SourceProxy>

    <Proxy name="DummyVolumeMapper">
      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="3"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="PointData"/>
          <Entry value="2" text="CellData"/>
          <Entry value="3" text="PointFieldData"/>
          <Entry value="4" text="CellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty
        name="SelectScalarArray"
        command="SelectScalarArray"
        number_of_elements="1"
        animateable="0">
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>
      <ProxyProperty name="RayCastFunction" command="SetRayCastFunction">
        <ProxyGroupDomain name="groups">
          <Group name="ugrid_raycast_functions"/>
        </ProxyGroupDomain>
      </ProxyProperty>
    </Proxy>

    <SourceProxy name="UnstructuredGridVolumeRayCastMapper" 
      class="vtkUnstructuredGridVolumeRayCastMapper">
      <InputProperty
        name="Input"
        command="SetInputConnection">
        <!-- 
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        -->
        <DataTypeDomain name="input_type">
          <DataType value="vtkUnstructuredGrid"/>
        </DataTypeDomain>
      </InputProperty>

      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="3"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="PointData"/>
          <Entry value="2" text="CellData"/>
          <Entry value="3" text="PointFieldData"/>
          <Entry value="4" text="CellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty
        name="SelectScalarArray"
        command="SelectScalarArray"
        number_of_elements="1"
        animateable="0">
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <ProxyProperty name="RayCastFunction" command="SetRayCastFunction">
        <ProxyGroupDomain name="groups">
          <Group name="ugrid_raycast_functions"/>
        </ProxyGroupDomain>
      </ProxyProperty>
    </SourceProxy>

    <SourceProxy name="UnstructuredGridVolumeZSweepMapper" 
      class="vtkUnstructuredGridVolumeZSweepMapper">
      <InputProperty
        name="Input"
        command="SetInputConnection">
        <!-- 
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        -->
        <DataTypeDomain name="input_type">
          <DataType value="vtkUnstructuredGrid"/>
        </DataTypeDomain>
      </InputProperty>
      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="3"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="PointData"/>
          <Entry value="2" text="CellData"/>
          <Entry value="3" text="PointFieldData"/>
          <Entry value="4" text="CellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty
        name="SelectScalarArray"
        command="SelectScalarArray"
        number_of_elements="1"
        animateable="0">
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>
    </SourceProxy>

    <SourceProxy name="FixedPointVolumeRayCastMapper"
      class="vtkFixedPointVolumeRayCastMapper">
      <InputProperty
        name="Input"
        command="SetInputConnection">
        <DataTypeDomain name="input_type">
          <DataType value="vtkImageData"/>
        </DataTypeDomain>
      </InputProperty>
      <StringVectorProperty
        name="SelectScalarArray"
        command="SelectScalarArray"
        number_of_elements="1"
        animateable="0">
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>
      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="3"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="PointData"/>
          <Entry value="2" text="CellData"/>
          <Entry value="3" text="PointFieldData"/>
          <Entry value="4" text="CellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty
        name="BlendMode"
        command="SetBlendMode"
        default_values="0"
        number_of_elements="1"
        animateable="0">
        <Documentation>
          Set the current blend mode. Default is Composite. MaximumIntensity is
          also known as MIP rendering.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry value="0" text="Composite"/>
          <Entry value="1" text="MaximumIntensity"/>
          <Entry value="2" text="MinimumIntensity"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
        name="LockSampleDistanceToInputSpacing"
        command="SetLockSampleDistanceToInputSpacing"
        default_values="1"
        number_of_elements="1"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of FixedPointVolumeRayCastMapper -->
    </SourceProxy>

    <SourceProxy name="ImageSliceMapper" class="vtkImageSliceMapper">
      <Documentation>
        Proxy for vtkImageMapper. We may need to change this to be a proxy for a
        new class, vtkPVImageMapper which can use different point data
        attributes as scalars in the image.
      </Documentation>

      <InputProperty
        name="Input"
        command="SetInputConnection">
        <DataTypeDomain name="input_type">
          <DataType value="vtkImageData"/>
        </DataTypeDomain>
      </InputProperty>

      <IntVectorProperty name="Slice"
        command="SetSlice"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Set the current slice number. Slice number is used to load a 2D slice
          from a 3D input image. If the input image is 2D, then the slice number
          if ignored. The direction of the slice is determined by SliceMode.
        </Documentation>
        <DimensionsDomain name="dims">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
            <Property name="SliceMode" function="Direction"/>
          </RequiredProperties>
        </DimensionsDomain>
      </IntVectorProperty>

      <IntVectorProperty name="SliceMode"
        command="SetSliceMode"
        number_of_elements="1"
        default_values="5">
        <Documentation>
          Determines the direction of slicing to obtain a 2D slice from a 3D
          image.
        </Documentation>
        <EnumerationDomain name="enum" >
          <Entry text="XY Plane" value="5" />
          <Entry text="YZ Plane" value="6" />
          <Entry text="XZ Plane" value="7" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="ScalarVisibility"
        command="SetScalarVisibility"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Set if scalar mapping must be used even when the input image data
          scalars are unsigned chars i.e. they can be directly rendered as
          color.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="ScalarMode"
        command="SetScalarMode"
        default_values="0"
        number_of_elements="1"
        animateable="0">
        <Documentation>
          Select where to find the scalars.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="UsePointData"/>
          <Entry value="2" text="UseCellData"/>
          <Entry value="3" text="UsePointFieldData"/>
          <Entry value="4" text="UseCellFieldData"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty 
        name="ColorArray" 
        command="SelectColorArray" 
        number_of_elements="1"
        animateable="0"> 
        <Documentation>
          Choose the name for the scalar array.
        </Documentation>
        <ArrayListDomain name="array_list" attribute_type="Scalars">
          <RequiredProperties>
            <Property name="Input" function="Input"/>
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <ProxyProperty
        name="LookupTable" command="SetLookupTable">
        <Documentation>
          Set the lookup table to use for scalar mapping.
        </Documentation>
        <ProxyGroupDomain name="groups">
          <Group name="lookup_tables"/>
        </ProxyGroupDomain>
      </ProxyProperty>

     <IntVectorProperty 
        name="MapScalars" 
        command="SetColorMode"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <BooleanDomain name="bool"/>
        <Documentation>
          When set to true, LookupTable will always be used for scalar mapping
          even when scalars are unsigned chars. Otherwise, when upto 4 component
          unsigned chars are present, they will be directly used as colors.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="UseXYPlane"
        command="SetUseXYPlane"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          When set, the image slice is always rendered in the XY plane (Z==0)
          irrespective of the image bounds. Default if Off.
        </Documentation>
      </IntVectorProperty>

    <!-- End of ImageSliceMapper -->
    </SourceProxy>

    <SourceProxy name="ScatterPlotMapper" class="vtkScatterPlotMapper"
                 base_proxygroup="mappers" base_proxyname="MapperBase">
      <InputProperty
        name="Input"
        command="SetInputConnection"
        multiple_input="1"
         port_index="0">
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataSet"/>
          <DataType value="vtkGraph"/>
        </DataTypeDomain>
      </InputProperty>

      <InputProperty
        name="GlyphInput"
        command="SetInputConnection"
        multiple_input="1"
         port_index="1">
        <DataTypeDomain name="input_type">
          <DataType value="vtkPolyData"/>
        </DataTypeDomain>
      </InputProperty>

      <StringVectorProperty name="XCoordsArray"
        command="SetXCoordsArray"
        number_of_elements="1"
        default_values="coord,Points,0">
        <Documentation>
          Set the array for the X coords array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="YCoordsArray"
        command="SetYCoordsArray"
        number_of_elements="1"
        default_values="coord,Points,1">
        <Documentation>
          Set the array for the Y coords array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ZCoordsArray"
        command="SetZCoordsArray"
        number_of_elements="1"
        default_values="coord,Points,2">
        <Documentation>
          Set the array for the Z coords array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ColorizeArray"
        command="SetColorArray"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array for the color array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphXScalingArray"
        command="SetGlyphXScalingArray"
        number_of_elements="1"
        default_values="coord,Points,0">
        <Documentation>
          Set the array for the glyph x scaling array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphYScalingArray"
        command="SetGlyphYScalingArray"
        number_of_elements="1"
        default_values="coord,Points,1">
        <Documentation>
          Set the array for the glyph y scaling array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphZScalingArray"
        command="SetGlyphZScalingArray"
        number_of_elements="1"
        default_values="coord,Points,2">
        <Documentation>
          Set the array for the glyph z scaling array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphSourceArray"
        command="SetGlyphSourceArray"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array for the glyph source array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphXOrientationArray"
        command="SetGlyphXOrientationArray"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array for the glyph x orientation array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphYOrientationArray"
        command="SetGlyphYOrientationArray"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array for the glyph y orientation array.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphZOrientationArray"
        command="SetGlyphZOrientationArray"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array for the glyph z orientation array.
        </Documentation>
      </StringVectorProperty>

      <IntVectorProperty name="ThreeDMode"
        command="SetThreeDMode"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="Colorize"
        command="SetColorize"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="GlyphMode"
        command="SetGlyphMode"
        default_values="0"
        number_of_elements="1"
        animateable="0">
        <IntRangeDomain name="range" min="0" max="15" />
<!--        
        <EnumerationDomain name="enum">
          <Entry value="0" text="NoGlyph"/>
          <Entry value="1" text="UseGlyph"/>
          <Entry value="2" text="ScaledGlyph"/>
          <Entry value="4" text="UseMultiGlyph"/>
          <Entry value="8" text="OrientedGlyph"/>
        </EnumerationDomain>
-->
      </IntVectorProperty>
 
     <IntVectorProperty
        name="ScalingArrayMode"
        command="SetScalingArrayMode"
        default_values="0"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Xc_Yc_Zc"/>
          <Entry value="1" text="Xc0_Xc1_Xc2"/>
          <Entry value="2" text="Xc_Xc_Xc"/>
        </EnumerationDomain>
      </IntVectorProperty>

     <IntVectorProperty
        name="ScaleMode"
        command="SetScaleMode"
        default_values="0"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="SCALE_BY_MAGNITUDE"/>
          <Entry value="1" text="SCALE_BY_COMPONENTS"/>
        </EnumerationDomain>
      </IntVectorProperty>
 
     <DoubleVectorProperty 
        name="ScaleFactor"
        command="SetScaleFactor"
        number_of_elements="1"
        default_values="1.">
     </DoubleVectorProperty>

     <IntVectorProperty
        name="OrientationMode"
        command="SetOrientationMode"
        default_values="0"
        number_of_elements="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="DIRECTION"/>
          <Entry value="1" text="ROTATION"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="NestedDisplayLists"
        command="SetNestedDisplayLists"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="ParallelToCamera"
        command="SetParallelToCamera"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      
    </SourceProxy>

  <!-- End of "mappers" -->  
  </ProxyGroup>

  <ProxyGroup name="ugrid_raycast_functions">
    <Proxy name="BunykRayCastFunction"
           class="vtkUnstructuredGridBunykRayCastFunction">
    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="textures">
    <SourceProxy name="Texture" class="vtkTexture">
      <InputProperty name="Input" command="SetInputConnection">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkImageData"/>
        </DataTypeDomain>
      </InputProperty>
    </SourceProxy>

    <ImageTextureProxy name="ImageTexture" class="vtkTexture">
      <Documentation>
        This is a proxy for a vtkTexture which also includes an image file
        reader. This reader can read an image of client/data server or render
        server and then transmit it to the client/render server where it will be
        used for texturing.
      </Documentation>
      <SubProxy>
        <Proxy name="Source" 
          proxygroup="sources" proxyname="NetworkImageSource" />
        <ExposedProperties>
          <Property name="FileName" />
          <Property name="SourceProcess" />
        </ExposedProperties>
      </SubProxy>
      <IntVectorProperty
        name="RestrictPowerOf2ImageSmaller"
        command="SetRestrictPowerOf2ImageSmaller"
        number_of_elements="1"
        default_values="0"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
    </ImageTextureProxy>
  </ProxyGroup>

  <ProxyGroup name="props">
    <Proxy name="Actor2D" class="vtkActor2D">
      <ProxyProperty
        name="Mapper"
        command="SetMapper">
        <ProxyGroupDomain name="groups">
          <Group name="mappers" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <DoubleVectorProperty
        name="Position"
        command="SetPosition"
        number_of_elements="2"
        default_values="0 0"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="Position2"
        command="SetPosition2"
        number_of_elements="2"
        default_values="1 1"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <!-- End of Actor2D -->
    </Proxy>

    <Proxy name="TextActor" class="vtkTextActor">
      <Documentation>
        Proxy for a text actor. Not to be used directly.
      </Documentation>

      <StringVectorProperty 
        name="Text" 
        command="SetInput" 
        number_of_elements="1"
        animateable="0"> 
      </StringVectorProperty>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty
        name="Position"
        command="SetPosition"
        number_of_elements="2"
        default_values="0 0"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      
      <IntVectorProperty name="TextScaleMode"
        command="SetTextScaleMode"
        number_of_elements="1"
        default_values="2"
        animateable="0">
        <EnumerationDomain>
          <Entry value="0" text="None" />
          <Entry value="1" text="Prop" />
          <Entry value="2" text="Viewport" />
        </EnumerationDomain>
      </IntVectorProperty>

      <ProxyProperty name="TextProperty"
        command="SetTextProperty">
        <ProxyGroupDomain name="groups">
          <Group name="properties"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <!-- End of TextActor -->
    </Proxy>
    
    <Proxy name="ActorBase" class="not-used">
      <Documentation>
        Defines interface for an actor. Don't instantiate this 
        proxy itself.
      </Documentation>
      <ProxyProperty
        name="Property"
        command="SetProperty"
        immediate_update="1">
        <ProxyGroupDomain name="groups">
          <Group name="properties"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty
        name="Mapper"
        command="SetMapper">
        <ProxyGroupDomain name="groups">
          <Group name="mappers" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <DoubleVectorProperty
        name="Position"
        command="SetPosition"
        number_of_elements="3"
        default_values="0 0 0"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="Scale"
        command="SetScale"
        number_of_elements="3"
        default_values="1 1 1"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="Orientation"
        command="SetOrientation"
        number_of_elements="3"
        default_values="0 0 0"
        animateable="1">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="Origin"
        command="SetOrigin"
        number_of_elements="3"
        default_values="0 0 0"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <IntVectorProperty
        name="Pickable"
        command="SetPickable"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <IntRangeDomain name="bool" />
      </IntVectorProperty>
      <!-- End of ActorBase -->
    </Proxy>

    <Proxy name="Actor" class="vtkActor"
      base_proxygroup="props" base_proxyname="ActorBase">
      <Documentation>
        Proxy for a vtkActor.
      </Documentation>
      <ProxyProperty
        name="Texture"
        command="SetTexture"
        null_on_empty="1" >
        <ProxyGroupDomain name="groups">
          <Group name="textures"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <!-- End of Actor -->
    </Proxy>

    <Proxy name="LODActor" class="vtkPVLODActor"
      base_proxygroup="props" base_proxyname="Actor">
      <ProxyProperty name="LODMapper" command="SetLODMapper">
        <ProxyGroupDomain name="groups">
          <Group name="mappers" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty name="EnableLOD"
        command="SetEnableLOD"
        number_of_elements="1"
        default_values="0"
        is_internal="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <!-- End of LODActor -->
    </Proxy>

    <Proxy name="LODVolume" class="vtkPVLODVolume"
      base_proxygroup="props" base_proxyname="ActorBase">
      <ProxyProperty name="LODMapper" command="SetLODMapper">
        <ProxyGroupDomain name="groups">
          <Group name="mappers" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty name="EnableLOD"
        command="SetEnableLOD"
        number_of_elements="1"
        default_values="0"
        is_internal="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of LODVolume -->
    </Proxy>

    <Proxy name="SliderRepresentation3D" class="vtkSliderRepresentation3D">
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

     <DoubleVectorProperty 
        name="Value"
        command="SetValue"
        number_of_elements="1"
        information_property="ValueInfo"
        default_values="0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="ValueInfo"
        command="GetValue"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

      <DoubleVectorProperty
        name="Point1"
        command="SetPoint1InWorldCoordinates"
        number_of_elements="3"
        default_values="-1.0 0.0 0.0">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="Point2"
        command="SetPoint2InWorldCoordinates"
        number_of_elements="3"
        default_values="1.0 0.0 0.0">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="MinimumValue"
        command="SetMinimumValue"
        number_of_elements="1"
        default_values="0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="MaximumValue"
        command="SetMaximumValue"
        number_of_elements="1"
        default_values="1">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>
    </Proxy>

    <Proxy name="HandleRepresentation"
           class="vtkPointHandleRepresentation3D">

     <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
     </IntVectorProperty>

     <DoubleVectorProperty 
        name="WorldPosition"
        command="SetWorldPosition"
        number_of_elements="3"
        argument_is_array="1"
        information_property="WorldPositionInfo"
        default_values="0 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="WorldPositionInfo"
        command="GetWorldPosition"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

<!--
     <Property
       name="OnInteraction"
       command="OnInteraction"
       update_self="1">
     </Property>

     <Property
       name="OnEndInteraction"
       command="OnEndInteraction"
       update_self="1">
     </Property>
-->

     <ProxyProperty name="Renderer" command="SetRenderer">
       <ProxyGroupDomain name="groups">
         <Group name="renderers"/>
       </ProxyGroupDomain>
     </ProxyProperty>
    </Proxy>
        
    <Proxy name="LineRepresentation"
           class="vtkLineRepresentation">

     <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
     </IntVectorProperty>

     <DoubleVectorProperty 
        name="Point1WorldPosition"
        command="SetPoint1WorldPosition"
        number_of_elements="3"
        argument_is_array="1"
        information_property="Point1WorldPositionInfo"
        default_values="0 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Point1WorldPositionInfo"
        command="GetPoint1WorldPosition"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Point2WorldPosition"
        command="SetPoint2WorldPosition"
        number_of_elements="3"
        argument_is_array="1"
        information_property="Point2WorldPositionInfo"
        default_values="0 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Point2WorldPositionInfo"
        command="GetPoint2WorldPosition"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Point1DisplayPosition"
        command="SetPoint1DisplayPosition"
        number_of_elements="3"
        argument_is_array="1"
        information_property="Point1DisplayPositionInfo"
        default_values="0 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Point1DisplayPositionInfo"
        command="GetPoint1DisplayPosition"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Point2DisplayPosition"
        command="SetPoint2DisplayPosition"
        number_of_elements="3"
        argument_is_array="1"
        information_property="Point2DisplayPositionInfo"
        default_values="0 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Point2DisplayPositionInfo"
        command="GetPoint2DisplayPosition"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="PlaceWidget"
        is_internal="1"
        command="PlaceWidget"
        number_of_elements="6"
        argument_is_array="1"
        default_values="0 1 0 1 0 1">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>
      
     <DoubleVectorProperty name="LineColor"
        command="SetLineColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
     </DoubleVectorProperty>

     <ProxyProperty name="Renderer" command="SetRenderer">
       <ProxyGroupDomain name="groups">
         <Group name="renderers"/>
       </ProxyGroupDomain>
     </ProxyProperty>
    </Proxy>

    <DistanceRepresentation2DProxy name="DistanceRepresentation2D" class="vtkDistanceRepresentation2D">

     <IntVectorProperty name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
     </IntVectorProperty>

     <DoubleVectorProperty name="Point1WorldPosition"
        command="SetPoint1WorldPosition"
        number_of_elements="3"
        argument_is_array="1"
        information_property="Point1WorldPositionInfo"
        default_values="0 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty name="Point1WorldPositionInfo"
        command="GetPoint1WorldPosition"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

     <DoubleVectorProperty name="Point2WorldPosition"
        command="SetPoint2WorldPosition"
        number_of_elements="3"
        argument_is_array="1"
        information_property="Point2WorldPositionInfo"
        default_values="1 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty name="Point2WorldPositionInfo"
        command="GetPoint2WorldPosition"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>
     
     <DoubleVectorProperty 
        name="PlaceWidget"
        is_internal="1"
        command="PlaceWidget"
        number_of_elements="6"
        argument_is_array="1"
        default_values="0 1 0 1 0 1">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <ProxyProperty name="Renderer" command="SetRenderer">
       <ProxyGroupDomain name="groups">
         <Group name="renderers"/>
       </ProxyGroupDomain>
     </ProxyProperty>
     <!-- End of DistanceRepresentation2D -->
    </DistanceRepresentation2DProxy>

    <ImplicitPlaneRepresentationProxy 
           name="ImplicitPlaneRepresentation" 
           class="vtkImplicitPlaneRepresentation">
     <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
     </IntVectorProperty>

     <IntVectorProperty
        name="DrawPlane"
        command="SetDrawPlane"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
     </IntVectorProperty>

     <DoubleVectorProperty 
        name="Origin"
        command="SetOrigin"
        number_of_elements="3"
        information_property="OriginInfo"
        default_values="0 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="OriginInfo"
        command="GetOrigin"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="Normal"
        command="SetNormal"
        number_of_elements="3"
        information_property="NormalInfo"
        default_values="1 0 0">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="NormalInfo"
        command="GetNormal"
        information_only="1">
        <SimpleDoubleInformationHelper/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="PlaceWidget"
        is_internal="1"
        command="PlaceWidget"
        number_of_elements="6"
        argument_is_array="1"
        default_values="0 1 0 1 0 1">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <DoubleVectorProperty 
        name="PlaceFactor"
        command="SetPlaceFactor"
        number_of_elements="1"
        default_values="1.2">
        <DoubleRangeDomain name="range"/>
     </DoubleVectorProperty>

     <Property
       name="OnInteraction"
       command="OnInteraction"
       update_self="1">
     </Property>

     <Property
       name="OnEndInteraction"
       command="OnEndInteraction"
       update_self="1">
     </Property>

     <ProxyProperty name="Renderer" command="SetRenderer">
       <ProxyGroupDomain name="groups">
         <Group name="renderers"/>
       </ProxyGroupDomain>
     </ProxyProperty>
    </ImplicitPlaneRepresentationProxy>

    <BoxRepresentationProxy name="BoxRepresentation" class="vtkBoxRepresentation">
      <Documentation>
        Proxy for vtkBoxRepresentation. Don't confuse this with the
        vtkSMRepresentation proxy for the box widget (which is the
        BoxWidgetRepresentation).
      </Documentation>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty 
        name="PlaceWidget"
        command="PlaceWidget"
        number_of_elements="6"
        argument_is_array="1"
        default_values="0 1 0 1 0 1">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
        name="PlaceFactor"
        command="SetPlaceFactor"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0.01" />
      </DoubleVectorProperty>

      <ProxyProperty name="Renderer" command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <SubProxy>
        <Proxy name="Transform"
          proxygroup="transforms" proxyname="Transform2">
        </Proxy>
        <ExposedProperties>
          <Property name="Position" /> 
          <Property name="PositionInfo" /> 
          <Property name="Rotation" /> 
          <Property name="RotationInfo" /> 
          <Property name="Scale" /> 
          <Property name="ScaleInfo" /> 
        </ExposedProperties>
      </SubProxy>

      <!-- End of BoxRepresentation -->
    </BoxRepresentationProxy>

    <Proxy name="SphereRepresentation" class="vtkSphereRepresentation">
      <Documentation>
        Proxy for vtkSphereRepresentation. Don't confuse this with the
        vtkSMRepresentation proxy for the sphere widget (which is the
        SphereWidgetRepresentation).
      </Documentation>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty 
        name="PlaceWidget"
        command="PlaceWidget"
        number_of_elements="6"
        argument_is_array="1"
        default_values="0 1 0 1 0 1">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
        name="PlaceFactor"
        command="SetPlaceFactor"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0.01" />
      </DoubleVectorProperty>

      <ProxyProperty name="Renderer" command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty name="Representation"
        command="SetRepresentation"
        number_of_elements="1"
        default_values="1">
        <Documentation>
           Set the representation (i.e., appearance) of the sphere. Different
            representations are useful depending on the application. 
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="Off" value="0" />
          <Entry text="Wireframe" value="1" />
          <Entry text="Surface" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>

      <DoubleVectorProperty name="Center"
        command="SetCenter"
        number_of_elements="3"
        default_values="0.0 0.0 0.0"
        information_property="CenterInfo">
        <DoubleRangeDomain name="range" />
        <Documentation>
           The center position of the sphere. Note that this may
           adjust the direction from the handle to the center, as well as
           the radius of the sphere.
        </Documentation>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="CenterInfo"
        command="GetCenter"
        information_only="1" >
        <SimpleDoubleInformationHelper /> 
      </DoubleVectorProperty>

      <DoubleVectorProperty name="Radius"
        command="SetRadius"
        number_of_elements="1"
        default_values="0.5"
        information_property="RadiusInfo">
        <DoubleRangeDomain name="range" min="0.0" />
        <Documentation>
          The radius of sphere. Default is 0.5. Note that this may
          modify the position of the handle based on the handle direction.
        </Documentation>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="RadiusInfo"
        command="GetRadius"
        information_only="1" >
        <SimpleDoubleInformationHelper /> 
      </DoubleVectorProperty>

      <IntVectorProperty name="HandleVisibility"
        command="SetHandleVisibility"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          The handle sits on the surface of the sphere and may be moved around
          the surface by picking (left mouse) and then moving. The position
          of the handle can be retrieved, this is useful for positioning 
          cameras and lights. By default, the handle is turned off.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="HandleText"
        command="SetHandleText"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Enable/disable a label that displays the location of the handle in
          spherical coordinates (radius,theta,phi). The two angles, theta and
          phi, are displayed in degrees. Note that phi is measured from the
          north pole down towards the equator; and theta is the angle around 
          the north/south axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="RadialLine"
        command="SetRadialLine"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Enable/disable a radial line segment that joins the center of the
          outer sphere and the handle.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty name="HandleDirection"
        number_of_elements="3"
        default_values="0 0 1">
        <Documentation>
          Set/Get the direction vector of the handle relative to the center of
          the sphere. This may affect the position of the handle and the radius
          of the sphere.
        </Documentation>
      </DoubleVectorProperty>

      <!-- End of SphereRepresentation -->
    </Proxy>

    <Proxy name="ScalarBarRepresentation" 
           class="vtkScalarBarRepresentation">

      <IntVectorProperty
         name="Visibility"
         command="SetVisibility"
         number_of_elements="1"
         default_values="1"
         animateable="1">
         <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty 
         name="Position"
         command="SetPosition"
         number_of_elements="2"
         information_property="PositionInfo"
         default_values="0.87 0.25">
         <DoubleRangeDomain name="range" min="0 0" max="1 1"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
         name="PositionInfo"
         command="GetPosition"
         information_only="1">
         <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
         name="Position2"
         command="SetPosition2"
         number_of_elements="2"
         information_property="Position2Info"
         default_values="0.13 0.5">
         <DoubleRangeDomain name="range" min="0 0" max="1 1"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
         name="Position2Info"
         command="GetPosition2"
         information_only="1">
         <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="Orientation"
        command="SetOrientation"
        number_of_elements="1"
        information_property="OrientationInfo"
        default_values="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Horizontal"/>
          <Entry value="1" text="Vertical"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
        name="OrientationInfo"
        command="GetOrientation"
        information_only="1" >
        <SimpleIntInformationHelper />
      </IntVectorProperty>

      <ProxyProperty name="Renderer" command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <ProxyProperty name="ScalarBarActor" command="SetScalarBarActor">
        <ProxyGroupDomain name="groups">
          <Group name="annotations"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <!-- End of ScalarBarRepresentation -->
    </Proxy>

    <Proxy name="TextRepresentation" 
           class="vtkTextRepresentation">

      <IntVectorProperty
         name="Visibility"
         command="SetVisibility"
         number_of_elements="1"
         default_values="1"
         animateable="1">
         <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty 
         name="Position"
         command="SetPosition"
         number_of_elements="2"
         information_property="PositionInfo"
         default_values="0.05 0.05">
         <DoubleRangeDomain name="range" min="0 0" max="1 1"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
         name="PositionInfo"
         command="GetPosition"
         information_only="1">
         <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
         name="Position2"
         command="SetPosition2"
         number_of_elements="2"
         information_property="Position2Info"
         default_values="0.1 0.1">
         <DoubleRangeDomain name="range" min="0 0" max="1 1"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty 
         name="Position2Info"
         command="GetPosition2"
         information_only="1">
         <SimpleDoubleInformationHelper/>
      </DoubleVectorProperty>

      <StringVectorProperty
         name="Text"
         command="SetText"
         immediate_update="1"
         default_values="Some Default">
      </StringVectorProperty>
      
      <IntVectorProperty
        name="WindowLocation"
        command="SetWindowLocation"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="AnyLocation"/>
          <Entry value="1" text="LowerLeftCorner"/>
          <Entry value="2" text="LowerRightCorner"/>
          <Entry value="3" text="LowerCenter"/>
          <Entry value="4" text="UpperLeftCorner"/>
          <Entry value="5" text="UpperRightCorner"/>
          <Entry value="6" text="UpperCenter"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <ProxyProperty name="Renderer" command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <ProxyProperty name="TextActor" command="SetTextActor">
        <ProxyGroupDomain name="groups">
          <Group name="props"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <!-- End of TextRepresentation -->
    </Proxy>

    <Proxy name="WidgetRepresentation"
           class="vtkWidgetRepresentation">
      <ProxyProperty name="Renderer" command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty
         name="NeedToRender"
         command="SetNeedToRender"
         number_of_elements="1"
         default_values="1"
         animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty
         name="HandleSize"
         command="SetHandleSize"
         number_of_elements="1"
         default_values="5.0">
        <DoubleRangeDomain name="range" min="0.001" max="1000"/>
      </DoubleVectorProperty>
      
      <DoubleVectorProperty
         name="PlaceFactor"
         command="SetPlaceFactor"
         number_of_elements="1"
         default_values="0.5">
        <DoubleRangeDomain name="range" min="0.01"/>
      </DoubleVectorProperty>
      <!-- End of WidgetRepresentation -->
    </Proxy>

    <Proxy name="SplineRepresentation" class="vtkSplineRepresentation">
      <Documentation>
        Proxy for vtkSplineRepresentation. Don't use directly since it's not
        coupled with the widget. Use "SplineWidgetRepresentation" instead which
        include this representation as well as the widget to modify the
        representation.
      </Documentation>

      <IntVectorProperty name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty name="PlaceWidget"
        command="PlaceWidget"
        number_of_elements="6"
        argument_is_array="1"
        default_values="0 1 0 1 0 1">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="PlaceFactor"
        command="SetPlaceFactor"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0.01" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="HandlePositions"
        command="SetHandlePosition"
        set_number_command="SetNumberOfHandles"
        use_index="1"
        repeat_command="1"
        number_of_elements_per_command="3"
        number_of_elements="6"
        default_values="0 0 0 1 0 0"
        information_property="HandlePositionsInfo" >
      </DoubleVectorProperty>

      <DoubleVectorProperty name="HandlePositionsInfo"
        command="GetHandlePositions"
        information_only="1">
        <DoubleArrayInformationHelper />
      </DoubleVectorProperty>

      <IntVectorProperty name="Closed"
        command="SetClosed"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty name="LineColor"
        command="SetLineColor"
        number_of_elements="3"
        default_values="1.0 1.0 0.0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>

      <!-- End of SplineRepresentation -->
    </Proxy>
    
    <Proxy name="ContourRepresentationBase" class="not-used">
      <Documentation>
        Defines interface defined by vtkContourRepresentation. Don't instantiate directly.
      </Documentation>

      <IntVectorProperty name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty name="PlaceWidget"
        command="PlaceWidget"
        number_of_elements="6"
        argument_is_array="1"
        default_values="0 1 0 1 0 1">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="PlaceFactor"
        command="SetPlaceFactor"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0.01" />
      </DoubleVectorProperty>

      <IntVectorProperty name="ClosedLoop"
        command="SetClosedLoop"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      
      <IntVectorProperty
         name="ClosedLoopInfo"
         command="GetClosedLoop"
         number_of_elements="1"
         information_only="1"
         default_values="0">
        <SimpleIntInformationHelper/>
      </IntVectorProperty>

      <ProxyProperty
        name="PointPlacer"
        command="SetPointPlacer">
        <ProxyGroupDomain name="groups">
          <Group name="point_placers" />
        </ProxyGroupDomain>
      </ProxyProperty>
      
      <ProxyProperty
        name="LineInterpolator"
        command="SetLineInterpolator">
        <ProxyGroupDomain name="groups">
          <Group name="contour_line_interpolators" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <DoubleVectorProperty
        name="NodePositions"
        command="AddNodeAtWorldPosition"
        repeat_command="1"
        number_of_elements_per_command="3">
      </DoubleVectorProperty>
      
      <IntVectorProperty
        name="SelectNodes"
        command="SetNthNodeSelected"
        repeat_command="1"
        number_of_elements_per_command="1">
      </IntVectorProperty>

      <IntVectorProperty name="ShowSelectedNodes"
        command="SetShowSelectedNodes"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <Property name="ClearAllNodes" command="ClearAllNodes" />

      <!-- End of ContourRepresentationBase -->
    </Proxy>
    
    <Proxy name="OrientedGlyphContourRepresentation" class="vtkOrientedGlyphContourRepresentation"
           base_proxygroup="props" base_proxyname="ContourRepresentationBase">
      <Documentation>
        Proxy for vtkOrientedGlyphContourRepresentation. Don't use directly since it's not
        coupled with the widget. Use "ContourWidgetRepresentation" instead which
        include this representation as well as the widget to modify the
        representation.
      </Documentation>

      <DoubleVectorProperty name="LineColor"
        command="SetLineColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>
      
      <IntVectorProperty name="AlwaysOnTop"
        command="SetAlwaysOnTop"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>      
      <!-- End of OrientedGlyphContourRepresentation -->
    </Proxy>

    <Proxy name="CubeAxesActor" class="vtkCubeAxesActor">
      <Documentation>
        Proxy for vtkCubeAxesActor.
      </Documentation>

      <ProxyProperty name="Property"
        command="SetProperty"
        immediate_update="1">
        <Documentation>
          Set the property used to determine the appearance of the axes.
        </Documentation>
      </ProxyProperty>

      <IntVectorProperty name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this actor.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="Pickable"
        command="SetPickable"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>


      <DoubleVectorProperty name="Bounds"
        command="SetBounds"
        number_of_elements="6"
        default_values="0 1 0 1 0 1">
        <Documentation>
          Set the bounds for this cube axes.
        </Documentation>

        <DoubleRangeDomain />
      </DoubleVectorProperty>

      <IntVectorProperty name="FlyMode"
        command="SetFlyMode"
        number_of_elements="1"
        default_values="1">
        <EnumerationDomain name="enum">
          <Entry text="Outer Edges" value="0" />
          <Entry text="Closest Triad" value="1" />
          <Entry text="Furthest Triad" value="2" />
          <Entry text="Static Triad" value="3" />
          <Entry text="Static Edges" value="4" />
        </EnumerationDomain>
        <Documentation>
          Specify a mode to control how the axes are drawn: either static, 
          closest triad, furthest triad or outer edges in relation to the 
          camera position.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="Inertia"
        command="SetInertia"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
        <Documentation>
          Set the inertial factor that controls how often (i.e, how
          many renders) the axes can switch position (jump from one axes 
          to another).
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty name="CornerOffset"
        command="SetCornerOffset"
        number_of_elements="1"
        default_values="0.0">
        <DoubleRangeDomain name="range" />
        <Documentation>
          Specify an offset value to "pull back" the axes from the corner at
          which they are joined to avoid overlap of axes labels. The 
          "CornerOffset" is the fraction of the axis length to pull back.
        </Documentation>
      </DoubleVectorProperty>

      <StringVectorProperty name="XTitle"
        command="SetXTitle"
        number_of_elements="1"
        default_values="X-Axis">
        <Documentation>
          Set the title for the X axis.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="YTitle"
        command="SetYTitle"
        number_of_elements="1"
        default_values="Y-Axis">
        <Documentation>
          Set the title for the Y axis.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ZTitle"
        command="SetZTitle"
        number_of_elements="1"
        default_values="Z-Axis">
        <Documentation>
          Set the title for the Z axis.
        </Documentation>
      </StringVectorProperty>

      <IntVectorProperty  name="XAxisVisibility"
        command="SetXAxisVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if X axis is visible.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="YAxisVisibility"
        command="SetYAxisVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if Y axis is visible.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="ZAxisVisibility"
        command="SetZAxisVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if Z axis is visible.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="XAxisTickVisibility"
        command="SetXAxisTickVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if ticks are visible on the X axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="YAxisTickVisibility"
        command="SetYAxisTickVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if ticks are visible on the Y axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="ZAxisTickVisibility"
        command="SetZAxisTickVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if ticks are visible on the Z axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="XAxisMinorTickVisibility"
        command="SetXAxisMinorTickVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if minor ticks are visible on the X axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="YAxisMinorTickVisibility"
        command="SetYAxisMinorTickVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if minor ticks are visible on the Y axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty  name="ZAxisMinorTickVisibility"
        command="SetZAxisMinorTickVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          Specify if minor ticks are visible on the Z axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="XGridLines"
        command="SetDrawXGridlines"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Specify if grid lines are drawn parallel to X axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="YGridLines"
        command="SetDrawYGridlines"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Specify if grid lines are drawn parallel to Y axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ZGridLines"
        command="SetDrawZGridlines"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Specify if grid lines are drawn parallel to Z axis.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="TickLocation"
        command="SetTickLocation"
        number_of_elements="1"
        default_values="0">
        <EnumerationDomain name="enum">
          <Entry text="Inside" value="0" />
          <Entry text="Outside" value="1" />
          <Entry text="Both" value="2" />
        </EnumerationDomain>
        <Documentation>
          Set the location of tick marks.
        </Documentation>
      </IntVectorProperty>
      <!-- End of CubeAxesActor -->
    </Proxy>

    <!-- =========================================================== -->
    <Proxy name="LegendScaleActor" class="vtkLegendScaleActor">
      <Documentation>
        This is a proxy for vtkLegendScaleActor. vtkLegendScaleActor can be used
        to annotate the render window with scale and distance information.
      </Documentation>

      <IntVectorProperty name="LabelMode"
        command="SetLabelMode"
        number_of_elements="1"
        default_values="1">
        <EnumerationDomain name="enum">
          <Entry text="Distance" value="0" />
          <Entry text="XY Coordinates" value="1" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="LegendVisibility"
        command="SetLegendVisibility"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty name="CornerOffsetFactor"
        command="SetCornerOffsetFactor"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="1.0" max="5.0" />
      </DoubleVectorProperty>
      
      <IntVectorProperty name="RightAxisVisibility"
        command="SetRightAxisVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="TopAxisVisibility"
        command="SetTopAxisVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="LeftAxisVisibility"
        command="SetLeftAxisVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="BottomAxisVisibility"
        command="SetBottomAxisVisibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of LegendScaleActor -->
    </Proxy>

    <!-- End of group "props" -->
  </ProxyGroup>

  <ProxyGroup name="properties">
    <Proxy name="TextProperty" class="vtkTextProperty">
      <DoubleVectorProperty
        name="Color"
        command="SetColor"
        number_of_elements="3"
        argument_is_array="1"
        default_values="1.0 1.0 1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="Opacity"
        command="SetOpacity"
        number_of_elements="1"
        default_values="1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0.0" max="1.0" />
      </DoubleVectorProperty>

      <IntVectorProperty
        name="FontFamily"
        command="SetFontFamily"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Arial"/>
          <Entry value="1" text="Courier"/>
          <Entry value="2" text="Times"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
        name="Bold"
        command="SetBold"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      
      <IntVectorProperty
        name="Italic"
        command="SetItalic"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <IntVectorProperty
        name="Shadow"
        command="SetShadow"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <IntVectorProperty
        name="FontSize"
        command="SetFontSize"
        number_of_elements="1"
        default_values="18"
        animateable="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>
      
      <DoubleVectorProperty name="Orientation"
        command="SetOrientation"
        number_of_elements="1"
        default_values="0"
        animateable="0">
      </DoubleVectorProperty>

      <DoubleVectorProperty name="LineOffset"
        command="SetLineOffset"
        number_of_elements="1"
        default_values="0"
        animateable="0">
      </DoubleVectorProperty>

      <IntVectorProperty name="Justification"
        command="SetJustification"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Left"/>
          <Entry value="1" text="Center"/>
          <Entry value="2" text="Right"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="VerticalJustification"
        command="SetVerticalJustification"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Bottom"/>
          <Entry value="1" text="Center"/>
          <Entry value="2" text="Top"/>
        </EnumerationDomain>
      </IntVectorProperty>

      <!-- End of TextProperty -->
    </Proxy>
  
    <Proxy name="VolumeProperty" class="vtkVolumeProperty">
      <IntVectorProperty
        name="InterpolationType"
        command="SetInterpolationType"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <EnumerationDomain name="enum" >
          <Entry value="0" text="Nearest" />
          <Entry value="1" text="Linear" />
        </EnumerationDomain>
      </IntVectorProperty>
      <!-- Why is this duplicate property present? -->
      <ProxyProperty
        name="GrayTransferFunction"
        command="SetColor">
        <ProxyGroupDomain name="groups">
          <Group name="piecewise_functions" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty
        name="ColorTransferFunction"
        command="SetColor">
        <ProxyGroupDomain name="groups">
          <Group name="transfer_functions" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty
        name="ScalarOpacityFunction"
        command="SetScalarOpacity">
        <ProxyGroupDomain name="groups">
          <Group name="piecewise_functions" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <DoubleVectorProperty
        name="ScalarOpacityUnitDistance"
        command="SetScalarOpacityUnitDistance"
        number_of_elements="1"
        default_values="1"
        animateable="0">
      </DoubleVectorProperty>
    </Proxy>

    <Proxy name="PropertyBase" class="vtkProperty">
      <Documentation>
        This is a vtkProperty API without any color properties.
      </Documentation>
      <DoubleVectorProperty name="LineWidth"
        command="SetLineWidth"
        number_of_elements="1"
        default_values="1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0"/>
      </DoubleVectorProperty>

      <DoubleVectorProperty name="PointSize"
        command="SetPointSize"
        number_of_elements="1"
        default_values="2.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0" />
      </DoubleVectorProperty>

      <IntVectorProperty name="Interpolation"
        command="SetInterpolation"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Flat" />
          <Entry value="1" text="Gouraud" />
          <!--<Entry value="2" text="Phong" />-->
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="Representation"
        command="SetRepresentation"
        number_of_elements="1"
        default_values="2"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Points" />
          <Entry value="1" text="Wireframe" />
          <Entry value="2" text="Surface" />
        </EnumerationDomain>
      </IntVectorProperty>

      <DoubleVectorProperty name="Opacity"
        command="SetOpacity"
        number_of_elements="1"
        default_values="1.0"
        animateable="1">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="Ambient"
        command="SetAmbient"
        number_of_elements="1"
        default_values="0.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="Diffuse"
        command="SetDiffuse"
        number_of_elements="1"
        default_values="1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <IntVectorProperty name="Shading"
        command="SetShading"
        number_of_elements="1"
        default_values="0"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <DoubleVectorProperty name="Specular"
        command="SetSpecular"
        number_of_elements="1"
        default_values="0.1"
        animateable="0">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="SpecularPower"
        command="SetSpecularPower"
        number_of_elements="1"
        default_values="100.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0" max="100" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="EdgeColor"
        command="SetEdgeColor"
        number_of_elements="3"
        default_values="0 0 0.5">
        <Documentation>
          Set the edge color. This color is used to draw the edge for the
          polygonal data when EdgeVisibility is on.
        </Documentation>
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1"/>
      </DoubleVectorProperty>

      <IntVectorProperty name="EdgeVisibility"
        command="SetEdgeVisibility"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Set the edge visibility. This has any effect only when Visibility is
          On and Representation type if Surface.
        </Documentation>
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <IntVectorProperty name="BackfaceCulling"
                         command="SetBackfaceCulling"
                         number_of_elements="1"
                         default_values="0">
        <Documentation>
          Turn on/off backface culling.  When on, polygons facing away from the
          camera will not be drawn.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="FrontfaceCulling"
                         command="SetFrontfaceCulling"
                         number_of_elements="1"
                         default_values="0">
        <Documentation>
          Turn on/off frontface culling.  When on, polygons facing towards
          from the camera will not be drawn.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <!-- End of PropertyBase -->
    </Proxy>

    <Proxy name="Property" class="vtkProperty"
      base_proxygroup="properties" base_proxyname="PropertyBase">
      <Documentation>
        Proxy for vtkProperty with 3 separate properties for the 3 colors.
      </Documentation>

      <DoubleVectorProperty name="AmbientColor"
        command="SetAmbientColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="DiffuseColor"
        command="SetDiffuseColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty name="SpecularColor"
        command="SetSpecularColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>

      <!-- End of Property -->
    </Proxy>

    <Proxy name="Property2" class="vtkProperty"
      base_proxygroup="properties" base_proxyname="PropertyBase">
      <Documentation>
        Proxy for vtkProperty with a single property "Color" for controlling all
        the 3 color components.
      </Documentation>
      <DoubleVectorProperty name="Color"
        command="SetColor"
        number_of_elements="3"
        default_values="1.0 1.0 1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>
      <!-- End of Property2 -->
    </Proxy>
    
    <Proxy name="Property2D" class="vtkProperty2D">
      <DoubleVectorProperty
        name="Color"
        command="SetColor"
        number_of_elements="3"
        default_values="1 1 1"
        animateable="0">
        <DoubleRangeDomain name="range" min="0 0 0" max="1 1 1" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="Opacity"
        command="SetOpacity"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="LineWidth"
        command="SetLineWidth"
        number_of_elements="1"
        default_values="1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0"/>
      </DoubleVectorProperty>
      <DoubleVectorProperty
        name="PointSize"
        command="SetPointSize"
        number_of_elements="1"
        default_values="1.0"
        animateable="0">
        <DoubleRangeDomain name="range" min="0" />
      </DoubleVectorProperty>
    <!-- End of Property2D -->
    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="interactors">
    <Proxy name="GenericRenderWindowInteractor" class="vtkPVGenericRenderWindowInteractor">
      <ProxyProperty
        name="RenderWindow"
        command="SetRenderWindow">
        <ProxyGroupDomain name="groups">
          <Group name="renderwindow" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty
        name="Renderer"
        command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group  name="renderers" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty 
        name="InteractorStyle" 
        command="SetInteractorStyle">
        <ProxyGroupDomain name="groups">
          <Group  name="interactorstyles" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <DoubleVectorProperty
        name="CenterOfRotation"
        command="SetCenterOfRotation"
        number_of_elements="3"
        default_values="0 0 0">
      </DoubleVectorProperty>
    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="interactorstyles">
    <Proxy name="InteractorStyle" class="vtkPVInteractorStyle">
      <ProxyProperty
        name="CameraManipulators"
        command="AddManipulator"
        clean_command="RemoveAllManipulators"
        is_internal="1"
        repeatable="1">
        <!-- For now, we are marking this property is_internal so that it won't
        get saved in state files. 
        Eventually, we need to take out all the interaction related code from
        the server manager -->
        <ProxyGroupDomain name="groups">
          <Group name="cameramanipulators" />
        </ProxyGroupDomain>
      </ProxyProperty>
    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="cameramanipulators">
    <Proxy name="CameraManipulator" class="vtkCameraManipulator">
      <IntVectorProperty
        name="Button"
        command="SetButton"
        number_of_elements="1"
        default_values="1">
        <EnumerationDomain>
          <Entry value="1" text="Left Button"/>
          <Entry value="2" text="Center Button"/>
          <Entry value="3" text="Right Button"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty
        name="Shift"
        command="SetShift"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="IsShiftPressed"/>
      </IntVectorProperty>
      <IntVectorProperty
        name="Control"
        command="SetControl"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="IsControlPressed"/>
      </IntVectorProperty>
      <StringVectorProperty
        name="ManipulatorName"
        command="SetManipulatorName"
        number_of_elements="1">
      </StringVectorProperty>
    </Proxy>

    <Proxy name="JoystickFlyIn" class="vtkPVJoystickFlyIn" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator">
      <DoubleVectorProperty
        name="FlySpeed"
        command="SetFlySpeed"
        number_of_elements="1"
        default_values="15">
        <DoubleRangeDomain name="range" min="1" max="30"/>
      </DoubleVectorProperty>
    </Proxy>

    <Proxy name="JoystickFlyOut" class="vtkPVJoystickFlyOut" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator">
      <DoubleVectorProperty
        name="FlySpeed"
        command="SetFlySpeed"
        number_of_elements="1"
        default_values="15">
        <DoubleRangeDomain name="range" min="1" max="30"/>
      </DoubleVectorProperty>
    </Proxy>

    <Proxy name="TrackballMoveActor" class="vtkPVTrackballMoveActor" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator"/>

    <Proxy name="TrackballPan1" class="vtkTrackballPan" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator"/>

    <Proxy name="TrackballPan2" class="vtkPVTrackballPan" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator"/>

    <Proxy name="TrackballRoll" class="vtkPVTrackballRoll" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator"/>

    <Proxy name="TrackballRotate" class="vtkPVTrackballRotate" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator"/>

    <Proxy name="TrackballZoom" class="vtkPVTrackballZoom" base_proxygroup="cameramanipulators"
      base_proxyname="CameraManipulator"/>

    <Proxy name="TrackballMultiRotate" class="vtkPVTrackballMultiRotate"
           base_proxygroup="cameramanipulators"
           base_proxyname="CameraManipulator" />
  </ProxyGroup>

  <ProxyGroup name="compositers">
    <Proxy name="CompressCompositer" class="vtkCompressCompositer">
    </Proxy>
    <Proxy  name="TreeCompositer" class="vtkTreeCompositer">
    </Proxy>
  </ProxyGroup>

  
  
  <ProxyGroup name="composite_managers">
    <!-- =================================================================== -->
    <Proxy name="DesktopDeliveryClient" class="vtkPVDesktopDeliveryClient">
      <ProxyProperty name="RenderWindow"
                     command="SetRenderWindow">
        <ProxyGroupDomain name="groups">
          <Group name="renderwindow" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <Property name="InitializeRMIs"
                command="InitializeRMIs">
      </Property>
      <Property name="InitializeOffScreen"
                command="InitializeOffScreen">
      </Property>
      <IntVectorProperty name="ImageReductionFactor"
                         command="SetImageReductionFactor"
                         number_of_elements="1"
                         default_values="1">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>
      <IntVectorProperty name="UseCompositing"
                         command="SetUseCompositing"
                         number_of_elements="1"
                         default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="SyncRenderWindowRenderers"
                         command="SetSyncRenderWindowRenderers"
                         number_of_elements="1"
                         default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      <ProxyProperty name="Renderers"
                     command="AddRenderer"
                     clean_command="RemoveAllRenderers"
                     repeatable="1">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <IntVectorProperty
        name="SetUseBackBuffer"
        command="SetUseBackBuffer"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="0" max="1" />
      </IntVectorProperty>

      <IntVectorProperty  name="SynchronizeTileProperties"
        command="SetSynchronizeTileProperties"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
        <Documentation>
          When set the render manager will synchronize the TileViewport and 
          TileScale properties. This may not be desirable in cases where 
          there's some other mechanism to set the tile dimensions 
          eg. Tile displays.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="CompressionEnabled"
        command="SetCompressionEnabled"
        number_of_elements="1"
        default_values="1">
      <IntRangeDomain name="range" min="0" max="1"/>
      </IntVectorProperty>

      <StringVectorProperty
        name="CompressorConfig"
        command="ConfigureCompressor"
        number_of_elements="1"
        default_values="vtkSquirtCompressor 0 3"/>

      <IntVectorProperty
        name="LossLessCompression"
        command="SetLossLessCompression"
        number_of_elements="1"
        default_values="0">
      <IntRangeDomain name="range" min="0" max="1"/>
      </IntVectorProperty>
      <!-- End of DesktopDeliveryClient -->
    </Proxy>

    <!-- =================================================================== -->
    <Proxy name="DesktopDeliveryServer" class="vtkPVDesktopDeliveryServer"
           base_proxygroup="composite_managers" 
           base_proxyname="DesktopDeliveryClient">
    </Proxy>
    
    <!-- =================================================================== -->
    <Proxy name="IceTRenderManager" class="vtkIceTRenderManager">
      <ProxyProperty name="RenderWindow"
                     command="SetRenderWindow">
        <ProxyGroupDomain name="groups">
          <Group name="renderwindow" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <IntVectorProperty name="TileDimensions"
                         command="SetTileDimensions"
                         number_of_elements="2"
                         default_values="0 0">
        <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>
      <IntVectorProperty name="TileMullions"
                         command="SetTileMullions"
                         number_of_elements="2"
                         default_values="0 0">
        <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>

      <IntVectorProperty name="EnableTiles"
        command="SetEnableTiles"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          To use tile displays, it is essential to set this property to 1.
        </Documentation>
      </IntVectorProperty>
        
      <ProxyProperty name="SortingKdTree" command="SetSortingKdTree">
        <ProxyGroupDomain name="groups">
          <Group name="locators"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <Property name="InitializeOffScreen"
                command="InitializeOffScreen">
      </Property>
    </Proxy>

    <Proxy name="MPICompositeManager" class="vtkMPICompositeManager">
      <ProxyProperty
        name="RenderWindow"
        command="SetRenderWindow">
        <ProxyGroupDomain name="groups">
          <Group name="renderwindow" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty
        name="Compositer"
        command="SetCompositer">
        <ProxyGroupDomain name="group">
          <Group name="compositers" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <Property
        name="InitializeOffScreen"
        command="InitializeOffScreen">
      </Property>
      <Property
        name="InitializeRMIs"
        command="InitializeRMIs">
      </Property>
      <IntVectorProperty
        name="ImageReductionFactor"
        command="SetImageReductionFactor"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>
      <IntVectorProperty
        name="UseCompositing"
        command="SetParallelRendering"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty
        name="TileWindows"
        number_of_elements="3"
        command="TileWindows"
        default_values="0 0 1">
      </IntVectorProperty>
      <IntVectorProperty name="SyncRenderWindowRenderers"
        command="SetSyncRenderWindowRenderers"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      <ProxyProperty name="Renderers"
        command="AddRenderer"
        remove_command="RemoveRenderer"
        clean_command="RemoveAllRenderers"
        repeatable="1">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>
    </Proxy>
    <Proxy name="CaveRenderManager" class="vtkCaveRenderManager">
      <ProxyProperty
        name="RenderWindow"
        command="SetRenderWindow">
        <ProxyGroupDomain name="groups">
          <Group name="renderwindow" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <IntVectorProperty
        name="ImageReductionFactor"
        command="SetImageReductionFactor"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>
      <IntVectorProperty
        name="UseCompositing"
        command="SetUseCompositing"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <Property
        name="InitializeRMIs"
        command="InitializeRMIs">
      </Property>
    </Proxy>
  </ProxyGroup>
  
  <ProxyGroup name="PropPickers">
    <Proxy name="AreaPicker"
           class="vtkRenderedAreaPicker">

      <ProxyProperty 
        name="SetRenderer" 
        command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <DoubleVectorProperty
        name="SetPickCoords"
        command="SetPickCoords"
        number_of_elements="4"
        default_values="0.0 0.0 0.0 0.0">
        <DoubleRangeDomain name="range" min="0.0 0.0 0.0 0.0"/>
      </DoubleVectorProperty>
       
      <Property
        name="Pick"
        command="Pick"
        is_internal="1">
      </Property>
    </Proxy>

    <HardwareSelector name="HardwareSelector" class="vtkPVHardwareSelector">

      <ProxyProperty name="Renderer" 
        command="SetRenderer">
      </ProxyProperty>

      <IntVectorProperty name="Area"
        command="SetArea"
        number_of_elements="4"
        default_values="0 0 0 0">
      </IntVectorProperty>

      <IntVectorProperty name="FieldAssociation"
        command="SetFieldAssociation"
        number_of_elements="1"
        default_values="1">
        <EnumerationDomain name="enum">
          <Entry text="Points" value="0" />
          <Entry text="Cells" value="1" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IdTypeVectorProperty name="NumberOfIDs"
        command="SetNumberOfIDs"
        number_of_elements="1"
        default_values="0">
      </IdTypeVectorProperty>

      <IntVectorProperty name="NumberOfProcesses"
        command="SetNumberOfProcesses"
        number_of_elements="1"
        default_values="1">
      </IntVectorProperty>
        
      
    </HardwareSelector>
    <!-- End of PropPickers --> 
  </ProxyGroup>

  <ProxyGroup name="strategies">
    <SimpleStrategy name="PolyDataStrategy">
      <Documentation>
        Representation stragegy can be used for poly data surface rendering with
        LOD. (Does not support client-server/parallel pipelines).
      </Documentation>

      <InputProperty
        name="Input"
        command="not-used">
        <Documentation>
          The input to the strategy.
        </Documentation>
      </InputProperty>

      <SubProxy>
        <Proxy name="CacheKeeper"
          proxygroup="filters" proxyname="CacheKeeper" />
      </SubProxy>

      <SubProxy>
        <Proxy name="LODDecimator" 
          proxygroup="filters" proxyname="QuadricClustering" />
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressor"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ExposedProperties>
          <Property name="UpdateTime" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressorLOD"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <!-- End of PolyDataStrategy -->
    </SimpleStrategy>

    <UnstructuredDataParallelStrategy name="PolyDataParallelStrategy"
      base_proxygroup="strategies" 
      base_proxyname="PolyDataStrategy">

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressor" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostDistributorSuppressor" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Distributor" proxygroup="filters"
          proxyname="OrderedCompositeDistributor">
        </Proxy>
        <ExposedProperties>
          <Property name="PKdTree" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressorLOD" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressorLOD" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="CollectLOD" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostDistributorSuppressorLOD" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressorLOD" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="DistributorLOD" proxygroup="filters"
          proxyname="OrderedCompositeDistributor">
        </Proxy>
        <ShareProperties subproxy="Distributor" >
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>
      
      <!-- End of PolyDataParallelStrategy -->
    </UnstructuredDataParallelStrategy>

    <ClientDeliveryStrategyProxy name="ClientDeliveryStrategy"
      base_proxygroup="strategies"
      base_proxyname="PolyDataStrategy">
      <Documentation>
        Strategy used by ClientDeliverRepresentation.
      </Documentation>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="ClientServerMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="Reduction" proxygroup="filters" proxyname="ReductionFilter">
        </Proxy>
        <ExposedProperties>
          <Property name="PassThrough" />
          <Property name="GenerateProcessIds" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressor" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>


      <!-- End of ClientDeliveryStrategy -->
    </ClientDeliveryStrategyProxy>

    <SimpleStrategy name="UnstructuredGridStrategy" >
      <Documentation>
        Representation strategy can be used for unstructured grid volume rendering.
        This differs from PolyDataStrategy in the LODDecimator. Here, we are
        using a GeometryFilter as the LODDecimator.
      </Documentation>

      <InputProperty
        name="Input"
        command="not-used">
        <Documentation>
          The input to the strategy.
        </Documentation>
      </InputProperty>

      <SubProxy>
        <Proxy name="CacheKeeper"
          proxygroup="filters" proxyname="CacheKeeper" />
      </SubProxy>

      <SubProxy>
        <Proxy name="LODDecimator" 
          proxygroup="filters" proxyname="GeometryFilter" />
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressor"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ExposedProperties>
          <Property name="UpdateTime" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressorLOD"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <!-- End of UnstructuredGridStrategy -->
    </SimpleStrategy>

    <UnstructuredGridParallelStrategy name="UnstructuredGridParallelStrategy"
      base_proxygroup="strategies" 
      base_proxyname="UnstructuredGridStrategy">

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressor" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostDistributorSuppressor" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Distributor" proxygroup="filters"
          proxyname="OrderedCompositeDistributor">
        </Proxy>
        <ExposedProperties>
          <Property name="PKdTree" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressorLOD" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressorLOD" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="CollectLOD" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostDistributorSuppressorLOD" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressorLOD" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="DistributorLOD" proxygroup="filters"
          proxyname="OrderedCompositeDistributor">
        </Proxy>
        <ShareProperties subproxy="Distributor">
          <Exception name="Input" /> 
        </ShareProperties>
      </SubProxy>
      
      <!-- End of UnstructuredGridParallelStrategy -->
    </UnstructuredGridParallelStrategy>

    <UniformGridParallelStrategy name="UniformGridParallelStrategy" >
      <Documentation>
        Representation strategy can be used for uniform grid volume rendering.
      </Documentation>

      <InputProperty
        name="Input"
        command="not-used">
        <Documentation>
          The input to the strategy.
        </Documentation>
      </InputProperty>

      <SubProxy>
        <Proxy name="CacheKeeper"
          proxygroup="filters" proxyname="CacheKeeper" />
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressor"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ExposedProperties>
          <Property name="UpdateTime" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="LODDecimator"  
          proxygroup="filters" proxyname="OutlineFilter">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressorLOD"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

     <SubProxy>
        <Proxy name="PostCollectUpdateSuppressor" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressorLOD" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressorLOD" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="CollectLOD" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <!-- End of UniformGridParallelStrategy -->
    </UniformGridParallelStrategy>

    <ImageDataParallelStrategy name="ImageDataParallelStrategy">
      <Documentation>
        Representation strategy that can be used for image data. This strategy
        delivers the image data to the rendering process, hence not suitable for
        using when doing volume rendering.
      </Documentation>

      <InputProperty
        name="Input"
        command="not-used">
        <Documentation>
          The input to the strategy.
        </Documentation>
        <DataTypeDomain name="input_type">
          <DataType value="vtkImageData" />
        </DataTypeDomain>
      </InputProperty>

      <SubProxy>
        <Proxy name="CacheKeeper"
          proxygroup="filters" proxyname="CacheKeeper" />
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressor"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ExposedProperties>
          <Property name="UpdateTime" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressor" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="LODDecimator"  
          proxygroup="filters" proxyname="OutlineFilter">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressorLOD"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressor" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="PostCollectUpdateSuppressorLOD" proxygroup="filters"
          proxyname="UpdateSuppressor2">
        </Proxy>
        <ShareProperties subproxy="UpdateSuppressorLOD" >
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="CollectLOD" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <!-- End of ImageDataParallelStrategy -->
    </ImageDataParallelStrategy>

    <BlockDeliveryStrategy name="BlockDeliveryStrategy"
      base_proxygroup="strategies"
      base_proxyname="PolyDataStrategy">
      <Documentation>
        Strategy used by BlockDeliveryStrategy for updating the pipeline.
      </Documentation>
      <!-- End of BlockDeliveryStrategy -->
    </BlockDeliveryStrategy>

    <!-- End of strategies -->
  </ProxyGroup>

  <ProxyGroup name="views">
    <Proxy name="ViewBase">
      <Documentation>
        Defines common API for all views.
      </Documentation>

      <ProxyProperty
        name="Representations"
        command="AddRepresentation"
        update_self="1"
        remove_command="RemoveRepresentation"
        repeatable="1">
        <Documentation>
          Add representations to be rendered by this view.
        </Documentation>
      </ProxyProperty>

      <IntVectorProperty
        name="ViewPosition"
        command="SetViewPosition"
        number_of_elements="2"
        default_values="0 0"
        update_self="1"
        immediate_update="1">
        <IntRangeDomain name="range" min="0 0" />
        <Documentation>
          Position of the view. This is useful in multiview configurations.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="GUISize"
        command="SetGUISize"
        number_of_elements="2"
        default_values="400 400"
        update_self="1"
        immediate_update="1">
        <IntRangeDomain name="range" min="1 1" />
        <Documentation>
          Total GUI size when using mutliple views. This includes the sizes of
          all view modules.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty
        name="ViewTime"
        command="SetViewUpdateTime"
        update_self="1"
        number_of_elements="1"
        immediate_update="1"
        default_values="none">
        <DoubleRangeDomain name="range"/>
        <Documentation>
          The pipeline update time for this view.
          This gets passed to all representations added to this view.
        </Documentation>
      </DoubleVectorProperty>
      <!-- End of ViewBase -->
    </Proxy>

    <ViewProxy name="SpreadSheetView" 
      base_proxygroup="views" 
      base_proxyname="ViewBase"
      representation_name="SpreadSheetRepresentation">

      <!-- End of SpreadSheetView -->
    </ViewProxy>
   
#ifdef VTK_USE_QVTK
    <ChartOptionsProxy name="ChartOptionsBase">
      <Documentation>
        Defines common options API for all chart views.
      </Documentation>

      <StringVectorProperty
        name="ChartTitle"
        command="SetTitle"
        update_self="1"
        number_of_elements="1">
      </StringVectorProperty>

      <StringVectorProperty
        name="ChartTitleFont"
        command="SetTitleFont"
        update_self="1"
        number_of_elements="4"
        element_types="2 0 0 0"
        default_values_delimiter=";"
        default_values="Helvetica;9;0;0" >
        <Documentation>
          Set the chart title font (familyname, size, bold, italics).
        </Documentation>
      </StringVectorProperty>

      <DoubleVectorProperty
        name="ChartTitleColor"
        command="SetTitleColor"
        update_self="1"
        number_of_elements="3"
        default_values="0 0 0">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <IntVectorProperty
        name="ChartTitleAlignment"
        command="SetTitleAlignment"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="0" max="2" />
      </IntVectorProperty>

      <IntVectorProperty
        name="ShowLegend"
        command="SetLegendVisibility"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="LegendLocation"
        command="SetLegendLocation"
        update_self="1"
        number_of_elements="1"
        default_values="2">
        <IntRangeDomain name="range" min="0" max="3" />
      </IntVectorProperty>

      <IntVectorProperty
        name="LegendFlow"
        command="SetLegendFlow"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="0" max="1" />
      </IntVectorProperty>

      <IntVectorProperty
        name="ShowAxis"
        command="SetAxisVisibility"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="1 1 1 1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="ShowAxisGrid"
        command="SetGridVisibility"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="1 1 0 0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="AxisGridType"
        command="SetGridColorType"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="0 0 0 0">
        <IntRangeDomain name="range" min="0" max="1" />
      </IntVectorProperty>

      <DoubleVectorProperty
        name="AxisColor"
        command="SetAxisColor"
        update_self="1"
        repeat_command="1"
        number_of_elements_per_command="3"
        use_index="1"
        number_of_elements="12"
        default_values=
          "0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="AxisGridColor"
        command="SetGridColor"
        update_self="1"
        use_index="1"
        repeat_command="1"
        number_of_elements_per_command="3"
        number_of_elements="12"
        default_values=
          "0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <IntVectorProperty
        name="ShowAxisLabels"
        command="SetAxisLabelVisibility"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="1 1 1 1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <StringVectorProperty
        name="AxisLabelFont"
        command="SetAxisLabelFont"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="4"
        element_types="2 0 0 0" 
        number_of_elements="16"
        default_values_delimiter=";"
        default_values="Helvetica;9;0;0;Helvetica;9;0;0;Helvetica;9;0;0;Helvetica;9;0;0" >
        <Documentation>
          Set the axis title font (familyname, size, bold, italics).
        </Documentation>
      </StringVectorProperty>

      <DoubleVectorProperty
        name="AxisLabelColor"
        command="SetAxisLabelColor"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="3"
        number_of_elements="12"
        default_values="0 0 0   0 0 0   0 0 0.5   0 0 0.5" >
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <IntVectorProperty
        name="AxisLabelNotation"
        command="SetAxisLabelNotation"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="3 3 3 3">
        <IntRangeDomain name="range" min="0" max="3" />
      </IntVectorProperty>

      <IntVectorProperty
        name="AxisLabelPrecision"
        command="SetAxisLabelPrecision"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="2 2 2 2">
        <IntRangeDomain name="range" min="0" max="6" />
      </IntVectorProperty>

      <IntVectorProperty
        name="AxisScale"
        command="SetAxisScale"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="0 0 0 0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="AxisBehavior"
        command="SetAxisBehavior"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="0 0 0 0">
        <IntRangeDomain name="range" min="0" max="2" />
      </IntVectorProperty>

      <DoubleVectorProperty
        name="AxisRange"
        command="SetAxisRange"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="2"
        number_of_elements="8"
        default_values="0 1 0 1 0 1 0 1">
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="LeftAxisLabels"
        repeat_command="1"
        number_of_elements_per_command="1">
        <!-- TODO -->
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="BottomAxisLabels"
        repeat_command="1"
        number_of_elements_per_command="1">
        <!-- TODO -->
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="RightAxisLabels"
        repeat_command="1"
        number_of_elements_per_command="1">
        <!-- TODO -->
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="TopAxisLabels"
        repeat_command="1"
        number_of_elements_per_command="1">
        <!-- TODO -->
      </DoubleVectorProperty>

      <StringVectorProperty
        name="AxisTitle"
        command="SetAxisTitle"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4">
      </StringVectorProperty>

      <StringVectorProperty
        name="AxisTitleFont"
        command="SetAxisTitleFont"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="4"
        element_types="2 0 0 0" 
        number_of_elements="16"
        default_values_delimiter=";"
        default_values="Helvetica;9;0;0;Helvetica;9;0;0;Helvetica;9;0;0;Helvetica;9;0;0">
        <Documentation>
          Set the axis title font (familyname, size, bold, italics).
        </Documentation>
      </StringVectorProperty>

      <DoubleVectorProperty
        name="AxisTitleColor"
        command="SetAxisTitleColor"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="3"
        number_of_elements="12"
        default_values="0 0 0   0 0 0   0 0 0.5   0 0 0.5" >
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <IntVectorProperty
        name="AxisTitleAlignment"
        command="SetAxisTitleAlignment"
        update_self="1"
        repeat_command="1"
        use_index="1"
        number_of_elements_per_command="1"
        number_of_elements="4"
        default_values="1 1 1 1">
        <IntRangeDomain name="range" min="0" max="2" />
      </IntVectorProperty>

      <!-- End of ChartOptionsBase -->
    </ChartOptionsProxy>
#endif

#ifdef VTK_USE_QVTK
    <BarChartViewProxy name="BarChartView" 
      base_proxygroup="views" 
      base_proxyname="ViewBase"
      representation_name="BarChartRepresentation">
      <Documentation>
        This is a proxy for the BarChart view.
      </Documentation>

      <SubProxy>
        <Proxy name="ChartOptions" proxyname="ChartOptionsBase"
          proxygroup="views">
        </Proxy>
        <ExposedProperties>
          <Property name="ChartTitle" />
          <Property name="ChartTitleFont" />
          <Property name="ChartTitleColor" />
          <Property name="ChartTitleAlignment" />
          <Property name="ShowLegend" />
          <Property name="LegendLocation" />
          <Property name="LegendFlow" />
          <Property name="ShowAxis" />
          <Property name="ShowAxisGrid" />
          <Property name="AxisGridType" />
          <Property name="AxisColor" />
          <Property name="AxisGridColor" />
          <Property name="ShowAxisLabels" />
          <Property name="AxisLabelFont" />
          <Property name="AxisLabelColor" />
          <Property name="AxisLabelNotation" />
          <Property name="AxisLabelPrecision" />
          <Property name="AxisScale" />
          <Property name="AxisBehavior" />
          <Property name="AxisRange" />
          <Property name="LeftAxisLabels" />
          <Property name="BottomAxisLabels" />
          <Property name="RightAxisLabels" />
          <Property name="TopAxisLabels" />
          <Property name="AxisTitle" />
          <Property name="AxisTitleFont" />
          <Property name="AxisTitleColor" />
          <Property name="AxisTitleAlignment" />
        </ExposedProperties>
      </SubProxy>

      <StringVectorProperty
        name="BarHelpFormat"
        command="SetHelpFormat"
        update_self="1"
        number_of_elements="1"
        default_values="%s: %1, %2" >
      </StringVectorProperty>

      <IntVectorProperty
        name="BarOutlineStyle"
        command="SetOutlineStyle"
        update_self="1"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" max="1" />
      </IntVectorProperty>

      <DoubleVectorProperty
        name="BarGroupFraction"
        command="SetBarGroupFraction"
        update_self="1"
        number_of_elements="1"
        default_values="0.7">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="BarWidthFraction"
        command="SetBarWidthFraction"
        update_self="1"
        number_of_elements="1"
        default_values="0.8">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <!-- End of BarChartView -->
    </BarChartViewProxy>
#endif

#ifdef VTK_USE_QVTK
    <LineChartViewProxy name="XYPlotView" 
      base_proxygroup="views" 
      base_proxyname="ViewBase"
      representation_name="XYPlotRepresentation">
      <Documentation>
        This is the proxy for XY plot view.
      </Documentation>

      <SubProxy>
        <Proxy name="ChartOptions" proxyname="ChartOptionsBase"
          proxygroup="views">
        </Proxy>
        <ExposedProperties>
          <Property name="ChartTitle" />
          <Property name="ChartTitleFont" />
          <Property name="ChartTitleColor" />
          <Property name="ChartTitleAlignment" />
          <Property name="ShowLegend" />
          <Property name="LegendLocation" />
          <Property name="LegendFlow" />
          <Property name="ShowAxis" />
          <Property name="ShowAxisGrid" />
          <Property name="AxisGridType" />
          <Property name="AxisColor" />
          <Property name="AxisGridColor" />
          <Property name="ShowAxisLabels" />
          <Property name="AxisLabelFont" />
          <Property name="AxisLabelColor" />
          <Property name="AxisLabelNotation" />
          <Property name="AxisLabelPrecision" />
          <Property name="AxisScale" />
          <Property name="AxisBehavior" />
          <Property name="AxisRange" />
          <Property name="LeftAxisLabels" />
          <Property name="BottomAxisLabels" />
          <Property name="RightAxisLabels" />
          <Property name="TopAxisLabels" />
          <Property name="AxisTitle" />
          <Property name="AxisTitleFont" />
          <Property name="AxisTitleColor" />
          <Property name="AxisTitleAlignment" />
        </ExposedProperties>
      </SubProxy>

      <StringVectorProperty
        name="LineHelpFormat"
        command="SetHelpFormat"
        update_self="1"
        number_of_elements="1"
        default_values="%s: %1, %2">
      </StringVectorProperty>

      <!-- End of XYPlotView -->
    </LineChartViewProxy>
#endif

    <Proxy name="RenderViewBase"
      base_proxygroup="views" 
      base_proxyname="ViewBase">
      <Documentation>
        This defines the properties/subproxies common to all render view
        subclasses.
      </Documentation>

      <DoubleVectorProperty
        name="LODThreshold"
        command="SetLODThreshold"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <Documentation>
          Set the memory size threshold above which LOD will be used while
          rendering interactively.
        </Documentation>
        <DoubleRangeDomain name="range" min="0" />
      </DoubleVectorProperty>

      <IntVectorProperty
        name="LODResolution"
        command="SetLODResolution"
        number_of_elements="1"
        default_values="50"
        update_self="1">
        <IntRangeDomain name="range" min="0" />
        <Documentation>
          Set the LOD resolution.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="UseTriangleStrips"
        command="SetUseTriangleStrips"
        number_of_elements="1"
        update_self="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Set whether triangle strips should be used when rendering polydata.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="UseImmediateMode"
        command="SetUseImmediateMode"
        number_of_elements="1"
        update_self="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="RenderInterruptsEnabled"
        command="SetRenderInterruptsEnabled"
        number_of_elements="1"
        update_self="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="UseLight"
        command="SetUseLight"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <Documentation>
          Enable/Disable the LightKit.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <Property
        name="ResetCamera"
        command="ResetCamera"
        update_self="1">
        <Documentation>
        Called to reset the camera using current data bounts.
        </Documentation>
      </Property>

      <IntVectorProperty
        name="UseOffscreenRenderingForScreenshots"
        command="SetUseOffscreenRenderingForScreenshots"
        number_of_elements="1"
        update_self="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set whether offscreen rendering should be used during
          CaptureWindow calls.
        </Documentation>
      </IntVectorProperty>

      <!-- 
        Some common subproxies that are not affected by the type of render
        view. Note the absence of such essential subproxies as RenderWindow,
        Renderer.
      -->

      <SubProxy>
        <Proxy name="Renderer2D" proxyname="Renderer" proxygroup="renderers">
        </Proxy>
      </SubProxy>


      <SubProxy>
        <Proxy name="Light" proxyname="Light" proxygroup="lights">
        </Proxy>
        <ExposedProperties>
          <Property name="LightAmbientColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="LightKit" proxyname="LightKit" proxygroup="rendering">
        </Proxy>
        <ExposedProperties>
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="ActiveCamera" proxyname="Camera" proxygroup="camera">
        </Proxy>
        <ExposedProperties>
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Interactor" proxyname="GenericRenderWindowInteractor" 
          proxygroup="interactors">
        </Proxy>
        <ExposedProperties>
          <Property name="CenterOfRotation" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="InteractorStyle" proxyname="InteractorStyle" 
          proxygroup="interactorstyles">
        </Proxy>
        <ExposedProperties>
          <Property name="CameraManipulators" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of RenderViewBase -->
    </Proxy>

    <RenderViewProxy name="RenderView" 
      base_proxygroup="views" base_proxyname="RenderViewBase">
      <Documentation>
        Simplest render view without compositing/client-server support.
      </Documentation>

      <SubProxy>
        <Proxy name="Renderer" proxyname="Renderer" proxygroup="renderers">
        </Proxy>
        <ExposedProperties>
          <Property name="Background" />
          <Property name="DepthPeeling" />
          <Property name="MaximumNumberOfPeels" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="RenderWindow" proxyname="RenderWindow" proxygroup="renderwindow">
        </Proxy>
        <ExposedProperties>
          <Property name="RenderWindowSize" exposed_name="ViewSize" />
          <Property name="RenderWindowSizeInfo" />
          <Property name="StereoRender" />
          <Property name="StereoType" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of RenderView -->
    </RenderViewProxy>

    <IceTCompositeViewProxy name="IceTCompositeView"
      base_proxygroup="views" base_proxyname="RenderViewBase">
      <Documentation>
        IceT Render View with compositing which can be used when no
        client-server delivery is required.
      </Documentation>

      <DoubleVectorProperty
        name="RemoteRenderThreshold"
        command="SetRemoteRenderThreshold"
        number_of_elements="1"
        default_values="20.0"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" />
        <Documentation>
           The threshold used to determine if the compositing should be used
           for rendering. 
        </Documentation>
      </DoubleVectorProperty>
     
      <IntVectorProperty
        name="ImageReductionFactor"
        command="SetImageReductionFactor"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <IntRangeDomain name="range" min="0" max="100" />
        <Documentation>
          The image reduction factor used for compositing parallel images in
          InteractiveRender. ImageReductionFactor=1 implies no reduction at all.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="ViewSize"
        command="SetViewSize"
        number_of_elements="2"
        update_self="1"
        default_values="400 400">
        <IntRangeDomain name="range" min="1 1" />
        <Documentation>
          Set the view size for this view module.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="DisableOrderedCompositing"
        command="SetDisableOrderedCompositing"
        number_of_elements="1"
        update_self="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Ordered compositing is used if any representation added to the view
          indicates that it requires ordered compositing. This flag can be set
          to true to override this behaviour.
        </Documentation>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="Renderer" proxyname="IceTRenderer" proxygroup="renderers">
        </Proxy>
        <ExposedProperties>
          <Property name="Background" />
          <Property name="DepthPeeling" />
          <Property name="MaximumNumberOfPeels" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="RenderWindow" proxyname="RenderWindow" proxygroup="renderwindow">
        </Proxy>
        <ExposedProperties>
          <Property name="RenderWindowSizeInfo" />
          <Property name="StereoRender" />
          <Property name="StereoType" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="MultiViewManager" class="vtkMultiViewManager">
          <ProxyProperty  
            name="RenderWindow"
            command="SetRenderWindow">
          </ProxyProperty>
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy  name="ParallelRenderManager" 
                proxygroup="composite_managers"
                proxyname="IceTRenderManager">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="KdTree" proxygroup="locators" proxyname="PKdTree" />
      </SubProxy>

      <SubProxy>
        <Proxy name="KdTreeManager" proxygroup="misc" proxyname="KdTreeManager">
        </Proxy>
      </SubProxy>

      <!-- End of IceTCompositeView -->
    </IceTCompositeViewProxy>

    <IceTDesktopRenderViewProxy name="IceTDesktopRenderView"
      base_proxygroup="views" base_proxyname="RenderViewBase">
      <Documentation>
        IceT Render View with compositing and client delivery mechanisms.
      </Documentation>

      <IntVectorProperty
        name="ViewSize"
        command="SetViewSize"
        number_of_elements="2"
        update_self="1"
        default_values="400 400">
        <IntRangeDomain name="range" min="1 1" />
        <Documentation>
          Set the view size for this view module.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty
        name="RemoteRenderThreshold"
        command="SetRemoteRenderThreshold"
        number_of_elements="1"
        default_values="0.0"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" />
        <Documentation>
           The threshold used to determine if the compositing should be used
           for rendering. This may alternatively thought as the remote render
           threshold, since when ever we use compositing, we render on the
           server.
        </Documentation>
      </DoubleVectorProperty>
     
      <IntVectorProperty
        name="ImageReductionFactor"
        command="SetImageReductionFactor"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <IntRangeDomain name="range" min="0" max="100" />
        <Documentation>
          The image reduction factor used for compositing parallel images in
          InteractiveRender. ImageReductionFactor=1 implies no reduction at all.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="DisableOrderedCompositing"
        command="SetDisableOrderedCompositing"
        number_of_elements="1"
        update_self="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Ordered compositing is used if any representation added to the view
          indicates that it requires ordered compositing. This flag can be set
          to true to override this behaviour.
        </Documentation>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="Renderer" proxyname="Renderer" proxygroup="renderers">
        </Proxy>
        <ExposedProperties>
          <Property name="Background" />
          <Property name="DepthPeeling" />
          <Property name="MaximumNumberOfPeels" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="RenderWindow" proxyname="RenderWindow" proxygroup="renderwindow">
        </Proxy>
        <ExposedProperties>
          <Property name="RenderWindowSizeInfo" />
          <Property name="StereoRender" />
          <Property name="StereoType" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy 
          name="RenderSyncManager" 
          proxygroup="composite_managers"
          proxyname="DesktopDeliveryClient">
        </Proxy>
        <ExposedProperties>
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy  name="ParallelRenderManager" 
                proxygroup="composite_managers"
                proxyname="IceTRenderManager">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="KdTree" proxygroup="locators" proxyname="PKdTree" />
      </SubProxy>

      <SubProxy>
        <Proxy name="KdTreeManager" proxygroup="misc" proxyname="KdTreeManager">
        </Proxy>
      </SubProxy>

      <!-- End of IceTDesktopRenderView -->
    </IceTDesktopRenderViewProxy>

    <IceTMultiDisplayRenderViewProxy name="IceTMultiDisplayRenderView"
      base_proxygroup="views" base_proxyname="IceTDesktopRenderView">
      <Documentation>
      IceT Render View for tile displays.
      </Documentation>

      <DoubleVectorProperty
        name="CollectGeometryThreshold"
        command="SetCollectGeometryThreshold"
        update_self="1"
        number_of_elements="1"
        default_values="100.0">
        <Documentation>
          Select the threshold under which any geometry is collected on the client.
          When the data size exceeds the threshold, the client shows outlines instead
          of actual data. Size is in kilobytes.
        </Documentation>
        <DoubleRangeDomain name="range" min="0"/>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="StillRenderImageReductionFactor"
        command="SetStillRenderImageReductionFactor"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <Documentation>
          Set the reduction factor to use when still rendering.
        </Documentation>
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <DoubleVectorProperty
        name="TileDisplayCompositeThreshold"
        command="SetTileDisplayCompositeThreshold"
        number_of_elements="1"
        default_values="20.0"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" />
        <Documentation>
           The threshold used to determine if the compositing should be used
           for rendering on the tile display. 
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="ViewPositionCompact"
        command="SetViewPositionCompact"
        number_of_elements="2"
        default_values="0 0"
        update_self="1"
        immediate_update="1">
        <IntRangeDomain name="range" min="0 0" />
        <Documentation>
          Position of the view. This is useful in multiview configurations.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="GUISizeCompact"
        command="SetGUISizeCompact"
        number_of_elements="2"
        default_values="0 0"
        update_self="1"
        immediate_update="1">
        <IntRangeDomain name="range" min="0 0" />
        <Documentation>
          Total GUI size when using mutliple views. This includes the sizes of
          all view modules.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="ViewSizeCompact"
        command="SetViewSizeCompact"
        number_of_elements="2"
        default_values="0 0"
        update_self="1"
        immediate_update="1">
        <IntRangeDomain name="range" min="0 0" />
        <Documentation>
          The ViewSize to use for gapless multi display on the server.
        </Documentation>
      </IntVectorProperty>

      <!-- End of IceTMultiDisplayRenderView -->
    </IceTMultiDisplayRenderViewProxy>

    <ClientServerRenderViewProxy name="ClientServerRenderView"
      base_proxygroup="views" base_proxyname="RenderViewBase">
      <Documentation>
        Render View with client delivery mechanism. Does not support paralle
        rendering.
      </Documentation>

      <DoubleVectorProperty
        name="RemoteRenderThreshold"
        command="SetRemoteRenderThreshold"
        number_of_elements="1"
        default_values="20.0"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" />
        <Documentation>
           The threshold used to determine if the compositing should be used
           for rendering. This may alternatively thought as the remote render
           threshold, since when ever we use compositing, we render on the
           server.
        </Documentation>
      </DoubleVectorProperty>

      <SubProxy>
        <Proxy name="Renderer" proxyname="Renderer" proxygroup="renderers">
        </Proxy>
        <ExposedProperties>
          <Property name="Background" />
          <Property name="DepthPeeling" />
          <Property name="MaximumNumberOfPeels" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="RenderWindow" proxyname="RenderWindow" proxygroup="renderwindow">
        </Proxy>
        <ExposedProperties>
          <Property name="RenderWindowSizeInfo" />
          <Property name="RenderWindowSize" exposed_name="ViewSize" />
          <Property name="StereoRender" />
          <Property name="StereoType" />
        </ExposedProperties>
      </SubProxy>

     <SubProxy>
        <Proxy 
          name="RenderSyncManager" 
          proxygroup="composite_managers"
          proxyname="DesktopDeliveryClient">
        </Proxy>
        <ExposedProperties>
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of ClientServerRenderView-->
    </ClientServerRenderViewProxy>

    <Proxy name="ComparativeViewBase"
      base_proxygroup="views" base_proxyname="ViewBase">
      <Documentation>
        Base interface for the ComparativeView. It has all the properties except
        the RootView subproxy.
      </Documentation>

      <IntVectorProperty
        name="Dimensions"
        command="Build"
        update_self="1"
        immediate_update="1"
        number_of_elements="2"
        default_values="2 2">
        <IntRangeDomain name="range" min="1 1" max="10 10" />
      </IntVectorProperty>

      <IntVectorProperty
        name="Spacing"
        command="SetSpacing"
        update_self="1"
        number_of_elements="2"
        default_values="1 1">
        <IntRangeDomain name="range" min="0 0" max="10 10" />
      </IntVectorProperty>

      <IntVectorProperty
        name="ViewSize"
        command="SetViewSize"
        number_of_elements="2"
        update_self="1"
        default_values="400 400">
        <IntRangeDomain name="range" min="1 1" />
        <Documentation>
          Set the view size for this view module.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty
        name="TimeRange"
        command="SetTimeRange"
        update_self="1"
        number_of_elements="2"
        default_values="0.0 1.0">
        <Documentation>
          Set the time range for FilmStrip visualizations.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="Mode"
        command="SetMode"
        update_self="1"
        number_of_elements="1"
        default_values="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Film Strip" />
          <Entry value="1" text="Comparative" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty
        name="ViewUpdateMode"
        command="SetViewUpdateMode"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="None" />
          <Entry value="1" text="Root" />
          <Entry value="2" text="All" />
        </EnumerationDomain>
        <Documentation>
          This property determines how individual frames of the comparative view will
          update when a source or filter displayed by the view is modified.  When none is
          selected, no frames will update until the comparative view is explicity updated. 
          When root is selected, the root frame will update but the other frames will not
          update until the comparative view is explicity updated.  When all is selected, all
          frames will update.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="ShowTimeSteps"
        command="SetShowTimeSteps"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          This property controls how the comparative view displays time.  When show timesteps
          is off, the global time is displayed in each frame.  When show timesteps is on, the
          comparative view displays different timesteps in each frame.  When show timesteps is
          on, the global time is ignored.
        </Documentation>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="AnimationSceneX" proxygroup="animation"
          proxyname="AnimationScene">
        </Proxy>
        <ExposedProperties>
          <Property name="Cues" exposed_name="XCues" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="AnimationSceneY" proxygroup="animation"
          proxyname="AnimationScene">
        </Proxy>
        <ExposedProperties>
          <Property name="Cues" exposed_name="YCues" />
        </ExposedProperties>
      </SubProxy>
      <!-- End of ComparativeViewBase -->
    </Proxy>

    <ComparativeViewProxy name="ComparativeRenderView"
      base_proxygroup="views" base_proxyname="ComparativeViewBase">
      <Documentation>
        The is comparative view comprising of individual "RenderView" proxies
        for each panel in the comparative view grid.
      </Documentation>

      <SubProxy>
        <Proxy name="RootView" proxygroup="views" proxyname="RenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <Property name="StereoRender" />
          <Property name="StereoType" />
          <!-- RenderWindow -->
        </ExposedProperties>
        <!-- End of "RootView" subproxy -->
      </SubProxy>

      <!-- End of ComparativeRenderView -->
    </ComparativeViewProxy>

    <ComparativeViewProxy name="ComparativeIceTDesktopRenderView"
      base_proxygroup="views" base_proxyname="ComparativeViewBase">
      <Documentation>
        The is comparative view comprising of individual 
        "IceTDesktopRenderView" proxies
        for each panel in the comparative view grid.
      </Documentation>

      <SubProxy>
        <Proxy name="RootView" 
          proxygroup="views" proxyname="IceTDesktopRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <Property name="StereoRender" />
          <Property name="StereoType" />
          <!-- RenderWindow -->
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
          <!-- Image Delivery Compressor -->
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
        <!-- End of "RootView" subproxy -->
      </SubProxy>

      <!-- End of ComparativeIceTDesktopRenderView -->
    </ComparativeViewProxy>

    <ComparativeViewProxy name="ComparativeIceTMultiDisplayRenderView"
      base_proxygroup="views" base_proxyname="ComparativeViewBase">
      <Documentation>
        The is comparative view comprising of individual 
        "IceTMultiDisplayRenderView" proxies
        for each panel in the comparative view grid.
      </Documentation>

      <SubProxy>
        <Proxy name="RootView" 
          proxygroup="views" proxyname="IceTMultiDisplayRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow-->
          <Property name="StereoRender" />
          <Property name="StereoType" />
          <!-- Tiles -->
          <Property name="CollectGeometryThreshold" />
          <Property name="StillRenderImageReductionFactor" />
          <Property name="TileDisplayCompositeThreshold" />
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
          <!-- Image Delivery Compressor -->
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
        <!-- End of "RootView" subproxy -->
      </SubProxy>

      <!-- End of ComparativeIceTMultiDisplayRenderView -->
    </ComparativeViewProxy>

    <ComparativeViewProxy name="ComparativeClientServerRenderView"
      base_proxygroup="views" base_proxyname="ComparativeViewBase">
      <Documentation>
        The is comparative view comprising of individual 
        "ClientServerRenderView" proxies
        for each panel in the comparative view grid.
      </Documentation>

      <SubProxy>
        <Proxy name="RootView" 
          proxygroup="views" proxyname="ClientServerRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
          <Property name="RemoteRenderThreshold" />
          <Property name="StereoRender" />
          <Property name="StereoType" />
        </ExposedProperties>
        <!-- End of "RootView" subproxy -->
      </SubProxy>

      <!-- End of ComparativeClientServerRenderView -->
    </ComparativeViewProxy>

#ifdef VTK_USE_QVTK
    <ComparativeViewProxy name="ComparativeXYPlotView"
      base_proxygroup="views" base_proxyname="ComparativeViewBase">
      <Documentation>
        The is comparative view comprising of individual "XYPlotView" proxies
        for each panel in the comparative view grid.
      </Documentation>

      <SubProxy>
        <Proxy name="RootView" proxygroup="views" proxyname="XYPlotView">
        </Proxy>
        <ExposedProperties>
          <Property name="ChartTitle" />
          <Property name="ChartTitleFont" />
          <Property name="ChartTitleColor" />
          <Property name="ChartTitleAlignment" />
          <Property name="ShowLegend" />
          <Property name="LegendLocation" />
          <Property name="LegendFlow" />
          <Property name="ShowAxis" />
          <Property name="ShowAxisGrid" />
          <Property name="AxisGridType" />
          <Property name="AxisColor" />
          <Property name="AxisGridColor" />
          <Property name="ShowAxisLabels" />
          <Property name="AxisLabelFont" />
          <Property name="AxisLabelColor" />
          <Property name="AxisLabelNotation" />
          <Property name="AxisLabelPrecision" />
          <Property name="AxisScale" />
          <Property name="AxisBehavior" />
          <Property name="AxisRange" />
          <Property name="LeftAxisLabels" />
          <Property name="BottomAxisLabels" />
          <Property name="RightAxisLabels" />
          <Property name="TopAxisLabels" />
          <Property name="AxisTitle" />
          <Property name="AxisTitleFont" />
          <Property name="AxisTitleColor" />
          <Property name="AxisTitleAlignment" />
          <Property name="LineHelpFormat" />
        </ExposedProperties>
        <!-- End of "RootView" subproxy -->
      </SubProxy>

      <!-- End of ComparativeXYPlotView -->
    </ComparativeViewProxy>
#endif

#ifdef VTK_USE_QVTK
    <ComparativeViewProxy name="ComparativeBarChartView"
      base_proxygroup="views" base_proxyname="ComparativeViewBase">
      <Documentation>
        The is comparative view comprising of individual "BarChartView" proxies
        for each panel in the comparative view grid.
      </Documentation>

      <SubProxy>
        <Proxy name="RootView" proxygroup="views" proxyname="BarChartView">
        </Proxy>
        <ExposedProperties>
          <Property name="ChartTitle" />
          <Property name="ChartTitleFont" />
          <Property name="ChartTitleColor" />
          <Property name="ChartTitleAlignment" />
          <Property name="ShowLegend" />
          <Property name="LegendLocation" />
          <Property name="LegendFlow" />
          <Property name="ShowAxis" />
          <Property name="ShowAxisGrid" />
          <Property name="AxisGridType" />
          <Property name="AxisColor" />
          <Property name="AxisGridColor" />
          <Property name="ShowAxisLabels" />
          <Property name="AxisLabelFont" />
          <Property name="AxisLabelColor" />
          <Property name="AxisLabelNotation" />
          <Property name="AxisLabelPrecision" />
          <Property name="AxisScale" />
          <Property name="AxisBehavior" />
          <Property name="AxisRange" />
          <Property name="LeftAxisLabels" />
          <Property name="BottomAxisLabels" />
          <Property name="RightAxisLabels" />
          <Property name="TopAxisLabels" />
          <Property name="AxisTitle" />
          <Property name="AxisTitleFont" />
          <Property name="AxisTitleColor" />
          <Property name="AxisTitleAlignment" />
          <Property name="BarHelpFormat" />
          <Property name="BarOutlineStyle" />
          <Property name="BarGroupFraction" />
          <Property name="BarWidthFraction" />
        </ExposedProperties>
        <!-- End of "RootView" subproxy -->
      </SubProxy>

      <!-- End of ComparativeBarChartView -->
    </ComparativeViewProxy>
#endif

    <TwoDRenderViewProxy name="2DRenderViewBase"
      base_proxygroup="views" base_proxyname="ViewBase">
      <Documentation>
        Defines base API for 2DRenderView and subtypes. Don't use directly.
      </Documentation>

      <SubProxy>
        <!-- SubProxy used to axes annotation -->
        <Proxy name="LegendScaleActor"
          proxygroup="props" proxyname="LegendScaleActor" />
          <ExposedProperties>
            <Property name="Visibility" exposed_name="AxesVisibility" />
          </ExposedProperties>
      </SubProxy>

      <!-- 2DRenderViewBase -->
    </TwoDRenderViewProxy>

    <TwoDRenderViewProxy name="2DRenderView"
      base_proxygroup="views" base_proxyname="2DRenderViewBase">
      <Documentation>
        Simplest 2D render view without compositing/client-server support.
        Currently this view can only show image slices.
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView"
          proxygroup="views" proxyname="RenderView" >
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <!-- Hide CameraParallelProjection, since CameraParallelProjection is
            always true in this view. 
          <Property name="CameraParallelProjection" />
          -->
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
        </ExposedProperties>
      </SubProxy>
      <!-- End of 2DRenderView -->
    </TwoDRenderViewProxy>

    <TwoDRenderViewProxy name="2DIceTCompositeView"
      base_proxygroup="views" base_proxyname="2DRenderViewBase">
      <Documentation>
        IceT based 2D render view. 
        Currently this view can only show image slices.
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="IceTCompositeView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of 2DIceTDesktopRenderView -->
    </TwoDRenderViewProxy>

    <TwoDRenderViewProxy name="2DIceTDesktopRenderView"
      base_proxygroup="views" base_proxyname="2DRenderViewBase">
      <Documentation>
        IceT based 2D render view. 
        Currently this view can only show image slices.
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="IceTDesktopRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
          <!-- Image Delivery Compressor -->
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of 2DIceTDesktopRenderView -->
    </TwoDRenderViewProxy>

    <TwoDRenderViewProxy name="2DIceTMultiDisplayRenderView"
      base_proxygroup="views" base_proxyname="2DRenderViewBase">
      <Documentation>
        This is a 2D view comprising of a
        "IceTMultiDisplayRenderView" proxy (used in case of Tile displays).
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="IceTMultiDisplayRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- Tiles -->
          <Property name="CollectGeometryThreshold" />
          <Property name="StillRenderImageReductionFactor" />
          <Property name="TileDisplayCompositeThreshold" />
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
          <!-- Image Delivery Compressor -->
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of 2DIceTMultiDisplayRenderView -->
    </TwoDRenderViewProxy>

    <TwoDRenderViewProxy name="2DClientServerRenderView"
      base_proxygroup="views" base_proxyname="2DRenderViewBase">
      <Documentation>
        2D view used in client-server mode without IceT (single node server).
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="ClientServerRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
          <Property name="RemoteRenderThreshold" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of 2DClientServerRenderView -->
    </TwoDRenderViewProxy>

    <ScatterPlotViewProxy name="ScatterPlotRenderViewBase"
                          base_proxygroup="views" base_proxyname="ViewBase">
      <Documentation>
        Defines base API for ScatterPlotView and subtypes. Don't use directly.
      </Documentation>
      <!-- End of ScatterPlotView -->
    </ScatterPlotViewProxy>

    <ScatterPlotViewProxy name="ScatterPlotRenderView"
      base_proxygroup="views" base_proxyname="ScatterPlotRenderViewBase">
      <Documentation>
        Simplest ScatterPlot render view without compositing/client-server support.
        Currently this view can only show image slices.
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView"
          proxygroup="views" proxyname="RenderView" >
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
        </ExposedProperties>
      </SubProxy>
      <!-- End of ScatterPlotRenderView -->
    </ScatterPlotViewProxy>

    <ScatterPlotViewProxy name="ScatterPlotIceTCompositeView"
      base_proxygroup="views" base_proxyname="ScatterPlotRenderViewBase">
      <Documentation>
        IceT based ScatterPlot render view. 
        Currently this view can only show image slices.
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="IceTCompositeView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of ScatterPlotIceTDesktopRenderView -->
    </ScatterPlotViewProxy>

    <ScatterPlotViewProxy name="ScatterPlotIceTDesktopRenderView"
      base_proxygroup="views" base_proxyname="ScatterPlotRenderViewBase">
      <Documentation>
        IceT based ScatterPlot render view. 
        Currently this view can only show image slices.
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="IceTDesktopRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
          <!-- Image Delivery Compressor -->
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of ScatterPlotIceTDesktopRenderView -->
    </ScatterPlotViewProxy>

    <ScatterPlotViewProxy name="ScatterPlotIceTMultiDisplayRenderView"
      base_proxygroup="views" base_proxyname="ScatterPlotRenderViewBase">
      <Documentation>
        This is a ScatterPlot view comprising of a
        "IceTMultiDisplayRenderView" proxy (used in case of Tile displays).
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="IceTMultiDisplayRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- Tiles -->
          <Property name="CollectGeometryThreshold" />
          <Property name="StillRenderImageReductionFactor" />
          <Property name="TileDisplayCompositeThreshold" />
          <Property name="ImageReductionFactor" />
          <Property name="DisableOrderedCompositing" />
          <Property name="RemoteRenderThreshold" />
          <!-- Image Delivery Compressor -->
          <Property name="CompressionEnabled" />
          <Property name="CompressorConfig" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of ScatterPlotIceTMultiDisplayRenderView -->
    </ScatterPlotViewProxy>

    <ScatterPlotViewProxy name="ScatterPlotClientServerRenderView"
      base_proxygroup="views" base_proxyname="ScatterPlotRenderViewBase">
      <Documentation>
        ScatterPlot view used in client-server mode without IceT (single node server).
      </Documentation>

      <SubProxy>
        <Proxy name="RenderView" 
          proxygroup="views" proxyname="ClientServerRenderView">
        </Proxy>
        <ExposedProperties>
          <Property name="LODThreshold" />
          <Property name="LODResolution" />
          <Property name="UseTriangleStrips" />
          <Property name="UseImmediateMode" />
          <Property name="RenderInterruptsEnabled" />
          <Property name="ResetCamera" />
          <Property name="UseLight" />
          <!-- Light -->
          <Property name="LightAmbientColor" />
          <Property name="LightDiffuseColor" />
          <Property name="LightSpecularColor" />
          <Property name="LightIntensity" />
          <Property name="LightSwitch" />
          <!-- LightKit -->
          <Property name="KeyLightWarmth" />
          <Property name="KeyLightIntensity" />
          <Property name="KeyLightElevation" />
          <Property name="KeyLightAzimuth" />
          <Property name="FillLightWarmth" />
          <Property name="FillLightK:F Ratio" />
          <Property name="FillLightElevation" />
          <Property name="FillLightAzimuth" />
          <Property name="BackLightWarmth" />
          <Property name="BackLightK:B Ratio" />
          <Property name="BackLightElevation" />
          <Property name="BackLightAzimuth" />
          <Property name="HeadLightWarmth" />
          <Property name="HeadLightK:H Ratio" />
          <Property name="MaintainLuminance" />
          <!-- ActiveCamera -->
          <Property name="CameraPositionInfo" />
          <Property name="CameraPosition" />
          <Property name="CameraFocalPointInfo" />
          <Property name="CameraFocalPoint" />
          <Property name="CameraViewUpInfo" />
          <Property name="CameraViewUp" />
          <Property name="CameraViewAngle" />
          <Property name="CameraClippingRangeInfo" />
          <Property name="CameraClippingRange" />
          <Property name="CameraParallelScale" />
          <Property name="CameraParallelScaleInfo" />
          <Property name="CameraParallelProjection" />
          <Property name="EyeAngle" />
          <!-- Interactor -->
          <Property name="CameraManipulators" />
          <Property name="CenterOfRotation" />
          <!-- Renderer -->
          <Property name="Background" />
          <!-- RenderWindow -->
          <Property name="RemoteRenderThreshold" />
        </ExposedProperties>
        <!-- End of "RenderView" subproxy -->
      </SubProxy>

      <!-- End of ScatterPlotClientServerRenderView -->
    </ScatterPlotViewProxy>

    <!-- End of group "views" -->
  </ProxyGroup>

  <ProxyGroup name="representations">
    <SelectionRepresentationProxy name="SelectionRepresentation">
      <Documentation>
        Proxy to show a selection as geometry.
      </Documentation>

      <InputProperty name="Input" 
        command="NotUsed">
        <InputArrayDomain name="input_array_any"
          attribute_type="any">
        </InputArrayDomain>
      </InputProperty>
      
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="PointLabelVisibility"
        command="SetPointLabelVisibility"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility of the cell labels for this representation. 
          This is ignored if Visibility is 0.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
        name="CellLabelVisibility"
        command="SetCellLabelVisibility"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
          This is ignored if Visibility is 0.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <SubProxy>
        <!-- GeometryFilter for selection pipeline -->
        <Proxy name="GeometryFilter"
          proxygroup="filters" proxyname="GeometryFilter" />
        <ExposedProperties>
          <Property name="UseOutline" />
        </ExposedProperties>

      </SubProxy>

      <SubProxy>
        <!-- 
          Mapper for selection 
        -->
        <Proxy name="Mapper" 
          proxygroup="mappers" proxyname="PolyDataMapper" />
      </SubProxy>

      <SubProxy>
        <!-- 
          Mapper for low-res selection. It shares all its properties with the
          high-res mapper (except input ofcourse).
        -->
        <Proxy name="LODMapper" 
          proxygroup="mappers" proxyname="PolyDataMapper" />
        <ShareProperties subproxy="Mapper" >
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <!--
          SelectionProp3D that gets added to the 3D renderer 
        -->
        <Proxy name="Prop3D" proxygroup="props" proxyname="LODActor" />
      </SubProxy>

      <SubProxy>
        <!--
          Property for the vtkProp.
        -->
        <Proxy name="Property" proxygroup="properties" proxyname="Property2" />
        <ExposedProperties>
          <Property name="Color"/> 
          <Property name="LineWidth"/> 
          <Property name="Opacity"/> 
          <Property name="PointSize"/> 
          <Property name="Representation"/> 
        </ExposedProperties>
      </SubProxy>
      
      <SubProxy>
        <Proxy name="LabelRepresentation" 
          proxygroup="representations"
          proxyname="DataLabelRepresentation" />
        <ExposedProperties>
          <Property name="PointLabelColor" />
          <Property name="PointLabelOpacity" />
          <Property name="PointLabelFontFamily" />
          <Property name="PointLabelJustification" />
          <Property name="PointLabelBold" />
          <Property name="PointLabelItalic" />
          <Property name="PointLabelShadow" />
          <Property name="PointLabelFontSize" />
          <Property name="PointFieldDataArrayIndex" />
          <Property name="PointFieldDataArrayName" />
          
          <Property name="CellLabelColor" />
          <Property name="CellLabelOpacity" />
          <Property name="CellLabelFontFamily" />
          <Property name="CellLabelJustification" />
          <Property name="CellLabelBold" />
          <Property name="CellLabelItalic" />
          <Property name="CellLabelShadow" />
          <Property name="CellLabelFontSize" />
          <Property name="CellFieldDataArrayIndex" />
          <Property name="CellFieldDataArrayName" />
        </ExposedProperties>
      </SubProxy>

    <!-- End of SelectionRepresentation -->
    </SelectionRepresentationProxy>

    <Proxy name="SurfaceRepresentationBase" class="not-used">
      <Documentation>
        API for for SurfaceRepresentation.
      </Documentation>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ColorAttributeType"
        command="SetColorAttributeType"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="POINT_DATA" />
          <Entry value="1" text="CELL_DATA" />
          <Entry value="2" text="FIELD_DATA" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="ColorArrayName"
        command="SetColorArrayName"
        number_of_elements="1"
        default_values=""
        update_self="1">
        <Documentation>
          Set the array name to color by. Set it to empty string to use solid
          color.
        </Documentation>
        <ArrayListDomain name="array_list" attribute_type="Scalars"
          input_domain_name="input_array_any">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <IntVectorProperty
        name="Representation"
        command="SetRepresentation"
        number_of_elements="1"
        default_values="2"
        update_self="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Points" />
          <Entry value="1" text="Wireframe" />
          <Entry value="2" text="Surface" />
          <Entry value="3" text="Surface With Edges" />
        </EnumerationDomain>
      </IntVectorProperty>

      <DoubleVectorProperty
        name="Ambient"
        command="SetAmbient"
        number_of_elements="1"
        default_values="0.0"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="Diffuse"
        command="SetDiffuse"
        number_of_elements="1"
        default_values="1.0"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="Specular"
        command="SetSpecular"
        number_of_elements="1"
        default_values="0.1"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" max="1" />
      </DoubleVectorProperty>

      <IntVectorProperty
          name="SuppressLOD"
          command="SetSuppressLOD"
          number_of_elements="1"
          default_values="0"
          update_self="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <SubProxy>
        <!-- 
          Geometry filter is used to conver non-polydata input to polydata.
          It is also used to convert poly data to triangle strips when
          requested.
        -->
        <Proxy name="GeometryFilter"
          proxygroup="filters" proxyname="GeometryFilter" />
        <ExposedProperties>
          <Property name="UseStrips" />
          <Property name="ForceStrips" />
        </ExposedProperties>
      </SubProxy>
  
      <SubProxy>
        <!-- 
          Mapper for high-res geometry.
        -->
        <Proxy name="Mapper" proxygroup="mappers" proxyname="PolyDataMapper" />
        <ExposedProperties>
          <Property name="LookupTable" />
          <Property name="MapScalars" />
          <Property name="ImmediateModeRendering" />
          <Property name="InterpolateScalarsBeforeMapping" />
          <Property name="UseLookupTableScalarRange" />
          <Property name="ClippingPlanes" />
          <Property name="NumberOfSubPieces" />
          <Property name="StaticMode" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- 
          Mapper for low-res geometry. It shares all its properties with the
          high-res mapper (except input ofcourse).
        -->
        <Proxy name="LODMapper" 
          proxygroup="mappers" proxyname="PolyDataMapper" />
        <ShareProperties subproxy="Mapper" >
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <!--
          Prop3D that gets added to the 3D renderer 
        -->
        <Proxy name="Prop3D" proxygroup="props" proxyname="LODActor" />
        <ExposedProperties>
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Pickable" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Texture" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!--
          Property for the vtkProp.
        -->
        <Proxy name="Property" proxygroup="properties" proxyname="Property" />
        <ExposedProperties>
          <Property name="AmbientColor" />
          <Property name="BackfaceCulling" />
          <Property name="DiffuseColor" />
          <Property name="EdgeColor" />
          <Property name="FrontfaceCulling" />
          <Property name="Interpolation" />
          <Property name="LineWidth" />
          <Property name="Opacity" />
          <Property name="PointSize" />
          <Property name="Shading" />
          <Property name="SpecularColor" />
          <Property name="SpecularPower" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- This is the helper that assures that the material xml is provided
          to the servers from the client, when needed. Note that this is 
          a client only proxy -->
        <MaterialLoaderProxy name="MaterialLoader" >
          <StringVectorProperty name="Material"
            command="LoadMaterial"
            number_of_elements="1"
            update_self="1">
          </StringVectorProperty>
        </MaterialLoaderProxy>
        <ExposedProperties>
          <Property name="Material" />
        </ExposedProperties>
      </SubProxy>
      <!-- End of SurfaceRepresentationBase -->
    </Proxy>

    <SurfaceRepresentationProxy name="SurfaceRepresentation" 
      base_proxygroup="representations"
      base_proxyname="SurfaceRepresentationBase">
      <Documentation>
        Representation to show surface.
      </Documentation>
      
      <InputProperty name="Input" 
        command="NotUsed">
        <InputArrayDomain name="input_array_any"
          attribute_type="any">
        </InputArrayDomain>
      </InputProperty>

    <!-- End of SurfaceRepresentation -->
    </SurfaceRepresentationProxy>

    <ImageSliceRepresentationProxy name="ImageSliceRepresentation">
      <Documentation>
        Representation to show 2D images. If the input image has 3D extents,
        then this representation shows a single Z slice.
      </Documentation>

      <InputProperty name="Input" 
        command="not-used">
        <Documentation>
          Set the input to the representation. Must be a vtkImageData producer.
        </Documentation>
        <DataTypeDomain name="input_type">
          <DataType value="vtkImageData" />
        </DataTypeDomain>
      </InputProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ColorAttributeType"
        command="SetColorAttributeType"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <Documentation>
          Select the attribute type from where the scalars array is used. The
          scalar array name is specified using ColorArrayName. Note that if the
          indicated scalar array is not available, then the image data scalars
          are used.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry value="0" text="POINT_DATA" />
          <Entry value="1" text="CELL_DATA" />
          <Entry value="2" text="FIELD_DATA" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="ColorArrayName"
        command="SetColorArrayName"
        number_of_elements="1"
        default_values=""
        update_self="1">
        <Documentation>
          Set the array name to color by.
          If no array name is set, or choosen array is not available, then the
          image scalars are used by default.
        </Documentation>
        <ArrayListDomain name="array_list" attribute_type="Scalars"
          input_domain_name="input_array_any">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <SubProxy>
        <SourceProxy name="Slicer" class="vtkPVImageSlicer">
          <InputProperty
            name="Input"
            command="SetInputConnection">
            <DataTypeDomain name="input_type">
              <DataType value="vtkImageData"/>
            </DataTypeDomain>
          </InputProperty>

          <IntVectorProperty name="Slice"
            command="SetSlice"
            number_of_elements="1"
            default_values="0">
            <Documentation>
              Set the current slice number. Slice number is used to load a 2D slice
              from a 3D input image. If the input image is 2D, then the slice number
              if ignored. The direction of the slice is determined by SliceMode.
            </Documentation>
            <DimensionsDomain name="dims">
              <RequiredProperties>
                <Property name="Input" function="Input"/>
                <Property name="SliceMode" function="Direction"/>
              </RequiredProperties>
            </DimensionsDomain>
          </IntVectorProperty>

          <IntVectorProperty name="SliceMode"
            command="SetSliceMode"
            number_of_elements="1"
            default_values="5">
            <Documentation>
              Determines the direction of slicing to obtain a 2D slice from a 3D
              image.
            </Documentation>
            <EnumerationDomain name="enum" >
              <Entry text="XY Plane" value="5" />
              <Entry text="YZ Plane" value="6" />
              <Entry text="XZ Plane" value="7" />
            </EnumerationDomain>
          </IntVectorProperty>
        </SourceProxy>
        <ExposedProperties>
          <Property name="Slice" />
          <Property name="SliceMode" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- Mapper for high-res image -->
        <Proxy name="Mapper" 
          proxygroup="mappers" proxyname="ImageSliceMapper" />
        <ExposedProperties>
          <Property name="LookupTable" />
          <Property name="UseXYPlane" />
        <!--  <Property name="Slice" />
          <Property name="SliceMode" />-->
          <Property name="MapScalars" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- Mapper for low-res image -->
        <Proxy name="LODMapper" 
          proxygroup="mappers" proxyname="ImageSliceMapper" />
        <ShareProperties subproxy="Mapper" >
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <!-- Prop3D that gets added to the 3D renderer -->
        <Proxy name="Prop3D" proxygroup="props" proxyname="Actor" />
        <ExposedProperties>
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Pickable" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Texture" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- Property for the vtkProp.  -->
        <Proxy name="Property" proxygroup="properties" proxyname="Property" />
        <ExposedProperties>
          <Property name="Opacity" />
          <Property name="Shading" />

          <!--
          <Property name="SpecularColor" />
          <Property name="SpecularPower" />
          <Property name="PointSize" />
          <Property name="LineWidth" />
          <Property name="Interpolation" />
          <Property name="AmbientColor" />
          <Property name="DiffuseColor" />
          <Property name="EdgeColor" />
          -->
        </ExposedProperties>
      </SubProxy>

      <!-- End of ImageSliceRepresentation -->
    </ImageSliceRepresentationProxy>

    <OutlineRepresentationProxy name="OutlineRepresentation">
      
      <InputProperty name="Input" 
        command="NotUsed">
        <InputArrayDomain name="input_array_any"
          attribute_type="any">
        </InputArrayDomain>
      </InputProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ColorAttributeType"
        command="SetColorAttributeType"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="POINT_DATA" />
          <Entry value="1" text="CELL_DATA" />
          <Entry value="2" text="FIELD_DATA" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="ColorArrayName"
        command="SetColorArrayName"
        number_of_elements="1"
        default_values=""
        update_self="1">
        <Documentation>
          Set the array name to color by. Set it to empty string to use solid
          color.
        </Documentation>
        <ArrayListDomain name="array_list" attribute_type="Scalars"
          input_domain_name="input_array_any">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <SubProxy>
        <!-- 
          vtkOutlineFilter is used to conver non-polydata input to polydata.
        -->
        <Proxy name="OutlineFilter"
          proxygroup="filters" proxyname="GeometryFilter" />
        <ExposedProperties>
          <Property name="MakeOutlineOfInput" />
        </ExposedProperties>
      </SubProxy>
  
      <SubProxy>
        <!-- 
          Mapper for high-res geometry.
        -->
        <Proxy name="Mapper" proxygroup="mappers" proxyname="PolyDataMapper" />
        <ExposedProperties>
          <Property name="LookupTable" />
          <Property name="MapScalars" />
          <Property name="ImmediateModeRendering" />
          <Property name="InterpolateScalarsBeforeMapping" />
          <Property name="UseLookupTableScalarRange" />
          <Property name="ClippingPlanes" />
          <Property name="NumberOfSubPieces" />
          <Property name="StaticMode" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!--
          Prop3D that gets added to the 3D renderer 
        -->
        <Proxy name="Prop3D" proxygroup="props" proxyname="LODActor" />
        <ExposedProperties>
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Pickable" />
          <Property name="Position" />
          <Property name="Scale" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!--
          Property for the vtkProp.
        -->
        <Proxy name="Property" proxygroup="properties" proxyname="Property" />
        <ExposedProperties>
          <Property name="AmbientColor" />
          <Property name="LineWidth" />
          <Property name="Opacity" />
        </ExposedProperties>
      </SubProxy>

    <!-- End of OutlineRepresentation -->
    </OutlineRepresentationProxy>

    <UniformGridVolumeRepresentationProxy name="UniformGridVolumeRepresentation">     
      <InputProperty name="Input" 
        command="NotUsed"
        />

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ColorAttributeType"
        command="SetColorAttributeType"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="POINT_DATA" />
          <Entry value="1" text="CELL_DATA" />
          <Entry value="2" text="FIELD_DATA" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="ColorArrayName"
        command="SetColorArrayName"
        number_of_elements="1"
        default_values=""
        update_self="1">
        <Documentation>
          Set the array name to color by. Set it to empty string to use solid
          color.
        </Documentation>
        <ArrayListDomain name="array_list" attribute_type="Scalars"
          input_domain_name="input_array_any">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <SubProxy>
        <Proxy name="VolumeFixedPointRayCastMapper" 
          proxygroup="mappers" 
          proxyname="FixedPointVolumeRayCastMapper">
        </Proxy>
        <ExposedProperties>
          <Property name="LockSampleDistanceToInputSpacing" />
          <Property name="BlendMode"/>
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop3D" proxygroup="props" proxyname="LODVolume" />
        <ExposedProperties>
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Pickable" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeProperty" 
          proxygroup="properties" proxyname="VolumeProperty" >
        </Proxy>
        <ExposedProperties>
          <Property name="ScalarOpacityUnitDistance" />
          <Property name="ScalarOpacityFunction" />
          <Property name="ColorTransferFunction" exposed_name="LookupTable"/>
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- 
          Mapper for client-side rendering.
        -->
        <Proxy name="LODMapper" proxygroup="mappers" proxyname="PolyDataMapper" />
      </SubProxy>

    <!-- End of UniformGridVolumeRepresentation -->
    </UniformGridVolumeRepresentationProxy>

    <UnstructuredGridVolumeRepresentationProxy name="UnstructuredGridVolumeRepresentation">

      <InputProperty name="Input"
        command="NotUsed"
        />

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="SelectedMapperIndex"
        command="SetSelectedMapperIndex"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Projected tetra" />
          <Entry value="1" text="HAVS" />
          <Entry value="2" text="Z sweep" />
          <Entry value="3" text="Bunyk ray cast" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="ColorAttributeType"
        command="SetColorAttributeType"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="POINT_DATA" />
          <Entry value="1" text="CELL_DATA" />
          <Entry value="2" text="FIELD_DATA" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="ColorArrayName"
        command="SetColorArrayName"
        number_of_elements="1"
        default_values=""
        update_self="1">
        <Documentation>
          Set the array name to color by. Set it to empty string to use solid
          color.
        </Documentation>
        <ArrayListDomain name="array_list" attribute_type="Scalars"
          input_domain_name="input_array_any">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <ProxyProperty
        name="LookupTable"
        command="SetLookupTable"
        update_self="1" >
        <Documentation>
          Set the lookup table to use for mapping scalars to color.
        </Documentation>
        <ProxyGroupDomain name="groups">
          <Group name="transfer_functions" />
          <Group name="lookup_tables" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <!-- Subproxies for Volume Pipeline -->
      <SubProxy>
        <SourceProxy name="VolumeFilter" class="vtkVolumeRepresentationPreprocessor" >
          <InputProperty
            name="Input"
            command="SetInputConnection">
            <ProxyGroupDomain name="groups">
              <Group name="sources"/>
              <Group name="filters"/>
            </ProxyGroupDomain>
            <DataTypeDomain name="input_type"
              composite_data_supported="1">
              <DataType value="vtkDataObject" />
            </DataTypeDomain>
          </InputProperty>
          <IntVectorProperty
            name="ExtractedBlockIndex"
            command="SetExtractedBlockIndex"
            number_of_elements="1"
            default_values="0">
            <Documentation>
              In case of multiblock datasets, choose the flat index of the dataset to 
              volume render. The flat index must point to an unstructured grid dataset.
              If the input is not a multiblock dataset then this index is ignored.
            </Documentation>
            <CompositeTreeDomain name="tree" mode="leaves">
              <RequiredProperties>
                <Property name="Input" function="Input"/>
              </RequiredProperties>
           </CompositeTreeDomain>
          </IntVectorProperty>
          <IntVectorProperty
            name="TetrahedraOnly"
            command="SetTetrahedraOnly"
            number_of_elements="1"
            default_values="1" >
            <BooleanDomain name="bool"/>
          </IntVectorProperty>
        </SourceProxy>
        <ExposedProperties>
          <Property name="ExtractedBlockIndex" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeDummyMapper"
               proxygroup="mappers"
               proxyname="DummyVolumeMapper">
        </Proxy>
        <ExposedProperties>
          <Property name="RayCastFunction" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeBunykMapper"
          proxygroup="mappers"
          proxyname="UnstructuredGridVolumeRayCastMapper">
        </Proxy>
        <ShareProperties subproxy="VolumeDummyMapper">
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeZSweepMapper"
          proxygroup="mappers"
          proxyname="UnstructuredGridVolumeZSweepMapper">
        </Proxy>
        <ShareProperties subproxy="VolumeDummyMapper">
          <Exception name="Input"/>
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumePTMapper"
          proxygroup="mappers"
          proxyname="ProjectedTetrahedraMapper">
        </Proxy>
        <ShareProperties subproxy="VolumeDummyMapper">
          <Exception name="Input"/>
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeHAVSMapper"
          proxygroup="mappers"
          proxyname="HAVSVolumeMapper">
        </Proxy>
        <ShareProperties subproxy="VolumeDummyMapper">
          <Exception name="Input"/>
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop3D" proxygroup="props" proxyname="LODVolume" />
        <ExposedProperties>
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Pickable" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeProperty"
          proxygroup="properties" proxyname="VolumeProperty" >
        </Proxy>
        <ExposedProperties>
          <Property name="ScalarOpacityUnitDistance" />
          <Property name="ScalarOpacityFunction" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- 
          Mapper for low-res geometry. It shares all its properties with the
          high-res mapper (except input ofcourse).
        -->
        <Proxy name="VolumeLODMapper" 
          proxygroup="mappers" proxyname="PolyDataMapper" />
        <ShareProperties subproxy="VolumeDummyMapper" >
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <!-- End of UnstructuredGridVolumeRepresentation -->
    </UnstructuredGridVolumeRepresentationProxy>

    <PVRepresentationProxy name="PVRepresentationBase">
      <Documentation>
        Base-API definition for all representations shown in the default 3D view
        in ParaView i.e. (views, RenderView).
      </Documentation>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty name="SelectionVisibility"
        command="SetSelectionVisibility"
        number_of_elements="1"
        update_self="1"
        default_values="1" >
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for the selection, if any.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="CubeAxesVisibility"
        command="SetCubeAxesVisibility"
        number_of_elements="1"
        update_self="1"
        default_values="0" >
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for the cube axes.
        </Documentation>
      </IntVectorProperty>

      <RepresentationType 
        subproxy="OutlineRepresentation" text="Outline"/>
      <RepresentationType
        subproxy="SurfaceRepresentation" text="Points" subtype="0" />
      <RepresentationType
        subproxy="SurfaceRepresentation" text="Wireframe" subtype="1" />
      <RepresentationType
        subproxy="SurfaceRepresentation" text="Surface" subtype="2" />
      <RepresentationType
        subproxy="SurfaceRepresentation" text="Surface With Edges" subtype="3" />

      <IntVectorProperty
        name="Representation"
        command="SetRepresentation"
        number_of_elements="1"
        default_values="2"
        update_self="1">
        <Documentation>
          Choose the type for the representation.
        </Documentation>
        <EnumerationDomain name="enum">
          <!-- this domain is automatically populated using RepresentationType
               elements in the definition for this proxy. 
          <Entry value="3" text="Outline" />
          <Entry value="0" text="Points" />
          <Entry value="1" text="Wireframe" />
          <Entry value="2" text="Surface" />
          <Entry value="5" text="Surface With Edges" />
          -->
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="BackfaceRepresentation"
        command="SetBackfaceRepresentation"
        number_of_elements="1"
        default_values="400"
        update_self="1">
        <Documentation>
          Choose the representation type for the backface.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry value="400" text="Follow Frontface" />
          <Entry value="401" text="Cull Backface" />
          <Entry value="402" text="Cull Frontface" />
          <Entry value="0"   text="Points" />
          <Entry value="1"   text="Wireframe" />
          <Entry value="2"   text="Surface" />
          <Entry value="5"   text="Surface With Edges" />
        </EnumerationDomain>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="SurfaceRepresentation"
          proxygroup="representations" proxyname="SurfaceRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="ColorArrayName" />
          <Property name="ColorAttributeType" />
          <Property name="SuppressLOD" />

          <!-- Geometry Filter properties -->
          <Property name="UseStrips" />
          <Property name="ForceStrips" />

          <!-- Mapper properties -->
          <Property name="LookupTable" />
          <Property name="StaticMode" />
          <Property name="MapScalars" />
          <Property name="ImmediateModeRendering" />
          <Property name="InterpolateScalarsBeforeMapping" />
          <Property name="UseLookupTableScalarRange" />
          <Property name="ClippingPlanes" />
          <Property name="NumberOfSubPieces" />

          <!-- Prop3D properties -->
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Pickable" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Texture" />

          <!-- Property properties -->
          <Property name="Ambient" />
          <Property name="AmbientColor" />
          <Property name="Diffuse" />
          <Property name="DiffuseColor" />
          <Property name="EdgeColor" />
          <Property name="Interpolation" />
          <Property name="LineWidth" />
          <Property name="Material" />
          <Property name="Opacity" />
          <Property name="PointSize" />
          <Property name="Shading" />
          <Property name="Specular" />
          <Property name="SpecularColor" />
          <Property name="SpecularPower" />

        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="BackfaceSurfaceRepresentation"
               proxygroup="representations"
               proxyname="SurfaceRepresentation">
        </Proxy>
        <ShareProperties subproxy="SurfaceRepresentation">
          <Exception name="Input" />
          <Exception name="AmbientColor" />
          <Exception name="BackfaceCulling" />
          <Exception name="DiffuseColor" />
          <Exception name="FrontfaceCulling" />
          <Exception name="Opacity" />
          <Exception name="Representation" />
          <Exception name="Visibility" />
        </ShareProperties>
        <ExposedProperties>
          <Property name="AmbientColor" exposed_name="BackfaceAmbientColor" />
          <Property name="DiffuseColor" exposed_name="BackfaceDiffuseColor" />
          <Property name="Opacity" exposed_name="BackfaceOpacity" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="OutlineRepresentation"
          proxygroup="representations" proxyname="OutlineRepresentation">
        </Proxy>
        <ShareProperties subproxy="SurfaceRepresentation">
          <Exception name="Input" />
          <Exception name="Visibility" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="SelectionRepresentation" 
          proxygroup="representations"
          proxyname="SelectionRepresentation" />
        <ExposedProperties>
          <Property name="Color" exposed_name="SelectionColor" />
          <Property name="LineWidth" exposed_name="SelectionLineWidth" />
          <Property name="Opacity" exposed_name="SelectionOpacity" />
          <Property name="PointSize" exposed_name="SelectionPointSize" />
          <Property name="Representation"
                    exposed_name="SelectionRepresentation" />
          
          <Property name="PointLabelVisibility" 
                    exposed_name="SelectionPointLabelVisibility" />
          <Property name="PointLabelColor" exposed_name="SelectionPointLabelColor" />
          <Property name="PointLabelOpacity" exposed_name="SelectionPointLabelOpacity" />
          <Property name="PointLabelFontFamily" exposed_name="SelectionPointLabelFontFamily" />
          <Property name="PointLabelBold" exposed_name="SelectionPointLabelBold" />
          <Property name="PointLabelItalic" exposed_name="SelectionPointLabelItalic" />
          <Property name="PointLabelShadow" exposed_name="SelectionPointLabelShadow" />
          <Property name="PointLabelJustification" exposed_name="SelectionPointLabelJustification" />
          <Property name="PointLabelFontSize" exposed_name="SelectionPointLabelFontSize" />
          <Property name="PointFieldDataArrayIndex" exposed_name="SelectionPointFieldDataArrayIndex"/>
          <Property name="PointFieldDataArrayName" exposed_name="SelectionPointFieldDataArrayName"/>

          <Property name="CellLabelVisibility" 
                    exposed_name="SelectionCellLabelVisibility" />
          <Property name="CellLabelColor" exposed_name="SelectionCellLabelColor" />
          <Property name="CellLabelOpacity" exposed_name="SelectionCellLabelOpacity" />
          <Property name="CellLabelFontFamily" exposed_name="SelectionCellLabelFontFamily" />
          <Property name="CellLabelBold" exposed_name="SelectionCellLabelBold" />
          <Property name="CellLabelItalic" exposed_name="SelectionCellLabelItalic" />
          <Property name="CellLabelShadow" exposed_name="SelectionCellLabelShadow" />
          <Property name="CellLabelJustification" exposed_name="SelectionCellLabelJustification" />
          <Property name="CellLabelFontSize" exposed_name="SelectionCellLabelFontSize" />
          <Property name="CellFieldDataArrayIndex" exposed_name="SelectionCellFieldDataArrayIndex" />
          <Property name="CellFieldDataArrayName" exposed_name="SelectionCellFieldDataArrayName" />
          <Property name="UseOutline" exposed_name="SelectionUseOutline"/>
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="CubeAxesRepresentation"
          proxygroup="representations" proxyname="CubeAxesRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property exposed_name="CubeAxesColor" name="Color" />
          <Property exposed_name="CubeAxesCornerOffset" name="CornerOffset" />
          <Property exposed_name="CubeAxesFlyMode" name="FlyMode" />
          <Property exposed_name="CubeAxesInertia" name="Inertia" />
          <Property exposed_name="CubeAxesTickLocation" name="TickLocation" />
          <Property exposed_name="CubeAxesXAxisMinorTickVisibility" name="XAxisMinorTickVisibility" />
          <Property exposed_name="CubeAxesXAxisTickVisibility" name="XAxisTickVisibility" />
          <Property exposed_name="CubeAxesXAxisVisibility" name="XAxisVisibility" />
          <Property exposed_name="CubeAxesXGridLines" name="XGridLines" />
          <Property exposed_name="CubeAxesXTitle" name="XTitle" />
          <Property exposed_name="CubeAxesYAxisMinorTickVisibility" name="YAxisMinorTickVisibility" />
          <Property exposed_name="CubeAxesYAxisTickVisibility" name="YAxisTickVisibility" />
          <Property exposed_name="CubeAxesYAxisVisibility" name="YAxisVisibility" />
          <Property exposed_name="CubeAxesYGridLines" name="YGridLines" />
          <Property exposed_name="CubeAxesYTitle" name="YTitle" />
          <Property exposed_name="CubeAxesZAxisMinorTickVisibility" name="ZAxisMinorTickVisibility" />
          <Property exposed_name="CubeAxesZAxisTickVisibility" name="ZAxisTickVisibility" />
          <Property exposed_name="CubeAxesZAxisVisibility" name="ZAxisVisibility" />
          <Property exposed_name="CubeAxesZGridLines" name="ZGridLines" />
          <Property exposed_name="CubeAxesZTitle" name="ZTitle" />
        </ExposedProperties>
        <ShareProperties subproxy="SurfaceRepresentation">
          <Exception name="Input" />
          <Exception name="Visibility" />
        </ShareProperties>
      </SubProxy>
    <!-- End of PVRepresentationBase -->
    </PVRepresentationProxy>

    <PVRepresentationProxy name="GeometryRepresentation"
      base_proxygroup="representations" 
      base_proxyname="PVRepresentationBase">
      <Documentation>
        This representation is used to show geometry as
        Surface/Outline/Points/Wireframe.
      </Documentation>
      
      <InputProperty 
        name="Input"
        command="NotUsed">
       <DataTypeDomain name="input_type">
         <DataType value="vtkDataSet"/>
       </DataTypeDomain>
        <Documentation>
          Set the input to the representation.
        </Documentation>
      </InputProperty>

      <Hints>
        <InheritRepresentationProperties>
          <!-- Inherit apperance properties -->
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Texture" />
          <Property name="Ambient" />
          <Property name="AmbientColor" />
          <Property name="Diffuse" />
          <Property name="DiffuseColor" />
          <Property name="EdgeColor" />
          <Property name="Interpolation" />
          <Property name="LineWidth" />
          <Property name="Material" />
          <Property name="Opacity" />
          <Property name="PointSize" />
          <Property name="Shading" />
          <Property name="Specular" />
          <Property name="SpecularColor" />
          <Property name="SpecularPower" />

          <!-- Inherit backface appearance properties -->
          <Property name="BackfaceAmbientColor" />
          <Property name="BackfaceColor" />
          <Property name="BackfaceDiffuseColor" />
          <Property name="BackfaceOpacity" />

          <!-- Inherit selection properties -->
          <Property name="SelectionColor" />
          <Property name="SelectionLineWidth" />
          <Property name="SelectionOpacity" />
          <Property name="SelectionPointSize" />
          <Property name="SelectionRepresentation" />
          <Property name="SelectionInterpolation" />

          <!-- Inherit Cube-Axes properties -->
          <Property name="CubeAxesColor"/>
          <Property name="CubeAxesCornerOffset"/>
          <Property name="CubeAxesFlyMode"/>
          <Property name="CubeAxesInertia"/>
          <Property name="CubeAxesTickLocation"/>
          <Property name="CubeAxesXAxisMinorTickVisibility"/>
          <Property name="CubeAxesXAxisTickVisibility"/>
          <Property name="CubeAxesXAxisVisibility"/>
          <Property name="CubeAxesXGridLines"/>
          <Property name="CubeAxesXTitle"/>
          <Property name="CubeAxesYAxisMinorTickVisibility"/>
          <Property name="CubeAxesYAxisTickVisibility"/>
          <Property name="CubeAxesYAxisVisibility"/>
          <Property name="CubeAxesYGridLines"/>
          <Property name="CubeAxesYTitle"/>
          <Property name="CubeAxesZAxisMinorTickVisibility"/>
          <Property name="CubeAxesZAxisTickVisibility"/>
          <Property name="CubeAxesZAxisVisibility"/>
          <Property name="CubeAxesZGridLines"/>
          <Property name="CubeAxesZTitle"/>
          
        </InheritRepresentationProperties>
      </Hints>

      <!-- End of GeometryRepresentation -->
    </PVRepresentationProxy>

    <PVRepresentationProxy name="UnstructuredGridRepresentation"
      base_proxygroup="representations" 
      base_proxyname="PVRepresentationBase">
      <Documentation>
        This representation is used to show unstructured grid as
        Surface/Outline/Points/Wireframe/Volume
      </Documentation>
     
      <!-- this adds to what is already defined in PVRepresentationBase -->
      <RepresentationType subproxy="VolumeRepresentation" text="Volume"/>

      <InputProperty 
        name="Input"
        command="NotUsed">
       <DataTypeDomain name="input_type"
          composite_data_supported="1">
         <DataType value="vtkUnstructuredGrid"/>
       </DataTypeDomain>
        <Documentation>
          Set the input to the representation.
        </Documentation>
      </InputProperty>

      <SubProxy>
        <Proxy name="VolumeRepresentation"
          proxygroup="representations"
          proxyname="UnstructuredGridVolumeRepresentation" />
        <ShareProperties subproxy="SurfaceRepresentation">
          <Exception name="Input" />
          <Exception name="Visibility" />
        </ShareProperties>
        <ExposedProperties>
          <Property name="ScalarOpacityFunction" />
          <Property name="ScalarOpacityUnitDistance" />
          <Property name="ExtractedBlockIndex" />
          <Property name="SelectedMapperIndex" />
        </ExposedProperties>
      </SubProxy>

      <Hints>
        <InheritRepresentationProperties>
          <!-- Inherit apperance properties -->
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Texture" />
          <Property name="Ambient" />
          <Property name="AmbientColor" />
          <Property name="Diffuse" />
          <Property name="DiffuseColor" />
          <Property name="EdgeColor" />
          <Property name="Interpolation" />
          <Property name="LineWidth" />
          <Property name="Material" />
          <Property name="Opacity" />
          <Property name="PointSize" />
          <Property name="Shading" />
          <Property name="Specular" />
          <Property name="SpecularColor" />
          <Property name="SpecularPower" />

          <!-- Inherit backface appearance properties -->
          <Property name="BackfaceAmbientColor" />
          <Property name="BackfaceColor" />
          <Property name="BackfaceDiffuseColor" />
          <Property name="BackfaceOpacity" />
        
          <!-- Inherit selection properties -->
          <Property name="SelectionColor" />
          <Property name="SelectionLineWidth" />
          <Property name="SelectionOpacity" />
          <Property name="SelectionPointSize" />
          <Property name="SelectionRepresentation" />
          <Property name="SelectionInterpolation" />

          <!-- Inherit Cube-Axes properties -->
          <Property name="CubeAxesColor"/>
          <Property name="CubeAxesCornerOffset"/>
          <Property name="CubeAxesFlyMode"/>
          <Property name="CubeAxesInertia"/>
          <Property name="CubeAxesTickLocation"/>
          <Property name="CubeAxesXAxisMinorTickVisibility"/>
          <Property name="CubeAxesXAxisTickVisibility"/>
          <Property name="CubeAxesXAxisVisibility"/>
          <Property name="CubeAxesXGridLines"/>
          <Property name="CubeAxesXTitle"/>
          <Property name="CubeAxesYAxisMinorTickVisibility"/>
          <Property name="CubeAxesYAxisTickVisibility"/>
          <Property name="CubeAxesYAxisVisibility"/>
          <Property name="CubeAxesYGridLines"/>
          <Property name="CubeAxesYTitle"/>
          <Property name="CubeAxesZAxisMinorTickVisibility"/>
          <Property name="CubeAxesZAxisTickVisibility"/>
          <Property name="CubeAxesZAxisVisibility"/>
          <Property name="CubeAxesZGridLines"/>
          <Property name="CubeAxesZTitle"/>
          
        </InheritRepresentationProperties>
      </Hints>

      <!-- End of UnstructuredGridRepresentation -->
    </PVRepresentationProxy>

    <PVRepresentationProxy name="UniformGridRepresentation"
      base_proxygroup="representations" 
      base_proxyname="PVRepresentationBase">
      <Documentation>
        This representation is used to show image data as
        Surface/Outline/Points/Wireframe/Volume/Slice.
      </Documentation>

      <!-- this adds to the types already defined in PVRepresentationBase -->
      <RepresentationType subproxy="VolumeRepresentation" text="Volume"/>
      <RepresentationType subproxy="SliceRepresentation" text="Slice"/>

      <InputProperty 
        name="Input"
        command="NotUsed">
       <DataTypeDomain name="input_type"
          composite_data_supported="0">
         <DataType value="vtkImageData"/>
       </DataTypeDomain>
        <Documentation>
          Set the input to the representation.
        </Documentation>
      </InputProperty>

      <SubProxy>
        <Proxy name="VolumeRepresentation"
          proxygroup="representations"
          proxyname="UniformGridVolumeRepresentation" />
        <ShareProperties subproxy="SurfaceRepresentation">
          <Exception name="Input" />
          <Exception name="Visibility" />
        </ShareProperties>
        <ExposedProperties>
          <Property name="LockSampleDistanceToInputSpacing" />
          <Property name="ScalarOpacityUnitDistance" />
          <Property name="ScalarOpacityFunction" />
          <Property name="BlendMode"/>
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="SliceRepresentation"
          proxygroup="representations"
          proxyname="ImageSliceRepresentation" />
        <ShareProperties subproxy="SurfaceRepresentation" >
          <Exception name="Input" />
          <Exception name="Visibility" />
        </ShareProperties>
        <ExposedProperties>
          <Property name="Slice" />
          <Property name="SliceMode" />
        </ExposedProperties>
      </SubProxy>

      <Hints>
        <InheritRepresentationProperties>
          <!-- Inherit apperance properties -->
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Texture" />
          <Property name="Ambient" />
          <Property name="AmbientColor" />
          <Property name="Diffuse" />
          <Property name="DiffuseColor" />
          <Property name="EdgeColor" />
          <Property name="Interpolation" />
          <Property name="LineWidth" />
          <Property name="Material" />
          <Property name="Opacity" />
          <Property name="PointSize" />
          <Property name="Shading" />
          <Property name="Specular" />
          <Property name="SpecularColor" />
          <Property name="SpecularPower" />

          <!-- Inherit backface appearance properties -->
          <Property name="BackfaceAmbientColor" />
          <Property name="BackfaceColor" />
          <Property name="BackfaceDiffuseColor" />
          <Property name="BackfaceOpacity" />
        
          <!-- Inherit selection properties -->
          <Property name="SelectionColor" />
          <Property name="SelectionLineWidth" />
          <Property name="SelectionOpacity" />
          <Property name="SelectionPointSize" />
          <Property name="SelectionRepresentation" />
          <Property name="SelectionInterpolation" />

          <!-- Inherit Cube-Axes properties -->
          <Property name="CubeAxesColor"/>
          <Property name="CubeAxesCornerOffset"/>
          <Property name="CubeAxesFlyMode"/>
          <Property name="CubeAxesInertia"/>
          <Property name="CubeAxesTickLocation"/>
          <Property name="CubeAxesXAxisMinorTickVisibility"/>
          <Property name="CubeAxesXAxisTickVisibility"/>
          <Property name="CubeAxesXAxisVisibility"/>
          <Property name="CubeAxesXGridLines"/>
          <Property name="CubeAxesXTitle"/>
          <Property name="CubeAxesYAxisMinorTickVisibility"/>
          <Property name="CubeAxesYAxisTickVisibility"/>
          <Property name="CubeAxesYAxisVisibility"/>
          <Property name="CubeAxesYGridLines"/>
          <Property name="CubeAxesYTitle"/>
          <Property name="CubeAxesZAxisMinorTickVisibility"/>
          <Property name="CubeAxesZAxisTickVisibility"/>
          <Property name="CubeAxesZAxisVisibility"/>
          <Property name="CubeAxesZGridLines"/>
          <Property name="CubeAxesZTitle"/>
          
        </InheritRepresentationProperties>
      </Hints>

      <!-- End of UniformGridRepresentation -->
    </PVRepresentationProxy>

    <ClientDeliveryRepresentationProxy 
      name="ClientDeliveryRepresentationBase">
      <Documentation>
        This defines the common API used by all
        ClientDeliveryRepresentation proxies. 
      </Documentation>

      <IntVectorProperty
        name="Visibility"
        number_of_elements="1"
        default_values="1" >
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="ReductionType"
        command="SetReductionType"
        default_values="3"
        number_of_elements="1"
        update_self="1">
        <EnumerationDomain name="enum">
          <Entry value="0" text="ADD" />
          <Entry value="1" text="POLYDATA_APPEND" />
          <Entry value="2" text="UNSTRUCTURED_APPEND" />
          <Entry value="3" text="FIRST_NODE_ONLY" />
          <Entry value="4" text="RECTILINEAR_GRID_APPEND" />
          <Entry value="5" text="COMPOSITE_DATASET_APPEND" />
          <Entry value="6" text="CUSTOM" />
          <Entry value="7" text="MULTIBLOCK_MERGE" />
          <Entry value="8" text="TABLE_MERGE" />
        </EnumerationDomain>
      </IntVectorProperty>

      <ProxyProperty
        name="PostGatherHelper"
        command="SetPostGatherHelper"
        update_self="1">
        <Documentation>
          Used only when ReductionType is CUSTOM.
        </Documentation>
      </ProxyProperty>

      <ProxyProperty
        name="PreGatherHelper"
        command="SetPreGatherHelper"
        update_self="1">
        <Documentation>
          Used only when ReductionType is CUSTOM.
        </Documentation>
      </ProxyProperty>

      <IntVectorProperty 
         name="PassThrough" 
         command="SetPassThrough" 
         update_self="1"
         number_of_elements="1"
         default_values="-1"> 
        <IntRangeDomain name="range" min="-1"/>
        <Documentation>
          If set to a non-negative value, then produce results using only 
          the node Id specified.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty
         name="GenerateProcessIds"
         command="SetGenerateProcessIds"
         update_self="1"
         number_of_elements="1"
         default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          If true, the filter will generate vtkOriginalProcessIds arrays
          indicating the process id on which the cell/point was generated.
        </Documentation>
      </IntVectorProperty>
        
      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty name="UseViewUpdateTime"
        command="SetUseViewUpdateTime"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Indicates if the representation should use the view time to update the
          pipeline or use "UpdateTime" set on the representation instead.
        </Documentation>
      </IntVectorProperty>

      <!-- End of ClientDeliveryRepresentationBase -->
    </ClientDeliveryRepresentationProxy>

    <ClientDeliveryRepresentationProxy name="ClientDeliveryRepresentation"
      base_proxygroup="representations"
      base_proxyname="ClientDeliveryRepresentationBase">
      <Documentation>
        A basic client delivery representation.
      </Documentation>

     <InputProperty
       name="Input"
       command="AddInput">
     </InputProperty>

      <!-- End of ClientDeliveryRepresentation -->
    </ClientDeliveryRepresentationProxy>
    <!-- =================================================================== -->
#ifdef VTK_USE_QVTK
    <Proxy name="ChartRepresentationBase">
      <Documentation>
        Defines API common to all chart representations. Don't use directly.
      </Documentation>

      <IntVectorProperty name="Visibility"
        command="SetVisibility"
        update_self="1"
        number_of_elements="1"
        default_values="1" >
        <BooleanDomain name="bool" />
        <Documentation>
          Visibility of the representation.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty name="UseViewUpdateTime"
        command="SetUseViewUpdateTime"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Indicates if the representation should use the view time to update the
          pipeline or use "UpdateTime" set on the representation instead.
        </Documentation>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="PreProcessor"
          proxygroup="extended_filters"
          proxyname="ChartRepresentationPreprocessor">
        </Proxy>
        <!-- TODO: Change Domain of CompositeDataSetIndex so that one can select
        a single leaf in the composite dataset alone -->
        <ExposedProperties>
          <Property name="FieldAssociation" exposed_name="AttributeType" />
          <Property name="CompositeDataSetIndex" />
        </ExposedProperties>
      </SubProxy>

      <StringVectorProperty name="SeriesNamesInfo"
        number_of_elements_per_command="1"
        element_types="2"
        update_self="1"
        information_only="1">
        <Documentation>
          Property providing list of available series that can be plotted.
        </Documentation>
        <ChartingArraysInformationHelper />
      </StringVectorProperty>

      <StringVectorProperty name="XArrayName"
        command="SetXAxisSeriesName"
        update_self="1"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array to use on X axis. This is used only when
          UseIndexForXAxis is set to 0. 
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>

      <IntVectorProperty name="UseIndexForXAxis"
        command="SetUseIndexForXAxis"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          When set, the array index will be used for X axis, otherwise the array
          identified by XArrayName will be used.
        </Documentation>
      </IntVectorProperty>

      <!-- End of ChartRepresentationBase -->
    </Proxy>
#endif

    <!-- =================================================================== -->
#ifdef VTK_USE_QVTK
    <ChartRepresentationProxy name="BarChartRepresentation"
      base_proxygroup="representations"
      base_proxyname="ChartRepresentationBase" >
      <Documentation>
        Representation used by BarChartView.
      </Documentation>

      <InputProperty name="Input"
        command="SetInput-not-used" >
        <Documentation>
          Data input for the representation.
        </Documentation>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataObject"/>
        </DataTypeDomain>
      </InputProperty>

      <SubProxy>
        <Proxy name="SeriesOptions" 
          proxygroup="options"
          proxyname="BarChartSeriesOptions">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" exposed_name="SeriesVisibility" />
          <Property name="Color" exposed_name="SeriesColor" />
          <Property name="LineThickness" exposed_name="SeriesLineThickness" />
          <Property name="LineStyle" exposed_name="SeriesLineStyle" />
          <Property name="Label" exposed_name="SeriesLabel" />

          <Property name="VisibilityInfo" exposed_name="SeriesVisibilityInfo" />
          <Property name="BrushColorInfo" exposed_name="SeriesColorInfo" />
          <Property name="LineThicknessInfo" exposed_name="SeriesLineThicknessInfo" />
          <Property name="LineStyleInfo" exposed_name="SeriesLineStyleInfo" />
          <Property name="LabelInfo" exposed_name="SeriesLabelInfo" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of BarChartRepresentation -->
    </ChartRepresentationProxy>

#endif

    <!-- =================================================================== -->
#ifdef VTK_USE_QVTK
    <ChartRepresentationProxy name="XYPlotRepresentation"
      base_proxygroup="representations"
      base_proxyname="ChartRepresentationBase" >
      <Documentation>
        Representation used by XYPlotView.
      </Documentation>

      <InputProperty name="Input"
        command="SetInput-not-used" >
        <Documentation>
          Data input for the representation.
        </Documentation>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataObject"/>
        </DataTypeDomain>
      </InputProperty>

      <SubProxy>
        <Proxy name="SeriesOptions" 
          proxygroup="options"
          proxyname="LineChartSeriesOptions">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" exposed_name="SeriesVisibility" />
          <Property name="Color" exposed_name="SeriesColor" />
          <Property name="LineThickness" exposed_name="SeriesLineThickness" />
          <Property name="LineStyle" exposed_name="SeriesLineStyle" />
          <Property name="Label" exposed_name="SeriesLabel" />
          <Property name="MarkerStyle" exposed_name="SeriesMarkerStyle" />
          <Property name="AxisCorner" exposed_name="SeriesAxisCorner" />

          <Property name="VisibilityInfo" exposed_name="SeriesVisibilityInfo" />
          <Property name="PenColorInfo" exposed_name="SeriesColorInfo" />
          <Property name="LineThicknessInfo" exposed_name="SeriesLineThicknessInfo" />
          <Property name="LineStyleInfo" exposed_name="SeriesLineStyleInfo" />
          <Property name="LabelInfo" exposed_name="SeriesLabelInfo" />
          <Property name="MarkerStyleInfo" exposed_name="SeriesMarkerStyleInfo" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of XYPlotRepresentation -->
    </ChartRepresentationProxy>

#endif

    <BlockDeliveryRepresentationProxy name="BlockDeliveryRepresentation">
      <Documentation>
        Representation used to deliver blocks of data to the client.
      </Documentation>

      <InputProperty name="Input"
          command="SetInput-not-used"
          update_self="1">
      </InputProperty>

      <IntVectorProperty name="Visibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IdTypeVectorProperty name="CacheSize"
        command="SetCacheSize"
        update_self="1"
        number_of_elements="1"
        default_values="16">
        <Documentation>
          Set the maximum number of blocks to cache on the client.
        </Documentation>
      </IdTypeVectorProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty name="UseViewUpdateTime"
        command="SetUseViewUpdateTime"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Indicates if the representation should use the view time to update the
          pipeline or use "UpdateTime" set on the representation instead.
        </Documentation>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="PreProcessor"
          proxygroup="extended_filters" proxyname="BlockDeliveryPreprocessor">
        </Proxy>
        <ExposedProperties>
          <Property name="FieldAssociation" />
          <Property name="CompositeDataSetIndex" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- Streaming sub-proxy -->
        <Proxy name="Streamer" 
          proxygroup="extended_filters" proxyname="TableStreamer">
        </Proxy>
        <ExposedProperties>
          <Property name="BlockSize" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <SourceProxy name="Reduction" class="vtkPVMergeTables">
        </SourceProxy>
      </SubProxy>
    </BlockDeliveryRepresentationProxy>

    <BlockDeliveryRepresentationProxy name="SelectionBlockDeliveryRepresentation">
      <Documentation>
        Representation used to deliver blocks of data to the client. 
        This representation delivers a subset of selection pertinent to the
        block that would have been delivered if we were using a
        BlockDeliveryRepresentation.
      </Documentation>

      <InputProperty name="Input"
          command="SetInput-not-used"
          update_self="1">
        <DataTypeDomain name="input_type">
          <DataType value="vtkSelection"/>
        </DataTypeDomain>
      </InputProperty>

      <IntVectorProperty name="Visibility"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IdTypeVectorProperty name="CacheSize"
        command="SetCacheSize"
        update_self="1"
        number_of_elements="1"
        default_values="16">
        <Documentation>
          Set the maximum number of blocks to cache on the client.
        </Documentation>
      </IdTypeVectorProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty name="UseViewUpdateTime"
        command="SetUseViewUpdateTime"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Indicates if the representation should use the view time to update the
          pipeline or use "UpdateTime" set on the representation instead.
        </Documentation>
      </IntVectorProperty>

      <SubProxy>
        <SourceProxy name="Streamer"
          proxygroup="extended_filters" proxyname="SelectionStreamer">
        </SourceProxy>
        <ExposedProperties>
          <Property name="BlockSize" />
          <Property name="DataInput" />
          <Property name="FieldAssociation" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <SourceProxy name="Reduction" class="vtkAppendSelection">
          <IntVectorProperty name="AppendByUnion"
            command="SetAppendByUnion"
            number_of_elements="1"
            default_values="0">
            <BooleanDomain name="bool" />
          </IntVectorProperty>
        </SourceProxy>
      </SubProxy>
    </BlockDeliveryRepresentationProxy>

    <SpreadSheetRepresentationProxy name="SpreadSheetRepresentation"
      base_proxygroup="representations"
      base_proxyname="BlockDeliveryRepresentation">

      <IntVectorProperty
        name="SelectionOnly"
        command="SetSelectionOnly"
        update_self="1"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          When set to 1, this representations shows only the selected cells (or
          points). The change will effect only after calling Update().
          Note that changing this will clean all cache.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="SelectionRepresentation"
          proxygroup="representations"
          proxyname="SelectionBlockDeliveryRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" exposed_name="SelectionVisibility" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of SpreadSheetRepresentation -->
    </SpreadSheetRepresentationProxy>

    <AxesRepresentationProxy name="FrustumWidget" class="vtkOutlineSource" >
      <IntVectorProperty name="BoxType"
        command="SetBoxType"
        number_of_elements="1"
        default_values="1">
      </IntVectorProperty>

      <DoubleVectorProperty
         name="Corners"
         command="SetCorners"
         number_of_elements="24"
         argument_is_array="1"
         default_values="0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1" >
         <Documentation>
          Specify the corners of the outline when in Oriented mode, the values
          are supplied as 8*3 double values.
         </Documentation>
      </DoubleVectorProperty>

      <SubProxy>
        <Proxy name="Mapper" proxygroup="mappers" proxyname="PolyDataMapper">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop" proxygroup="props" proxyname="Actor">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Origin" />
          <Property name="Pickable" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Property" proxygroup="properties" proxyname="Property2" />
        <ExposedProperties>
          <Property name="Color" />
          <Property name="LineWidth" />
          <Property name="PointSize" />
          <Property name="Representation" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of FrustumWidget -->
    </AxesRepresentationProxy>

    <AxesRepresentationProxy name="AxesRepresentation" class="vtkAxes" >
      
      <IntVectorProperty name="Symmetric"
        command="SetSymmetric"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty name="ComputeNormals"
        command="SetComputeNormals"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="Mapper" proxygroup="mappers" proxyname="PolyDataMapper">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop" proxygroup="props" proxyname="Actor">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Origin" />
          <Property name="Pickable" />
        </ExposedProperties>
      </SubProxy>
    </AxesRepresentationProxy>
    
    <NewWidgetRepresentationProxy name="HandleWidgetRepresentation">
      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="HandleRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" />
          <Property name="WorldPositionInfo" />
          <Property name="WorldPosition" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="HandleWidget">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
        </ExposedProperties>
      </SubProxy>
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="PointSourceWidgetRepresentation"
      base_proxygroup="representations" base_proxyname="HandleWidgetRepresentation">
      <!-- 
        This is same as handle widget except that it provides
        dummy properties for the radius/number of points in a point 
        source. 
      -->
      <DoubleVectorProperty
        name="Radius"
        number_of_elements="1"
        default_values="1.0">
        <DoubleRangeDomain name="range" min="0" />
      </DoubleVectorProperty>

      <IntVectorProperty
        name="NumberOfPoints"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="LineWidgetRepresentation">
      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="LineRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" />
          <Property name="Point1WorldPositionInfo" />
          <Property name="Point1WorldPosition" />
          <Property name="Point2WorldPositionInfo" />
          <Property name="Point2WorldPosition" />
          <Property name="PlaceWidget" />
          <Property name="LineColor" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="LineWidget2">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
          <Property name="ProcessEvents" />
        </ExposedProperties>
      </SubProxy>
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="LineSourceWidgetRepresentation"
      base_proxygroup="representations" base_proxyname="LineWidgetRepresentation">
      <!-- 
        This is same as LineWidgetRepresentation except that it provides
        dummy property for the resolution for the line source. 
      -->
      <IntVectorProperty
        name="Resolution"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="ImplicitPlaneWidgetRepresentation">
      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="ImplicitPlaneRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="DrawPlane" />
          <Property name="OriginInfo" />
          <Property name="Origin" />
          <Property name="NormalInfo" />
          <Property name="Normal" />
          <Property name="PlaceWidget" />
          <Property name="Visibility" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="ImplicitPlaneWidget2">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
        </ExposedProperties>
      </SubProxy>
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="DistanceWidgetRepresentation">
      <SubProxy>
        <Proxy name="Prop2D" 
          proxygroup="props" proxyname="DistanceRepresentation2D">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" />
          <Property name="Point1WorldPositionInfo" />
          <Property name="Point1WorldPosition" />
          <Property name="Point2WorldPositionInfo" />
          <Property name="Point2WorldPosition" />
          <Property name="PlaceWidget" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="DistanceWidget">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
          <Property name="ProcessEvents" />
        </ExposedProperties>
      </SubProxy>
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="BoxWidgetRepresentation">
      <Documentation>
        Representation proxy for the the box widget. This includes the
        widget/representation proxies for the box 3D widget.
      </Documentation>

      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="BoxRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="PlaceFactor" />
          <Property name="PlaceWidget" />
          <Property name="Visibility" />
          <Property name="Position" />
          <Property name="PositionInfo" />
          <Property name="Rotation" />
          <Property name="RotationInfo" />
          <Property name="Scale" />
          <Property name="ScaleInfo" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="BoxWidget2">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of BoxWidgetRepresentation -->
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="SphereWidgetRepresentation">
      <Documentation>
        Representation proxy for the the sphere widget. This includes the
        widget/representation proxies for the sphere 3D widget.
      </Documentation>

      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="SphereRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="PlaceWidget" />
          <Property name="Visibility" />
          <Property name="Representation" />
          <Property name="Center" />
          <Property name="CenterInfo" />
          <Property name="Radius" />
          <Property name="RadiusInfo" />
          <Property name="HandleVisibility" />
          <Property name="RadialLine" />
          <Property name="HandleDirection" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="SphereWidget2">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of SphereWidgetRepresentation -->
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="SliderWidgetRepresentation">
      <IntVectorProperty
        name="Enabled"
        command="SetEnabled"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="SliderRepresentation3D">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" />
          <Property name="ValueInfo" />
          <Property name="Value" />
          <Property name="Point1" />
          <Property name="Point2" />
          <Property name="MinimumValue" />
          <Property name="MaximumValue" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="SliderWidget">
        </Proxy>
      </SubProxy>
      <!--- End of SliderWidgetRepresentaion -->
    </NewWidgetRepresentationProxy>

    <NewWidgetRepresentationProxy name="SplineWidgetRepresentation">
      <Documentation>
        Representation proxy for the the spline widget. This includes the
        widget/representation proxies for the sphere 3D widget.
      </Documentation>

      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="SplineRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="PlaceWidget" />
          <Property name="Visibility" />
          <Property name="HandlePositions" />
          <Property name="HandlePositionsInfo" />
          <Property name="Closed" />
          <Property name="LineColor" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="SplineWidget2">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
        </ExposedProperties>
      </SubProxy>

      <!-- End of SplineWidgetRepresentation -->
    </NewWidgetRepresentationProxy>
    
    <NewWidgetRepresentationProxy name="ContourWidgetRepresentation">
      <Documentation>
        Representation proxy for the the Contour widget. This includes the
        widget/representation proxies for the sphere 3D widget.
      </Documentation>

      <SubProxy>
        <Proxy name="Prop"
          proxygroup="props" proxyname="OrientedGlyphContourRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="PlaceWidget" />
          <Property name="Visibility" />
          <Property name="PointPlacer" />
          <Property name="LineInterpolator" />
          <Property name="ClearAllNodes" />
          <Property name="LineColor" />
          <Property name="AlwaysOnTop" />
          <Property name="NodePositions" />
          <Property name="ShowSelectedNodes" />
          <Property name="SelectNodes" />
          <Property name="ClosedLoop" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="ContourWidget">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
          <Property name="CloseLoop" />
          <Property name="AllowNodePicking" />
          <Property name="Initialize" />
          <Property name="ProcessEvents"/>
        </ExposedProperties>
      </SubProxy>

      <!-- End of ContourWidgetRepresentation -->
    </NewWidgetRepresentationProxy>
    
    <ScalarBarWidgetRepresentationProxy name="ScalarBarWidgetRepresentation" class="vtkScalarBarWidget">
      <IntVectorProperty name="Enabled"
                         command="SetEnabled"
                         number_of_elements="1"
                         default_values="0"
                         update_self="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="Prop2D"
               proxygroup="props" proxyname="ScalarBarRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility"/>
          <Property name="Position"/>
          <Property name="Position2"/>
          <Property name="Orientation" />
          <Property name="PositionInfo"/>
          <Property name="Position2Info"/>
          <Property name="OrientationInfo" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop2DActor"
               proxygroup="annotations" proxyname="ScalarBarActor">
        </Proxy>
        <ExposedProperties>
          <Property name="LookupTable" />
          <Property name="Title" />
          <Property name="AutomaticLabelFormat" />
          <Property name="LabelFormat" />
          <Property name="NumberOfLabels" />
          <Property name="AspectRatio" />
          <!-- properties for Label -->
          <Property name="LabelColor"     />
          <Property name="LabelOpacity"   />
          <Property name="LabelFontFamily"/>
          <Property name="LabelBold"      />
          <Property name="LabelItalic"    />
          <Property name="LabelShadow"    />
          <Property name="LabelFontSize"  />
          <!-- properties for Title -->
          <Property name="TitleColor"     />
          <Property name="TitleOpacity"   />
          <Property name="TitleFontFamily"/>
          <Property name="TitleBold"      />
          <Property name="TitleItalic"    />
          <Property name="TitleShadow"    />
          <Property name="TitleFontSize"  />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
               proxygroup="3d_widgets" proxyname="ScalarBarWidget">
        </Proxy>
        <ExposedProperties>
          <Property name="Selectable" />
          <Property name="Resizable" />
          <Property name="Repositionable" />
        </ExposedProperties>
      </SubProxy>
    </ScalarBarWidgetRepresentationProxy>

    <TextWidgetRepresentationProxy name="TextWidgetRepresentation">
      <IntVectorProperty name="Enabled"
        command="SetEnabled"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="Prop2D"
          proxygroup="props" proxyname="TextRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility"/>
          <Property name="Text"/>
          <Property name="Position"/>
          <Property name="Position2"/>
          <Property name="PositionInfo"/>
          <Property name="Position2Info"/>
          <Property name="WindowLocation"/>
          <Property name="TextActor"/>
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop2DActor"
          proxygroup="props" proxyname="TextActor">
        </Proxy>
        <ExposedProperties>
          <Property name="TextScaleMode"/>
          <Property name="TextProperty"/>
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop2DProperty"
          proxygroup="properties" proxyname="TextProperty">
        </Proxy>

        <ExposedProperties>
          <Property name="Justification"/>
          <Property name="Orientation"/>
          <Property name="Color"/>
          <Property name="Opacity"/>
          <Property name="FontFamily"/>
          <Property name="Bold"/>
          <Property name="Italic"/>
          <Property name="Shadow"/>
          <Property name="FontSize"/>
        </ExposedProperties>

      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="TextWidget">
        </Proxy>
        <ExposedProperties>
          <Property name="ProcessEvents"/>
          <Property name="Selectable"/>
          <Property name="Resizable"/>
        </ExposedProperties>
      </SubProxy>

      <!-- End of TextWidgetRepresentation -->
    </TextWidgetRepresentationProxy>

    <TextSourceRepresentationProxy name="TextSourceRepresentation">
      <Documentation>
        Representation proxy used to show text.
      </Documentation>

      <InputProperty name="Input" 
        command="NotUsed" />

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty name="UseViewUpdateTime"
        command="SetUseViewUpdateTime"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Indicates if the representation should use the view time to update the
          pipeline or use "UpdateTime" set on the representation instead.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="TextWidgetRepresentation"
          proxygroup="representations" proxyname="TextWidgetRepresentation">
        </Proxy>
        <ExposedProperties>
          <Property name="ProcessEvents" exposed_name="Interactivity"/>
          <Property name="Position" />
          <Property name="Position2" />
          <Property name="PositionInfo" />
          <Property name="Position2Info" />
          <Property name="WindowLocation" />

          <Property name="TextScaleMode"/>
          <Property name="Resizable"/>

          <!-- properties for Text -->
          <Property name="Justification"/>
          <Property name="Orientation"/>
          <Property name="Color"/>
          <Property name="Opacity"/>
          <Property name="FontFamily"/>
          <Property name="Bold"/>
          <Property name="Italic"/>
          <Property name="Shadow"/>
          <Property name="FontSize"/>
        </ExposedProperties>
      </SubProxy>

      <!-- End of TextSourceRepresentation -->
    </TextSourceRepresentationProxy>
    
    <DataLabelRepresentationProxy name="DataLabelRepresentation">
      <Documentation>
        Representation used to add labels to points/cells of any dataset.
      </Documentation>
      <InputProperty name="Input"
        command="NotUsed">
        <InputArrayDomain name="input_array_any"
          attribute_type="any">
        </InputArrayDomain>
      </InputProperty>

      <SubProxy>
        <Proxy name="Append" proxygroup="filters" proxyname="MergeBlocks" />
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>
      <SubProxy>
        <Proxy name="UpdateSuppressor"
          proxygroup="filters" proxyname="UpdateSuppressor2">
        </Proxy>
      </SubProxy>
      <SubProxy>
        <Proxy name="PointLabelProperty"
          proxygroup="properties" proxyname="TextProperty">
        </Proxy>
        <ExposedProperties>
          <Property name="Color" exposed_name="PointLabelColor" />
          <Property name="Opacity" exposed_name="PointLabelOpacity" />
          <Property name="FontFamily" exposed_name="PointLabelFontFamily" />
          <Property name="Bold" exposed_name="PointLabelBold" />
          <Property name="Italic" exposed_name="PointLabelItalic" />
          <Property name="Shadow" exposed_name="PointLabelShadow" />
          <Property name="Justification" exposed_name="PointLabelJustification" />
          <Property name="FontSize" exposed_name="PointLabelFontSize" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="PointLabelProp2D"
          proxygroup="props" proxyname="Actor2D">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" exposed_name="PointLabelVisibility" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="PointLabelMapper"
          proxygroup="mappers" proxyname="LabeledDataMapper">
        </Proxy>
        <ExposedProperties>
          <Property name="LabelMode" exposed_name="PointLabelMode" />
          <Property name="FieldDataArrayIndex" exposed_name="PointFieldDataArrayIndex" />
          <Property name="FieldDataArrayName"  exposed_name="PointFieldDataArrayName"/>
        </ExposedProperties>
      </SubProxy>
      <!-- For Cell Centers -->
      <SubProxy>
        <Proxy name="CellCentersFilter"
          proxygroup="filters" proxyname="CellCenters" />
      </SubProxy>
      <SubProxy>
        <Proxy name="CellLabelProperty"
          proxygroup="properties" proxyname="TextProperty">
        </Proxy>
        <ExposedProperties>
          <Property name="Color" exposed_name="CellLabelColor" />
          <Property name="Opacity" exposed_name="CellLabelOpacity" />
          <Property name="FontFamily" exposed_name="CellLabelFontFamily" />
          <Property name="Bold" exposed_name="CellLabelBold" />
          <Property name="Italic" exposed_name="CellLabelItalic" />
          <Property name="Shadow" exposed_name="CellLabelShadow" />
          <Property name="Justification" exposed_name="CellLabelJustification" />
          <Property name="FontSize" exposed_name="CellLabelFontSize" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="CellLabelMapper"
          proxygroup="mappers" proxyname="LabeledDataMapper">
        </Proxy>
        <ExposedProperties>
          <Property name="LabelMode" exposed_name="CellLabelMode" />
          <Property name="FieldDataArrayIndex" exposed_name="CellFieldDataArrayIndex" />
          <Property name="FieldDataArrayName" exposed_name="CellFieldDataArrayName" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="CellLabelProp2D" proxygroup="props" proxyname="Actor2D">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" exposed_name="CellLabelVisibility" />
        </ExposedProperties>
      </SubProxy>
    <!-- End of DataLabelRepresentation -->
    </DataLabelRepresentationProxy>

    <CubeAxesRepresentationProxy name="CubeAxesRepresentation">
      <Documentation>
        CubeAxesRepresentation is a representation for any dataobject which
        simply shows an axes along the bounding box of the dataobject.
      </Documentation>

      <InputProperty name="Input" 
        command="NotUsed">
        <Documentation>
          Input around which the bound box is to be shown.
        </Documentation>
      </InputProperty>

      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <IntVectorProperty name="UseViewUpdateTime"
        command="SetUseViewUpdateTime"
        update_self="1"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Indicates if the representation should use the view time to update the
          pipeline or use "UpdateTime" set on the representation instead.
        </Documentation>
      </IntVectorProperty>

      <DoubleVectorProperty
        name="Position"
        command="SetPosition"
        number_of_elements="3"
        default_values="0 0 0"
        update_self="1"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="Scale"
        command="SetScale"
        number_of_elements="3"
        default_values="1 1 1"
        update_self="1"
        animateable="0">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>

      <DoubleVectorProperty
        name="Orientation"
        command="SetOrientation"
        number_of_elements="3"
        default_values="0 0 0"
        update_self="1"
        animateable="1">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>

      <SubProxy>
        <SourceProxy name="OutlineFilter" class="vtkPVGeometryFilter">
          <!-- 
            Outline filter generates a partial outline on all processes.
          -->
          <InputProperty name="Input"
            command="SetInputConnection">
               <DataTypeDomain name="input_type">
                 <DataType value="vtkDataSet"/>
               </DataTypeDomain>
          </InputProperty>
          <IntVectorProperty name="UseOutline"
            command="SetUseOutline"
            number_of_elements="1"
            default_values="1">
          </IntVectorProperty>
        </SourceProxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="Prop2D" 
          proxygroup="props" proxyname="CubeAxesActor" />
        <ExposedProperties>
          <Property name="CornerOffset" />
          <Property name="FlyMode" />
          <Property name="Inertia" />
          <Property name="TickLocation" />
          <Property name="Visibility" />
          <Property name="XAxisMinorTickVisibility" />
          <Property name="XAxisTickVisibility" />
          <Property name="XAxisVisibility" />
          <Property name="XGridLines" />
          <Property name="XTitle" />
          <Property name="YAxisMinorTickVisibility" />
          <Property name="YAxisTickVisibility" />
          <Property name="YAxisVisibility" />
          <Property name="YGridLines" />
          <Property name="YTitle" />
          <Property name="ZAxisMinorTickVisibility" />
          <Property name="ZAxisTickVisibility" />
          <Property name="ZAxisVisibility" />
          <Property name="ZGridLines" />
          <Property name="ZTitle" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Property"
          proxygroup="properties" proxyname="Property2" />
        <ExposedProperties>
          <Property name="Color" />
        </ExposedProperties>
      </SubProxy>
      
      <!-- End of CubeAxesRepresentation -->
    </CubeAxesRepresentationProxy>

    <ScatterPlotRepresentationProxy name="ScatterPlotRepresentation">
      <Documentation>
        Representation to scatter plots. The plot can be in 2D or 3D.
      </Documentation>

      <InputProperty name="Input" 
        command="not-used"
        port_index="0">
        <Documentation>
          Set the input to the representation. Can be any vtkDataObject producer.
        </Documentation>
        <DataTypeDomain name="input_type">
          <DataType value="vtkDataSet" />
          <DataType value="vtkGraph" />
        </DataTypeDomain>
      </InputProperty>

      <InputProperty name="GlyphInput" 
        command="not-used"
        port_index="1">
        <Documentation>
          Set the input to the representation. Can be any vtkPointSet producer.
        </Documentation>
        <DataTypeDomain name="input_type">
          <DataType value="vtkPolyData" />
        </DataTypeDomain>
      </InputProperty>


      <DoubleVectorProperty name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
        <Documentation>
          This time is not used unless UseViewUpdateTime is off.
        </Documentation>
      </DoubleVectorProperty>

      <SubProxy>
        <!-- 
          Geometry filter is used to conver non-polydata input to polydata.
          -->
        <Proxy name="FlattenFilter"
          proxygroup="filters" proxyname="FlattenFilter" />
      </SubProxy>

      <StringVectorProperty name="SeriesNamesInfo"
        number_of_elements_per_command="1"
        element_types="2"
        update_self="1"
        information_only="1">
        <Documentation>
          Property providing list of available series that can be plotted.
        </Documentation>
        <ScatterPlotArraysInformationHelper />
      </StringVectorProperty>

      <StringVectorProperty name="XArrayName"
        command="SetXAxisArrayName"
        update_self="1"
        number_of_elements="1"
        default_values="coord,Points,0">
        <Documentation>
          Set the array to use on X axis.
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>


      <StringVectorProperty name="YArrayName"
        command="SetYAxisArrayName"
        update_self="1"
        number_of_elements="1"
        default_values="coord,Points,1">
        <Documentation>
          Set the array to use on Y axis.
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>


      <StringVectorProperty name="ZArrayName"
        command="SetZAxisArrayName"
        update_self="1"
        number_of_elements="1"
        default_values="coord,Points,2">
        <Documentation>
          Set the array to use on Z axis.
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>


      <StringVectorProperty name="ColorArrayName"
        command="SetColorArrayName"
        update_self="1"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array to use for color.
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphScalingArrayName"
        command="SetGlyphScalingArrayName"
        update_self="1"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array to use for scaling the glyphs.
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphMultiSourceArrayName"
        command="SetGlyphMultiSourceArrayName"
        update_self="1"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array to use for choosing the right glyph to display.
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>

      <StringVectorProperty name="GlyphOrientationArrayName"
        command="SetGlyphOrientationArrayName"
        update_self="1"
        number_of_elements="1"
        default_values="">
        <Documentation>
          Set the array to use for orienting the glyphs.
        </Documentation>
        <StringListDomain name="array_list" >
          <RequiredProperties>
             <Property name="SeriesNamesInfo" function="ArrayList"/>
          </RequiredProperties>
        </StringListDomain>
      </StringVectorProperty>


      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for this representation.
        </Documentation>
      </IntVectorProperty>


      <IntVectorProperty name="CubeAxesVisibility"
        command="SetCubeAxesVisibility"
        number_of_elements="1"
        update_self="1"
        default_values="0" >
        <BooleanDomain name="bool" />
        <Documentation>
          Set the visibility for the cube axes.
        </Documentation>
      </IntVectorProperty>

      <StringVectorProperty name="ColorArrayName"
        command="SetColorArrayName"
        number_of_elements="1"
        default_values=""
        update_self="1">
        <Documentation>
          Set the array name to color by.
          If no array name is set, or choosen array is not available, then the
          image scalars are used by default.
        </Documentation>
        <ArrayListDomain name="array_list" attribute_type="Scalars"
          input_domain_name="input_array_any">
          <RequiredProperties>
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </ArrayListDomain>
      </StringVectorProperty>

      <SubProxy>
        <!-- Mapper for high-res image -->
        <Proxy name="Mapper" 
          proxygroup="mappers" proxyname="ScatterPlotMapper" />

        <ExposedProperties>

          <Property name="LookupTable" />
          <Property name="MapScalars" />

          <Property name="ImmediateModeRendering" />
          <Property name="StaticMode" />
          <Property name="ThreeDMode" />
          <Property name="Colorize" />
          <Property name="GlyphMode" />
          <Property name="ScaleFactor" />
          <Property name="OrientationMode" />
          <Property name="ParallelToCamera" />
          <Property name="GlyphXOrientationArray" />
          <Property name="GlyphYOrientationArray" />
          <Property name="GlyphZOrientationArray" />
        </ExposedProperties>

      </SubProxy>

      <!-- Mapper for low-res image
      <SubProxy>
        
        <Proxy name="LODMapper" 
          proxygroup="mappers" proxyname="PolyDataMapper" />
        <ShareProperties subproxy="Mapper" >
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>
      -->
      <SubProxy>
        <!-- Prop3D that gets added to the 3D renderer -->
        <Proxy name="Prop3D" proxygroup="props" proxyname="Actor" />
        <ExposedProperties>
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="Pickable" />
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Texture" />
          <Property name="Visibility" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <!-- Property for the vtkProp.  -->
        <Proxy name="Property" proxygroup="properties" proxyname="Property" />
        <ExposedProperties>
          <Property name="Opacity" />
          <Property name="Shading" />

          <Property name="PointSize" />
          <Property name="LineWidth" />
          <!--
          <Property name="SpecularColor" />
          <Property name="SpecularPower" />
          <Property name="Interpolation" />
          <Property name="AmbientColor" />
          <Property name="DiffuseColor" />
          <Property name="EdgeColor" />
          -->
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="CubeAxesActor"
          proxygroup="props" proxyname="CubeAxesActor">
        </Proxy>
        <ExposedProperties>
<!--          <Property exposed_name="CubeAxesColor" name="Color" /> -->
          <Property exposed_name="CubeAxesCornerOffset" name="CornerOffset" />
          <Property exposed_name="CubeAxesFlyMode" name="FlyMode" />
          <Property exposed_name="CubeAxesInertia" name="Inertia" />
          <Property exposed_name="CubeAxesTickLocation" name="TickLocation" />
          <Property exposed_name="CubeAxesXAxisMinorTickVisibility" name="XAxisMinorTickVisibility" />
          <Property exposed_name="CubeAxesXAxisTickVisibility" name="XAxisTickVisibility" />
          <Property exposed_name="CubeAxesXAxisVisibility" name="XAxisVisibility" />
          <Property exposed_name="CubeAxesXGridLines" name="XGridLines" />
          <Property exposed_name="CubeAxesXTitle" name="XTitle" />
          <Property exposed_name="CubeAxesYAxisMinorTickVisibility" name="YAxisMinorTickVisibility" />
          <Property exposed_name="CubeAxesYAxisTickVisibility" name="YAxisTickVisibility" />
          <Property exposed_name="CubeAxesYAxisVisibility" name="YAxisVisibility" />
          <Property exposed_name="CubeAxesYGridLines" name="YGridLines" />
          <Property exposed_name="CubeAxesYTitle" name="YTitle" />
          <Property exposed_name="CubeAxesZAxisMinorTickVisibility" name="ZAxisMinorTickVisibility" />
          <Property exposed_name="CubeAxesZAxisTickVisibility" name="ZAxisTickVisibility" />
          <Property exposed_name="CubeAxesZAxisVisibility" name="ZAxisVisibility" />
          <Property exposed_name="CubeAxesZGridLines" name="ZGridLines" />
          <Property exposed_name="CubeAxesZTitle" name="ZTitle" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="CubeAxesProperty"
               proxygroup="properties" proxyname="Property2" />
        <ExposedProperties>
          <Property exposed_name="CubeAxesColor" name="Color" />
        </ExposedProperties>
      </SubProxy>
      <!-- End of ScatterPlotRepresentation -->
    </ScatterPlotRepresentationProxy>

  </ProxyGroup>

  <ProxyGroup name="options">
    <!-- =================================================================== -->
    <ChartNamedOptionsModelProxy name="SeriesOptionsBase">
      <StringVectorProperty name="VisibilityInfo"
        number_of_elements_per_command="2"
        repeat_command="1"
        information_only="1">
        <Documentation>
          Property which has the current state of visibility for the series
          available currently.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="Visibility"
        command="SetVisibility"
        update_self="1"
        number_of_elements_per_command="2"
        element_types="2 0"
        repeat_command="1"
        information_property="VisibilityInfo" >
        <Documentation>
          Set the series visibility.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="LineThicknessInfo"
        number_of_elements_per_command="2"
        repeat_command="1"
        information_only="1">
        <Documentation>
          Property which has the current state of line thickness for the series
          available currently.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="LineThickness"
        command="SetLineThickness"
        update_self="1"
        number_of_elements_per_command="2"
        element_types="2 0"
        repeat_command="1"
        information_property="LineThicknessInfo" >
        <Documentation>
          Set the series line thickness.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="LineStyleInfo"
        number_of_elements_per_command="2"
        repeat_command="1"
        information_only="1">
        <Documentation>
          Property which has the current state of line style for the series
          available currently.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="LineStyle"
        command="SetLineStyle"
        update_self="1"
        number_of_elements_per_command="2"
        element_types="2 0"
        repeat_command="1"
        information_property="LineStyleInfo">
        <Documentation>
          Set the series line style.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="LabelInfo"
        number_of_elements_per_command="2"
        repeat_command="1"
        information_only="1">
        <Documentation>
          Property which has the current state of labels for the series
          available currently.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="Label"
        command="SetLabel"
        update_self="1"
        number_of_elements_per_command="2"
        element_types="2 2"
        repeat_command="1"
        information_property="LabelInfo">
        <Documentation>
          Set the series labels.
        </Documentation>
      </StringVectorProperty>

      <!-- End of SeriesOptionsBase -->
    </ChartNamedOptionsModelProxy>

    <!-- =================================================================== -->
    <ChartNamedOptionsModelProxy name="LineChartSeriesOptions"
      base_proxygroup="options"
      base_proxyname="SeriesOptionsBase">

      <StringVectorProperty name="MarkerStyleInfo"
        number_of_elements_per_command="2"
        repeat_command="1"
        information_only="1">
        <Documentation>
          Property which has the current state of marker style for the series
          available currently.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="MarkerStyle"
        command="SetMarkerStyle"
        update_self="1"
        number_of_elements_per_command="2"
        element_types="2 0"
        repeat_command="1"
        information_property="MarkerStyleInfo">
        <Documentation>
          Set the series marker style.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="AxisCorner"
        command="SetAxisCorner"
        update_self="1"
        number_of_elements_per_command="2"
        element_types="2 0"
        repeat_command="1">
        <Documentation>
          Set the series line style.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="PenColorInfo"
        number_of_elements_per_command="4"
        repeat_command="1"
        information_only="1">
        <Documentation>
          Property which has the current state of line color for the series
          available currently.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="Color"
        command="SetPenColor"
        update_self="1"
        number_of_elements_per_command="4"
        element_types="2 1 1 1"
        repeat_command="1"
        information_property="PenColorInfo" >
        <Documentation>
          Set the series line color.
        </Documentation>
      </StringVectorProperty>
    
      <!-- End of LineChartSeriesOptions -->
    </ChartNamedOptionsModelProxy>

    <!-- =================================================================== -->
    <ChartNamedOptionsModelProxy name="BarChartSeriesOptions"
      base_proxygroup="options"
      base_proxyname="SeriesOptionsBase">
      <Documentation>
        Series options proxy for BoxWidgetRepresentation2.
        Don't create this directly, it's a subproxy in the
        BarChartRepresentation.
      </Documentation>

      <StringVectorProperty name="BrushColorInfo"
        number_of_elements_per_command="4"
        repeat_command="1"
        information_only="1">
        <Documentation>
          Property which has the current state of line color for the series
          available currently.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="Color"
        command="SetBrushColor"
        update_self="1"
        number_of_elements_per_command="4"
        element_types="2 1 1 1"
        repeat_command="1"
        information_property="BrushColorInfo" >
        <Documentation>
          Set the series line color.
        </Documentation>
      </StringVectorProperty>

      <!-- End of BarChartSeriesOptions -->
    </ChartNamedOptionsModelProxy>
  </ProxyGroup>



</ServerManagerConfiguration>





