
<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">
      <!-- Leave the ProxyProperty here, eventhough it is not used right now, -->
      <!-- see vtkPVRenderView -->
      <ProxyProperty name="Renderers" 
                     command="AddLightsToRenderer"
                     remove_command="RemoveLightsFromRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <!-- 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
      is perculiar ways, and can't use a property for it-->
      <ProxyProperty 
        name="ViewProps" 
        command="AddViewProp"
        clean_command="RemoveAllViewProps">
        <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="0">
        <BooleanDomain name="bool"/>
      </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"
                     remove_command="RemoveLight">
        <ProxyGroupDomain name="groups">
          <Group name="lights"/>
        </ProxyGroupDomain>
      </ProxyProperty>

    <!-- End Renderer -->
    </Proxy>
  </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="CameraViewAngle"
        command="SetViewAngle"
        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"
        number_of_elements="1"
        default_values="1.0">
      </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">
        <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="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="FullScreen"
        command="SetFullScreen"
        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="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>

    </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>
      </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>
    </SourceProxy>

    <SourceProxy name="PolyDataMapper" class="vtkPolyDataMapper">
      <InputProperty name="Input" command="SetInputConnection">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkPolyData"/>
        </DataTypeDomain>
      </InputProperty>
      <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="ColorMode" 
        command="SetColorMode"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <EnumerationDomain name="enum">
          <Entry value="0" text="Default"/>
          <Entry value="1" text="MapScalars"/>
        </EnumerationDomain>
      </IntVectorProperty>
      <!-- Same as ColorMode but is a better way of setting the color mode since it is really a boolean: map scalars or not. I left ColorMode in for backwards compatibility -->
      <IntVectorProperty 
        name="MapScalars" 
        command="SetColorMode"
        number_of_elements="1"
        default_values="1"
        animateable="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      
      <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="0"
        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">
         <ProxyGroupDomain name="groups">
          <Group name="implicit_functions"/>
         </ProxyGroupDomain>
      </ProxyProperty>
      <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="LockSampleDistanceToInputSpacing"
        command="SetLockSampleDistanceToInputSpacing"
        default_values="1"
        number_of_elements="1"
        animateable="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
    </SourceProxy>
  </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>
  </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">
      <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>
    </Proxy>
    
    
    <Proxy name="Actor" class="vtkActor">
      <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>
      <ProxyProperty
        name="Texture"
        command="SetTexture">
        <ProxyGroupDomain name="groups">
          <Group name="textures"/>
        </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 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>
      <ProxyProperty name="RenderModuleHelper"
        command="SetRenderModuleHelper"
        is_internal="1">
      </ProxyProperty>
      <!-- End of LODActor -->
    </Proxy>

    <Proxy name="LODVolume" class="vtkPVLODVolume"
      base_proxygroup="props" base_proxyname="Actor">
      <ProxyProperty name="LODMapper" command="SetLODMapper">
        <ProxyGroupDomain name="groups">
          <Group name="mappers" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty name="RenderModuleHelper"
        command="SetRenderModuleHelper"
        is_internal="1">
      </ProxyProperty>
      <!-- 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>

     <ProxyProperty name="Renderer" command="SetRenderer">
       <ProxyGroupDomain name="groups">
         <Group name="renderers"/>
       </ProxyGroupDomain>
     </ProxyProperty>
    </Proxy>

    <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>

     <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>

    <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>

      <ProxyProperty name="Renderer" command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <!-- End of TextRepresentation -->
    </Proxy>
  </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">
      </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="12"
        animateable="0">
        <IntRangeDomain name="range" min="0" />
      </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="Property" class="vtkProperty">
      <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="5.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="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>
      <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="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="0.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="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="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="rendermodules">
    <!-- I don't bother setting animateable attribute on Render Modules since
    they are never registered as animateable proxies -->
    <SimpleRenderModuleProxy name="SimpleRenderModule">
      <Property 
        name="StillRender" 
        command="StillRender" 
        update_self="1">
      </Property>

      <Property name="InteractiveRender" 
        command="InteractiveRender" update_self="1">
      </Property>

      <IntVectorProperty
         name="WindowPosition"
         command="SetWindowPosition"
         number_of_elements="2"
         default_values="0 0"
         update_self="1"
         immediate_update="1">
         <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>

      <IntVectorProperty
         name="GUISize"
         command="SetGUISize"
         number_of_elements="2"
         default_values="0 0"
         update_self="1"
         immediate_update="1">
         <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>

      <ProxyProperty
        name="Displays"
        command="AddDisplay"
        update_self="1"
        remove_command="RemoveDisplay">
        <ProxyGroupDomain name="groups">
          <Group name="displays" />
          <Group name="axes" />
          <Group name="3d_widgets" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty
        name="CacheUpdate"
        command="CacheUpdate"
        number_of_elements="2"
        update_self="1"
        default_values="0 -1"
        is_internal="1">
        <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>

      <IntVectorProperty
        name="CacheLimit"
        command="SetCacheLimit"
        number_of_elements="1"
        update_self="1"
        default_values="102400">
        <!-- Default is 100 MBs -->
        <IntRangeDomain name="range" min="0"/>
      </IntVectorProperty>

      <DoubleVectorProperty
        name="ViewTime"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

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

      <IntVectorProperty
        name="UseTriangleStrips"
        command="SetUseTriangleStrips"
        number_of_elements="1"
        update_self="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <IntVectorProperty
        name="UseImmediateMode"
        command="SetUseImmediateMode"
        number_of_elements="1"
        update_self="1"
        default_values="0">
        <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">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
        
      <!-- SubProxies -->
      <SubProxy>
        <!-- This is the helper for the render module
          on the server side : kind of a server side representation
          for this render module -->
        <Proxy name="Helper" class="vtkPVRenderModuleHelper">
          <IntVectorProperty
            name="LODFlag"
            command="SetLODFlag"
            number_of_elements="1"
            default_values="0">
            <BooleanDomain name="bool" />
          </IntVectorProperty>
        </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="Renderer" proxyname="Renderer" proxygroup="renderers">
        </Proxy>
        <ExposedProperties>
          <!-- only the properties listed in here can be accessed externall
          for this subproxy -->
          <Property name="Background" />
          <Property name="Viewport" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Renderer2D" proxyname="Renderer" proxygroup="renderers">
        </Proxy>
        <ShareProperties subproxy="Renderer">
          <Exception name="ViewProps" />
          <Exception name="Erase" />
          <Exception name="Layer" />
          <Exception name="Background" />
          <Exception name="DepthPeeling" />
          <!-- sharing only Viewport property -->
        </ShareProperties>
      </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="CameraParallelProjection" />
          <Property name="EyeAngle" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="RenderWindow" proxyname="RenderWindow" proxygroup="renderwindow">
        </Proxy>
        <ExposedProperties>
          <Property name="OffScreenRendering" />
          <Property name="FullScreen" />
          <Property name="RenderWindowSize" />
          <Property name="RenderWindowSizeInfo" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="Interactor" proxyname="GenericRenderWindowInteractor" 
          proxygroup="interactors">
        </Proxy>
        <ExposedProperties>
          <Property name="InteractorStyle" />
          <Property name="CenterOfRotation" />
        </ExposedProperties>
        <!-- TODO: we may expose the InteractorRender property and 
        GUI call call that property instead on iren->Render() -->
      </SubProxy>
    </SimpleRenderModuleProxy>

    <LODRenderModuleProxy name="LODRenderModule" base_proxygroup="rendermodules"
      base_proxyname="SimpleRenderModule">
      <IntVectorProperty
        name="LODResolution"
        command="SetLODResolution"
        number_of_elements="1"
        default_values="50"
        update_self="1">
        <IntRangeDomain name="range" />
      </IntVectorProperty>
      <DoubleVectorProperty
        name="LODThreshold"
        command="SetLODThreshold"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
    </LODRenderModuleProxy>

    <ClientServerRenderModuleProxy name="ClientServerRenderModule"
                                   base_proxygroup="rendermodules"
                                   base_proxyname="LODRenderModule">
      <DoubleVectorProperty
        name="RemoteRenderThreshold"
        command="SetRemoteRenderThreshold"
        number_of_elements="1"
        default_values="20.0"
        update_self="1">
        <DoubleRangeDomain name="range" min="0" />
      </DoubleVectorProperty>
      <IntVectorProperty
        name="SquirtLevel"
        command="SetSquirtLevel"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <IntRangeDomain name="range" min="0" max="7" />
      </IntVectorProperty>
      <IntVectorProperty
        name="ReductionFactor"
        command="SetReductionFactor"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <IntRangeDomain name="range" min="0"/>
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="RenderSyncManager" proxygroup="composite_managers"
          proxyname="DesktopDeliveryClient">
        </Proxy>
      </SubProxy>
    </ClientServerRenderModuleProxy>

    <CompositeRenderModuleProxy name="CompositeRenderModule" 
      base_proxygroup="rendermodules"
      base_proxyname="ClientServerRenderModule">
      <!-- End of CompositeRenderModule -->
    </CompositeRenderModuleProxy>

    <IceTDesktopRenderModuleProxy name="IceTDesktopRenderModule" 
      base_proxygroup="rendermodules" base_proxyname="CompositeRenderModule">

      <IntVectorProperty
        name="DisableOrderedCompositing"
        command="SetDisableOrderedCompositing"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="DisplayManager" proxygroup="composite_managers"
          proxyname="IceTRenderManager">
        </Proxy>
        <ExposedProperties>
          <Property name="InitializeOffScreen" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="PKdTree" proxygroup="locators" proxyname="PKdTree" />
      </SubProxy>

      <SubProxy>
        <Proxy name="PKdTreeGenerator" class="vtkKdTreeGenerator">
          <ProxyProperty name="KdTree"
            command="SetKdTree">
          </ProxyProperty>
        </Proxy>
      </SubProxy>

      <IntVectorProperty
        name="SetUseBackBuffer"
        command="SetUseBackBuffer"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="0" max="1" />
      </IntVectorProperty>
    </IceTDesktopRenderModuleProxy>

      
    <IceTRenderModuleProxy name="IceTRenderModule"
      base_proxygroup="rendermodules" base_proxyname="IceTDesktopRenderModule">
      <DoubleVectorProperty
        name="CollectGeometryThreshold"
        command="SetCollectGeometryThreshold"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <IntVectorProperty
        name="StillReductionFactor"
        command="SetStillReductionFactor"
        number_of_elements="1"
        default_values="0"
        update_self="1">
        <IntRangeDomain name="range" min="0"/>
      </IntVectorProperty>
    </IceTRenderModuleProxy>

    <CaveRenderModuleProxy name="CaveRenderModule"
      base_proxygroup="rendermodules" base_proxyname="CompositeRenderModule">
    </CaveRenderModuleProxy>

    <MultiViewRenderModuleProxy name="MultiViewRenderModule">
      <ProxyProperty
        name="RenderModules"
        update_self="1"
        command="AddRenderModule"
        remove_command="RemoveRenderModule">
      </ProxyProperty>
    </MultiViewRenderModuleProxy>

    <ViewModuleProxy name="ViewModule">
      <Property 
        name="StillRender" 
        command="StillRender" 
        update_self="1">
      </Property>

      <Property 
        name="InteractiveRender" 
        command="InteractiveRender" 
        update_self="1">
      </Property>

      <DoubleVectorProperty
        name="ViewTime"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range"/>
      </DoubleVectorProperty>

      <ProxyProperty
        name="Displays"
        command="AddDisplay"
        update_self="1"
        remove_command="RemoveDisplay">
        <ProxyGroupDomain name="groups">
          <Group name="displays" />
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty
         name="WindowPosition"
         command="SetWindowPosition"
         number_of_elements="2"
         default_values="0 0"
         update_self="1"
         immediate_update="1">
         <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>

      <IntVectorProperty
         name="GUISize"
         command="SetGUISize"
         number_of_elements="2"
         default_values="300 300"
         update_self="1"
         immediate_update="1">
         <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>
    </ViewModuleProxy>
    <!-- End ProxyGroup rendermodules -->
  </ProxyGroup>

  <ProxyGroup name="plotmodules">

    <ViewModuleProxy name="BarChartViewModule"
      base_proxygroup="rendermodules" base_proxyname="ViewModule"
      display_name="BarChartDisplay">
      <!-- Add non-command properties that will help
          keep client-only BarChart properties in SM such as colors etc etc -->
    </ViewModuleProxy>

    <ViewModuleProxy name="XYPlotViewModule"
      base_proxygroup="rendermodules" base_proxyname="ViewModule"
      display_name="XYPlotDisplay2">
      <!-- Add non-command properties that will help
          keep client-only BarChart properties in SM such as colors etc etc -->
    </ViewModuleProxy>
    <!-- End ProxyGroup plotmodules -->
  </ProxyGroup>

  <ProxyGroup name="views">
    <ViewModuleProxy name="TableView"
      base_proxygroup="rendermodules" base_proxyname="ViewModule"
      display_name="TableDisplay">
    </ViewModuleProxy>

    <ViewModuleProxy name="ElementInspectorView"
      base_proxygroup="rendermodules" base_proxyname="ViewModule"
      display_name="ElementInspectorDisplay">
    </ViewModuleProxy>

    <!-- End of views -->
  </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">
        <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"/>
  </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="SquirtLevel"
                         command="SetSquirtLevel"
                         number_of_elements="1"
                         default_values="0">
        <IntRangeDomain name="range" min="0" max="7" />
      </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">
        <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>
    </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>
      <ProxyProperty name="SortingKdTree" command="SetSortingKdTree">
        <ProxyGroupDomain name="groups">
          <Group name="locators"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      <Property name="InitializeOffScreen"
                command="InitializeOffScreen">
      </Property>
    </Proxy>

    <Proxy name="MultiDisplayManager" class="vtkMultiDisplayManager">
       <ProxyProperty
        name="RenderWindow"
        command="SetRenderWindow">
        <ProxyGroupDomain name="groups">
          <Group name="renderwindow" />
        </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="SetUseCompositing"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty
        name="TileDimensions"
        command="SetTileDimensions"
        number_of_elements="2"
        default_values="0 0">
        <IntRangeDomain name="range" min="0 0" />
      </IntVectorProperty>
      <IntVectorProperty
        name="UseCompositeCompression"
        command="SetUseCompositeCompression"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
    </Proxy>
    
    <Proxy name="TreeComposite" class="vtkPVTreeComposite">
       <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="EnableAbort"
        command="SetEnableAbort"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <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="ParallelRendering"
        command="SetParallelRendering"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <IntVectorProperty
        name="RenderEventPropagation"
        command="SetRenderEventPropagation"
        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"
                     remove_command="RemoveRenderer"
                     clean_command="RemoveAllRenderers">
        <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>
    </Proxy>

    <Proxy name="ClientCompositeManager" class="vtkClientCompositeManager">
      <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="SquirtLevel"
        command="SetSquirtLevel"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" max="7" />
      </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"
                     remove_command="RemoveRenderer"
                     clean_command="RemoveAllRenderers">
        <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>
    </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">
        <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="displays">
    <TextDisplayProxy name="TextDisplay">
      <InputProperty name="Input" command="">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
      </InputProperty>

      <Property name="Update" 
        command="Update" 
        update_self="1">
      </Property>

      <Property name="InvalidateGeometry" 
        command="InvalidateGeometry" 
        update_self="1">
      </Property>

      <DoubleVectorProperty
        name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        is_internal="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>

      <SubProxy>
        <Proxy name="UpdateSuppressor"
          proxygroup="filters" proxyname="UpdateSuppressor">
        </Proxy>
        <ExposedProperties>
          <Property name="CacheUpdate" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="TextWidget"
          proxygroup="displays" proxyname="TextWidgetDisplay">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
          <Property name="Visibility" />
          <Property name="Position" />
          <Property name="Position2" />
          <Property name="PositionInfo" />
          <Property name="Position2Info" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" 
        proxygroup="filters" proxyname="ClientServerMoveData">
        </Proxy>
      </SubProxy>
    <!-- End of TextDisplay -->
    </TextDisplayProxy>

    <PointLabelDisplayProxy name="PointLabelDisplay">
      <InputProperty
        name="Input"
        command="SetInput-not-used">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
          <Group name="glyph_sources" />
        </ProxyGroupDomain>
      </InputProperty>
      <Property
        name="Update"
        command="Update"
        update_self="1"
        is_internal="1">
      </Property>
      <Property
        name="InvalidateGeometry"
        command="InvalidateGeometry"
        update_self="1">
      </Property>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="UpdateSuppressor"
          proxygroup="filters" proxyname="UpdateSuppressor">
        </Proxy>
        <ExposedProperties>
          <Property name="CacheUpdate" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="Property"
          proxygroup="properties" proxyname="TextProperty">
        </Proxy>
        <ExposedProperties>
          <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="Prop2D"
          proxygroup="props" proxyname="Actor2D">
        </Proxy>
        <ExposedProperties>
          <Property name="Visibility" />
          <Property name="Position" />
          <Property name="Position2" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="Mapper"
          proxygroup="mappers" proxyname="LabeledDataMapper">
        </Proxy>
        <ExposedProperties>
          <Property name="LabelMode" />
        </ExposedProperties>
      </SubProxy>
    </PointLabelDisplayProxy>

    
    <ScalarBarWidgetProxy name="ScalarBarWidget" class="vtkScalarBarWidget">
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        update_self="1"
        default_values="0">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      <SubProxy>
        <Proxy name="Prop2D" 
          proxygroup="annotations"
          proxyname="ScalarBarActor">
        </Proxy>
        <ExposedProperties>
          <Property name="LookupTable" />
          <Property name="Orientation" />
          <Property name="Position" />
          <Property name="Position2" />
          <Property name="Title" />
          <Property name="LabelFormat" />
          <Property name="NumberOfLabels" />
          <!-- 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>
    </ScalarBarWidgetProxy>

    <XYPlotDisplayProxy name="XYPlotDisplay">
      <InputProperty
        name="Input"
        command="SetInput-not-used">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
          <Group name="glyph_sources" />
        </ProxyGroupDomain>
        <InputArrayDomain name="input_array"
          attribute_type="point">
        </InputArrayDomain>
      </InputProperty>
      <Property
        name="Update"
        command="Update"
        is_internal="1"
        update_self="1">
      </Property>
      <Property
        name="InvalidateGeometry"
        command="InvalidateGeometry"
        update_self="1">
      </Property>
      <!-- Cache Update directly on UpdateSuppressor subproxy -->
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        update_self="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <SubProxy>
        <Proxy name="UpdateSuppressor" 
          proxygroup="filters" proxyname="UpdateSuppressor" />
        <ExposedProperties>
          <Property name="CacheUpdate" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="Property" proxygroup="properties" proxyname="Property2D" />
      </SubProxy>
      <SubProxy>
        <Proxy 
          name="Prop2D" 
          proxygroup="annotations" proxyname="XYPlotActor">
        </Proxy>
        <ExposedProperties>
          <Property name="AdjustTitlePosition" />
          <Property name="AdjustXLabels" />
          <Property name="AdjustYLabels" />
          <Property name="ArrayNames" />
          <Property name="LegendPosition" />
          <Property name="LegendVisibility" />
          <Property name="NumberOfXLabels" />
          <Property name="NumberOfYLabels" />
          <Property name="NumberOfXMinorTicks" />
          <Property name="NumberOfYMinorTicks" />
          <Property name="PlotColors" />
          <Property name="PlotLines" />
          <Property name="PlotPoints" />
          <Property name="Position" />
          <Property name="Position2" />
          <Property name="Smart" />
          <Property name="Title" />
          <Property name="TitlePosition" />
          <Property name="XLabelFormat" />
          <Property name="XRange" />
          <Property name="XTitle" />
          <Property name="XTitleInfo" />
          <Property name="XTitlePosition" />
          <Property name="XValues" />
          <Property name="YLabelFormat" />
          <Property name="YRange" />
          <Property name="YTitle" />
          <Property name="YTitleInfo" />
          <Property name="YTitlePosition" />
        </ExposedProperties>
      </SubProxy>
    </XYPlotDisplayProxy>

    <CubeAxesDisplayProxy name="CubeAxesDisplay">
       <InputProperty
        name="Input"
        command="SetInput-not-used"
        update_self="1">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
          <Group name="glyph_sources" />
        </ProxyGroupDomain>
      </InputProperty>
      <Property
        name="Update"
        command="Update"
        is_internal="1"
        update_self="1">
      </Property>
      <Property
        name="InvalidateGeometry"
        command="InvalidateGeometry"
        update_self="1">
      </Property>
      <IntVectorProperty
        name="CacheUpdate"
        command="CacheUpdate"
        number_of_elements="2"
        update_self="1"
        default_values="0 -1"
        is_internal="1"
        animateable="0">
      </IntVectorProperty>
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        update_self="1"
        default_values="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="Prop2D" 
          proxygroup="annotations" proxyname="CubeAxesActor2D">
        </Proxy>
      </SubProxy>
    </CubeAxesDisplayProxy>
    
    <DataObjectDisplayProxy name="DataObjectDisplay">
      <InputProperty
        name="Input"
        command="SetInput_not_used"
        update_self="1">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
          <Group name="glyph_sources" />
        </ProxyGroupDomain>
      </InputProperty>
      <Property
        name="Update"
        command="Update"
        is_internal="1"
        update_self="1">
      </Property>
      <Property
        name="InvalidateGeometry"
        command="InvalidateGeometry"
        update_self="1">
      </Property>
      <DoubleVectorProperty
        name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none"
        is_internal="1">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <IntVectorProperty
        name="CacheUpdate"
        command="CacheUpdate"
        number_of_elements="2"
        update_self="1"
        default_values="0 -1"
        animateable="0"
        is_internal="1">
      </IntVectorProperty>
      <IntVectorProperty
        name="Representation"
        command="SetRepresentation"
        update_self="1"
        number_of_elements="1"
        default_values="2"
        animateable="2">
        <EnumerationDomain name="enum" >
          <Entry value="0" text="Points" />
          <Entry value="1" text="Wireframe" />
          <Entry value="2" text="Surface" />
          <Entry value="3" text="Outline" />
          <Entry value="4" text="Volume" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        update_self="1"
        default_values="1"
        animateable="1">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <SubProxy>
        <Proxy name="GeometryFilter" 
          proxygroup="filters" proxyname="GeometryFilter" />
        <ExposedProperties>
          <Property name="UseStrips" />
          <Property name="ForceStrips" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="UpdateSuppressor" 
          proxygroup="filters" proxyname="UpdateSuppressor" />
        <ExposedProperties>
          <Property name="SaveCacheOnCacheUpdate" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="Mapper" proxygroup="mappers" proxyname="PolyDataMapper" />
        <ExposedProperties>
          <Property name="LookupTable" />
          <Property name="ScalarVisibility" />
          <Property name="ColorMode" />
          <Property name="MapScalars" />
          <Property name="ImmediateModeRendering" />
          <Property name="InterpolateScalarsBeforeMapping" />
          <Property name="UseLookupTableScalarRange" />
          <Property name="ScalarMode" />
          <Property name="ColorArray" />
          <Property name="ClippingPlanes" />
          <Property name="NumberOfSubPieces" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="Prop" proxygroup="props" proxyname="LODActor" />
        <ExposedProperties>
          <Property name="Position" />
          <Property name="Scale" />
          <Property name="Orientation" />
          <Property name="Origin" />
          <Property name="RenderModuleHelper" />
          <Property name="Pickable" />
        </ExposedProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="Property" proxygroup="properties" proxyname="Property" />
        <ExposedProperties>
          <Property name="LineWidth" />
          <Property name="PointSize" />
          <Property name="Interpolation" />
          <Property name="Color" />
          <Property name="AmbientColor" />
          <Property name="DiffuseColor" />
          <Property name="Opacity" />
          <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>
    
      <!-- Subproxies for Volume Pipeline -->
      <SubProxy>
        <SourceProxy name="VolumeFilter" class="vtkDataSetTriangleFilter" >
          <!-- I don't directly use the DataSetTriangleFilter since I need
          a more restrictive domain for this one -->
          <!-- note this property is not exposed -->
          <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="SetTetrahedraOnly" 
            command="SetTetrahedraOnly" 
            number_of_elements="1"
            default_values="1" > 
            <BooleanDomain name="bool"/>
          </IntVectorProperty>
        </SourceProxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeUpdateSuppressor" 
          proxygroup="filters" proxyname="UpdateSuppressor" />
        <ShareProperties subproxy="UpdateSuppressor">
          <Exception name="CacheUpdate" />
          <Exception name="ForceUpdate" />
          <Exception name="Input" />
          <Exception name="OutputType" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeDummyMapper"
               proxygroup="mappers"
               proxyname="DummyVolumeMapper">
        </Proxy>
        <!--
          This property is linked with "ColorArray" property on
          the PolyDataMapper. So, the volume rendering pipeline uses
          the same scalar array as the polygonal pipeline.

        <ExposedProperties>
          <Property name="SelectScalarArray" />
        </ExposedProperties>
        -->
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeBunykMapper" 
          proxygroup="mappers" 
          proxyname="UnstructuredGridVolumeRayCastMapper">
        </Proxy>
        <ShareProperties subproxy="Mapper">
          <Exception name="Input" />
        </ShareProperties>
        <ShareProperties subproxy="VolumeDummyMapper"/>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeZSweepMapper" 
          proxygroup="mappers" 
          proxyname="UnstructuredGridVolumeZSweepMapper">
        </Proxy>
        <ShareProperties subproxy="VolumeBunykMapper">
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumePTMapper" 
          proxygroup="mappers" 
          proxyname="ProjectedTetrahedraMapper">
        </Proxy>
        <ShareProperties subproxy="VolumeBunykMapper">
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeHAVSMapper" 
          proxygroup="mappers" 
          proxyname="HAVSVolumeMapper">
        </Proxy>
        <ShareProperties subproxy="VolumeBunykMapper">
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeFixedPointRayCastMapper" 
          proxygroup="mappers" 
          proxyname="FixedPointVolumeRayCastMapper">
        </Proxy>
        <ShareProperties subproxy="Mapper">
          <Exception name="Input" />
        </ShareProperties>
        <ShareProperties subproxy="VolumeDummyMapper"/>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeActor" proxygroup="props" proxyname="LODVolume" />
        <ShareProperties subproxy="Prop">
          <Exception name="Mapper" />
          <Exception name="LODMapper" />
          <Exception name="Property" />
          <Exception name="Visibility" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeProperty" 
          proxygroup="properties" proxyname="VolumeProperty" >
        </Proxy>
        <ExposedProperties>
          <Property name="ScalarOpacityUnitDistance" />
          <Property name="ScalarOpacityFunction" />
        </ExposedProperties>
      </SubProxy>
    </DataObjectDisplayProxy>

    <!-- Display Proxy with support for LOD -->
    <LODDisplayProxy name="LODDisplay" 
      base_proxygroup="displays" base_proxyname="DataObjectDisplay">
     
      <IntVectorProperty name="LODResolution" 
        command="SetLODResolution"
        number_of_elements="1"
        update_self="1"
        default_values="50"
        animateable="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>
      
      <SubProxy>
        <Proxy name="LODDecimator" 
          proxygroup="filters" proxyname="QuadricClustering" />
      </SubProxy>

      <SubProxy>
        <Proxy name="LODUpdateSuppressor" 
          proxygroup="filters" proxyname="UpdateSuppressor" />
        <ShareProperties subproxy="UpdateSuppressor">
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
          <Exception name="RemoveAllCaches" />
          <Exception name="CacheUpdate" />
        </ShareProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="LODMapper" proxygroup="mappers" proxyname="PolyDataMapper" >
        </Proxy>
        <ShareProperties subproxy="Mapper" >
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>
      <!-- TODO need to add LOD Volume Mapper -->
    </LODDisplayProxy>

    <CompositeDisplayProxy name="CompositeDisplay" 
      base_proxygroup="displays" base_proxyname="LODDisplay">
      <IntVectorProperty
        name="CollectionDecision"
        command="SetCollectionDecision"
        number_of_elements="1"
        update_self="1"
        default_values="0"
        animateable="0"
        is_internal="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      <IntVectorProperty
        name="LODCollectionDecision"
        command="SetLODCollectionDecision"
        number_of_elements="1"
        update_self="1"
        default_values="0"
        animateable="0"
        is_internal="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
      <ProxyProperty name="OrderedCompositingTree"
                     command="SetOrderedCompositingTree"
                     is_internal="1"
                     update_self="1">
        <ProxyGroupDomain name="groups">
          <Group name="locators"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <Property name="InvalidateGeometry"
                command="InvalidateGeometry"
                update_self="1">
      </Property>
      <Property name="InvalidateDistributedGeometry"
                command="InvalidateDistributedGeometry"
                update_self="1" />
      <Property name="UpdateDistributedGeometry"
                command="UpdateDistributedGeometry"
                update_self="1" />
      <IntVectorProperty name="IsDistributedGeometryValid"
                         information_only="1"
                         command="IsDistributedGeometryValid"
                         number_of_elements="1"
                         default_values="1"
                         update_self="1">
        <SimpleIntInformationHelper />
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="LODCollect" proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeCollect"
               proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
        <ShareProperties subproxy="Collect">
          <Exception name="Input" />
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Distributor"
               proxygroup="filters"
               proxyname="OrderedCompositeDistributor">
        </Proxy>
      </SubProxy>

      <SubProxy>
        <Proxy name="LODDistributor"
               proxygroup="filters"
               proxyname="OrderedCompositeDistributor">
        </Proxy>
        <ShareProperties subproxy="Distributor">
          <Exception name="Input"/>
          <Exception name="PassThrough"/>
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="VolumeDistributor"
               proxygroup="filters"
               proxyname="OrderedCompositeDistributor">
        </Proxy>
        <ShareProperties subproxy="Distributor">
          <Exception name="Input"/>
          <Exception name="OutputType"/>
          <Exception name="PassThrough"/>
        </ShareProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="DistributorSuppressor"
               proxygroup="filters" proxyname="UpdateSuppressor" />
        <ShareProperties subproxy="UpdateSuppressor">
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
          <Exception name="CacheUpdate" />
          <Exception name="RemoveAllCaches" />
        </ShareProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="LODDistributorSuppressor"
               proxygroup="filters" proxyname="UpdateSuppressor" />
        <ShareProperties subproxy="DistributorSuppressor">
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
          <Exception name="RemoveAllCaches" />
          <Exception name="CacheUpdate" />
        </ShareProperties>
      </SubProxy>
      <SubProxy>
        <Proxy name="VolumeDistributorSuppressor"
               proxygroup="filters" proxyname="UpdateSuppressor" />
        <ShareProperties subproxy="DistributorSuppressor">
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
          <Exception name="OutputType" />
          <Exception name="CacheUpdate" />
        </ShareProperties>
      </SubProxy>

    </CompositeDisplayProxy>

    <MultiDisplayProxy name="MultiDisplay"
      base_proxygroup="displays" base_proxyname="CompositeDisplay">
      <!-- nothing new here -->
    </MultiDisplayProxy>

    <IceTMultiDisplayProxy name="IceTMultiDisplay"
      base_proxygroup="displays" base_proxyname="MultiDisplay">
      <SubProxy>
        <Proxy name="OutlineFilter" 
          proxygroup="filters" proxyname="OutlineFilter" />
      </SubProxy>
      <SubProxy>
        <Proxy name="OutlineCollect"
           proxygroup="filters" proxyname="MPIMoveData">
        </Proxy>
      </SubProxy>
      <SubProxy>
        <Proxy name="OutlineUpdateSuppressor" 
          proxygroup="filters" proxyname="UpdateSuppressor" />
        <ShareProperties subproxy="UpdateSuppressor">
          <Exception name="Input" />
          <Exception name="ForceUpdate" />
          <Exception name="CacheUpdate" />
        </ShareProperties>
      </SubProxy>
      <IntVectorProperty
        name="SuppressGeometryCollection"
        command="SetSuppressGeometryCollection"
        number_of_elements="1"
        update_self="1"
        default_values="0"
        animateable="0"
        is_internal="1">
        <BooleanDomain name="bool"/>
      </IntVectorProperty>
    </IceTMultiDisplayProxy>

    <DisplayProxy name="LabelDisplay">
      <SubProxy>
        <Proxy name="Prop2D"
          proxygroup="props" proxyname="TextActor">
        </Proxy>
        <ExposedProperties>
          <Property name="Text" />
          <Property name="Visibility" />
          <Property name="Position" />
        </ExposedProperties>
      </SubProxy>
    </DisplayProxy>

    <New3DWidgetProxy name="HandleWidgetDisplay">
      <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>
    </New3DWidgetProxy>

    <New3DWidgetProxy name="PointSourceWidgetDisplay"
      base_proxygroup="displays" base_proxyname="HandleWidgetDisplay">
      <!-- 
        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>
    </New3DWidgetProxy>

    <New3DWidgetProxy name="LineWidgetDisplay">
      <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" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="LineWidget2">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
          <Property name="ProcessEvents" />
        </ExposedProperties>
      </SubProxy>
    </New3DWidgetProxy>

    <New3DWidgetProxy name="LineSourceWidgetDisplay"
      base_proxygroup="displays" base_proxyname="LineWidgetDisplay">
      <!-- 
        This is same as LineWidgetDisplay 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>
    </New3DWidgetProxy>

    <New3DWidgetProxy name="ImplicitPlaneWidgetDisplay">
      <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>
    </New3DWidgetProxy>

    <New3DWidgetProxy name="SliderWidgetDisplay">
      <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 SliderWidgetDisplay -->
    </New3DWidgetProxy>

    <New3DWidgetProxy name="TextWidgetDisplay">
      <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" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Widget"
          proxygroup="3d_widgets" proxyname="TextWidget">
        </Proxy>
        <ExposedProperties>
          <Property name="Enabled" />
          <Property name="Selectable" />
        </ExposedProperties>
      </SubProxy>     

      <!-- End of TextWidgetDisplay -->
    </New3DWidgetProxy>

    <!-- End of displays group -->
  </ProxyGroup>

  <ProxyGroup name="displays">
    <Proxy name="GenericViewDisplayBase">

      <Property
        name="Update"
        command="Update"
        is_internal="1"
        update_self="1">
      </Property>

      <IntVectorProperty
        name="Visibility"
        command="SetVisibility"
        number_of_elements="1"
        default_values="1"
        update_self="1"
        animateable="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" />
        </EnumerationDomain>
      </IntVectorProperty>

      <DoubleVectorProperty
        name="UpdateTime"
        command="SetUpdateTime"
        update_self="1"
        immediate_update="1"
        number_of_elements="1"
        default_values="none"
        is_internal="1">
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>

      <SubProxy>
        <Proxy name="UpdateSuppressor" 
          proxygroup="filters" proxyname="UpdateSuppressor" />
      </SubProxy>

      <SubProxy>
        <Proxy name="Collect" proxygroup="filters" proxyname="ClientServerMoveData">
        </Proxy>
        <ExposedProperties>
          <Property name="OutputDataType" />
        </ExposedProperties>
      </SubProxy>

      <SubProxy>
        <Proxy name="Reduce" proxygroup="filters" proxyname="ReductionFilter">
        </Proxy>
        <ExposedProperties>
          <Property name="PreGatherHelper" />
          <Property name="PostGatherHelper" />
          <Property name="PassThrough" />
          <Property name="GenerateProcessIds" />
        </ExposedProperties>
      </SubProxy>
      <!-- End of GenericViewDisplayBase -->
    </Proxy>

    <GenericViewDisplayProxy name="GenericViewDisplay"
      base_proxygroup="displays" base_proxyname="GenericViewDisplayBase">
       <InputProperty
        name="Input"
        command="SetInput-not-used"
        update_self="1">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
          <Group name="glyph_sources" />
        </ProxyGroupDomain>
        <InputArrayDomain 
          name="input_array_any" 
          attribute_type="any" />
        <InputArrayDomain 
          name="input_array_cell" 
          attribute_type="cell"
          number_of_components="1"/>
        <InputArrayDomain 
          name="input_array_point" 
          attribute_type="point"
          number_of_components="1"/>
      </InputProperty>
    </GenericViewDisplayProxy>

    <GenericViewDisplayProxy name="BarChartDisplay"
      base_proxygroup="displays" base_proxyname="GenericViewDisplayBase">
      <!-- All properties here are non-command properties, since
        we don't have any special proxy for BarChartDisplay. 
        We have properties which aid the GUI is "drawing" this display.
      -->
       <InputProperty
        name="Input"
        command="SetInput-not-used"
        update_self="1">
        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
          <Group name="glyph_sources" />
        </ProxyGroupDomain>
        <InputArrayDomain 
          name="input_array_cell" 
          attribute_type="cell"
          number_of_components="1"/>
        <InputArrayDomain 
          name="input_array_point" 
          attribute_type="point"
          number_of_components="1"/>
        <DataTypeDomain name="input_type">
          <DataType value="vtkRectilinearGrid"/>
        </DataTypeDomain>
      </InputProperty>
      <ProxyProperty
        name="LookupTable">
        <!--
        The lookup table proxy used to color the bar chart.
        -->
        <ProxyGroupDomain name="groups">
          <Group name="lookup_tables"/>
        </ProxyGroupDomain>
      </ProxyProperty>
      
      <StringVectorProperty name="XArrayName"
         number_of_elements="1">
         <!-- Set the array to use on X axis. This is used only if
          XAxisUsePoints is 0. -->
          <ArrayListDomain name="array_list" 
            attribute_type="Scalars"
            input_domain_name="input_array_point">
            <RequiredProperties>
               <Property name="Input" function="Input"/>
            </RequiredProperties>
          </ArrayListDomain>
      </StringVectorProperty>

      <StringVectorProperty name="YArrayName"
         number_of_elements="1">
         <!-- Set the array to use on X axis. -->
          <ArrayListDomain name="array_list" 
            attribute_type="Scalars"
            input_domain_name="input_array_cell">
            <RequiredProperties>
               <Property name="Input" function="Input"/>
            </RequiredProperties>
          </ArrayListDomain>
      </StringVectorProperty>

      <IntVectorProperty name="XAxisPointComponent"
        number_of_elements="1"
        default_values="0">
        <!-- Choose the point component for X axis.
        Used only when XAxisUsePoints is 1 -->
        <EnumerationDomain name="enum">
          <Entry value="0" text="X" />
          <Entry value="1" text="Y" />
          <Entry value="2" text="Z" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="XAxisUsePoints"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
      </IntVectorProperty>
      <!-- End of BarChartDisplay -->
    </GenericViewDisplayProxy>

    <GenericViewDisplayProxy name="TableDisplay"
      base_proxygroup="displays" base_proxyname="GenericViewDisplay">
    </GenericViewDisplayProxy>

    <GenericViewDisplayProxy name="ElementInspectorDisplay"
      base_proxygroup="displays" base_proxyname="GenericViewDisplay">
    </GenericViewDisplayProxy>

    <GenericViewDisplayProxy name="XYPlotDisplay2"
      base_proxygroup="displays" base_proxyname="GenericViewDisplayBase">

       <InputProperty name="Input"
        command="SetInput-not-used"
        update_self="1">

        <ProxyGroupDomain name="groups">
          <Group name="sources"/>
          <Group name="filters"/>
          <Group name="glyph_sources" />
        </ProxyGroupDomain>

        <InputArrayDomain name="input_array_selected"
          number_of_components="1">
          <RequiredProperties>
            <Property name="AttributeType"
              function="FieldDataSelection" />
          </RequiredProperties>
        </InputArrayDomain>

        <InputArrayDomain name="input_array_cell"
          attribute_type="cell"
          number_of_components="1">
        </InputArrayDomain>

        <InputArrayDomain name="input_array_point"
          attribute_type="point"
          number_of_components="1">
        </InputArrayDomain>

        <DataTypeDomain name="input_type">
          <DataType value="vtkRectilinearGrid"/>
          <DataType value="vtkPolyData"/>
        </DataTypeDomain>
      </InputProperty>

      <IntVectorProperty name="AttributeType"
        number_of_elements="1"
        default_values="0">
        <!-- 
          Indicates if we are plotting point data or cell data 
          Although both YCellArrayStatus and YPointArrayStatus 
          properties are present, only one will be active at a time
          base on the value of this property.
        -->
        <EnumerationDomain name="enum">
          <Entry value="0" text="Point Data" />
          <Entry value="1" text="Cell Data" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="YCellArrayStatus"
         repeat_command="1"
         number_of_elements_per_command="5"
         element_types="1 1 1 0 2" >
         <!-- Set the cell array to use on Y axis (r,g,b, status, arrayname) -->
          <ArraySelectionDomain name="array_list">
            <RequiredProperties>
              <Property name="CellArrayInfo" function="ArrayList" />
            </RequiredProperties>
          </ArraySelectionDomain>
      </StringVectorProperty>

      <StringVectorProperty name="YPointArrayStatus"
         repeat_command="1"
         number_of_elements_per_command="5"
         element_types="1 1 1 0 2" >
         <!-- Set the point array to use on Y axis (r,g,b, status, arrayname). -->
          <ArraySelectionDomain name="array_list">
            <RequiredProperties>
              <Property name="PointArrayInfo" function="ArrayList" />
            </RequiredProperties>
          </ArraySelectionDomain>
      </StringVectorProperty>

      <StringVectorProperty 
         name="CellArrayInfo"
         number_of_elements_per_command="1"
         element_types="2"
         update_self="1"
         information_only="1">

         <ArrayListInformationHelper 
           list_domain_name="array_list" />

         <ArrayListDomain name="array_list" 
           attribute_type="Scalars"
           input_domain_name="input_array_cell">
           <RequiredProperties>
              <Property name="Input" function="Input"/>
           </RequiredProperties>
         </ArrayListDomain>
      </StringVectorProperty>

      <StringVectorProperty 
         name="PointArrayInfo"
         update_self="1"
         number_of_elements_per_command="1"
         element_types="2"
         information_only="1">

         <ArrayListInformationHelper 
           list_domain_name="array_list" />

         <ArrayListDomain name="array_list" 
           attribute_type="Scalars"
           input_domain_name="input_array_point">
           <RequiredProperties>
              <Property name="Input" function="Input"/>
           </RequiredProperties>
         </ArrayListDomain>

      </StringVectorProperty>

      <StringVectorProperty name="XArrayName"
         number_of_elements="1">
         <!-- Set the array to use on X axis. This is used only if
          UseYArrayIndex is set to 0 -->
          <ArrayListDomain name="array_list" attribute_type="Scalars"
            input_domain_name="input_array_selected">
            <RequiredProperties>
               <Property name="Input" function="Input"/>
            </RequiredProperties>
          </ArrayListDomain>
      </StringVectorProperty>

      <IntVectorProperty name="UseYArrayIndex" 
         number_of_elements="1"
         default_values="1">
         <!-- When set array index is plotted on the X axis.
         -->
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <SubProxy>
        <Proxy name="PostProcessor" 
          proxygroup="filters" proxyname="PolyLineToRectilinearGrid">
        </Proxy>
      </SubProxy>

    </GenericViewDisplayProxy>
    <!-- End of view displays group -->
  </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>

    <Proxy name="PVVisibleCellSelector"
           class="vtkPVVisibleCellSelector">

      <ProxyProperty 
        name="SetRenderer" 
        command="SetRenderer">
        <ProxyGroupDomain name="groups">
          <Group name="renderers"/>
        </ProxyGroupDomain>
      </ProxyProperty>

      <IntVectorProperty
        name="SetSelectMode"
        command="SetSelectMode"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" max="5"/>
      </IntVectorProperty>
 
      <Property
        name="LookupProcessorId"
        command="LookupProcessorId">
      </Property>
      
    </Proxy>
    
  </ProxyGroup>

</ServerManagerConfiguration>




