Salome HOME
Enhanced version of paraLight: with toolbar, filter menu and spreadsheet view.
authorabn <adrien.bruneton@cea.fr>
Tue, 2 Aug 2016 09:20:32 +0000 (11:20 +0200)
committerabn <adrien.bruneton@cea.fr>
Tue, 2 Aug 2016 11:05:03 +0000 (13:05 +0200)
test/standalone/gui/CMakeLists.txt
test/standalone/gui/PLMainWindow.cxx
test/standalone/gui/PLMainWindow.hxx
test/standalone/gui/PLViewTab.cxx
test/standalone/gui/PLViewTab.hxx
test/standalone/gui/PVViewer_GUIElements.cxx
test/standalone/gui/main.cpp
test/standalone/gui/ui/light_para.ui
test/standalone/gui/ui/view_tab.ui
test/standalone/gui/xml/ParaViewFilters.xml [new file with mode: 0644]

index a4b18ca2bcc8717bc6a61239a2e7eb2b60b369e6..20f62f86b6ea89f62bc8fec0b0c33e7ce1c8623a 100644 (file)
@@ -57,8 +57,8 @@ SET(ui_resources
   
 GENERATE_QT_RESOURCE_FROM_FILES(
     "${ui_resources}"
-    "/LightPara/Configuration"
-    "${PROJECT_SOURCE_DIR}/gui/xml/ParaViewReaders.xml")
+    "LightPara/Configuration"
+    "${PROJECT_SOURCE_DIR}/gui/xml/ParaViewReaders.xml;${PROJECT_SOURCE_DIR}/gui/xml/ParaViewFilters.xml")
 
 QT_ADD_RESOURCES(rcs_sources
     ${ui_resources}
index e2754985e3480d210d590a4817643e9a8f94d318..40b4e9ba2948db8e711b8d89e7bbbf36d2199313 100644 (file)
@@ -50,7 +50,8 @@ PLMainWindow::PLMainWindow(QWidget *parent) :
   QMainWindow(parent),
   _pAppC(0),
   _simplePipeline(),
-  _autoApply(true)
+  _autoApply(true),
+  _filterMenu(0)
 {
   _mainWindow.setupUi(this);
   _autoApply = _mainWindow.actionAuto_apply->isChecked();
@@ -63,25 +64,23 @@ PLMainWindow::PLMainWindow(QWidget *parent) :
 void PLMainWindow::finishUISetup()
 {
   _pAppC = PVViewer_Core::GetPVApplication();
-  PVViewer_GUIElements * pvgui = PVViewer_GUIElements::GetInstance(this);
-  QWidget * wprop = pvgui->getPropertiesPanel();
-  QWidget * wpipe = pvgui->getPipelineBrowserWidget();
+  _pvgui = PVViewer_GUIElements::GetInstance(this);
+
+  QWidget * wprop = _pvgui->getPropertiesPanel();
+  QWidget * wpipe = _pvgui->getPipelineBrowserWidget();
   wprop->setParent(_mainWindow.propFrame);
   _mainWindow.verticalLayoutProp->addWidget(wprop);
   wpipe->setParent(_mainWindow.pipelineFrame);
   _mainWindow.verticalLayoutPipe->addWidget(wpipe);
 
-  PVViewer_GUIElements * pvge = PVViewer_GUIElements::GetInstance(this);
-//  pvge->setToolBarVisible(false);
-
   // In this mockup, we play on the parent widget visibility (a QFrame), so show these:
-  pvge->getPipelineBrowserWidget()->show();
-  pvge->getPropertiesPanel()->show();
+  _pvgui->getPipelineBrowserWidget()->show();
+  _pvgui->getPropertiesPanel()->show();
   // and hide these:
   _mainWindow.propFrame->hide();
   _mainWindow.pipelineFrame->hide();
-//  pvge->setToolBarEnabled(false);
-//  pvge->setToolBarVisible(false);
+//  _pvgui->setToolBarEnabled(false);
+//  _pvgui->setToolBarVisible(false);
 
 }
 
@@ -110,6 +109,19 @@ void PLMainWindow::showPipeline(bool isChecked)
   isChecked ? _mainWindow.pipelineFrame->show() : _mainWindow.pipelineFrame->hide();
 }
 
+void PLMainWindow::onBuildFilterMenu()
+{
+  if(_filterMenu == 0)
+    {
+      _filterMenu = _pvgui->getFiltersMenu();
+//      _filterMenu = new QMenu();
+      _filterMenu->setTitle("Filters");
+      this->menuBar()->addMenu(_filterMenu);
+    }
+  else
+    QMessageBox::warning(this, "Warning", "Filter menu already added!");
+}
+
 void PLMainWindow::addTab()
 {
   int c = _mainWindow.tabWidget->count();
@@ -120,6 +132,7 @@ void PLMainWindow::addTab()
   // Connect buttons
   QObject::connect(newTab, SIGNAL(onInsertSingleView(PLViewTab *)), this, SLOT(insertSingleView(PLViewTab *)));
   QObject::connect(newTab, SIGNAL(onInsertMultiView(PLViewTab *)), this, SLOT(insertMultiView(PLViewTab *)));
+  QObject::connect(newTab, SIGNAL(onInsertSpreadsheetView(PLViewTab *)), this, SLOT(insertSpreadsheetView(PLViewTab *)));
 }
 
 void PLMainWindow::deleteTab()
@@ -202,6 +215,26 @@ void PLMainWindow::insertSingleView(PLViewTab * tab)
   pqActiveObjects::instance().setActiveView(pqview);
 }
 
+void PLMainWindow::insertSpreadsheetView(PLViewTab * tab)
+{
+  // Create a new view proxy on the server
+  pqObjectBuilder* builder = _pAppC->getObjectBuilder();
+  pqServer* active_serv = pqActiveObjects::instance().activeServer();
+
+  std::cout << "About to create spreadsheet view ..." << std::endl;
+  pqView * pqview = builder->createView(QString("SpreadSheetView"), active_serv);
+  std::cout << "Created: " << pqview << "!" << std::endl;
+
+  // Retrieve its widget and pass it to the Qt tab:
+  QWidget* viewWidget = pqview->widget();
+
+//  QWidget* viewWidget = new QPushButton("toto");
+  tab->hideAndReplace(viewWidget, pqview);
+
+  pqActiveObjects::instance().setActiveView(pqview);
+}
+
+
 void PLMainWindow::insertMultiView(PLViewTab * tab)
 {
   // Retrieve TabbedMultiView and see if it is already attached to someone:
@@ -221,7 +254,6 @@ void PLMainWindow::insertMultiView(PLViewTab * tab)
     }
 }
 
-
 void PLMainWindow::doShrink()
 {
   if(!_simplePipeline.isEmpty())
index 91bd85a4f9935cf00bde98b747c3f2eb76156c92..727361cebaa2a50082de279bed67c4b960d91d8a 100644 (file)
@@ -31,6 +31,7 @@ class pqServer;
 class pqProxy;
 
 class PLViewTab;
+class PVViewer_GUIElements;
 
 /** Main window of the application.
  */
@@ -73,18 +74,25 @@ private slots:
 
   void insertSingleView(PLViewTab *);
   void insertMultiView(PLViewTab *);
+  void insertSpreadsheetView(PLViewTab *);
 
   void currentTabChanged(int);
 
+  void onBuildFilterMenu();
+
 private:
   Ui::MainWindow _mainWindow;
 
+  PVViewer_GUIElements * _pvgui;
+
   pqPVApplicationCore * _pAppC;
   //pqServer * _activeServer;
   //pqPipelineSource * _activeSource;  // last pipeline element
   QStack<pqPipelineSource *> _simplePipeline;
 
   bool _autoApply;
+
+  QMenu * _filterMenu;
 };
 
 #endif /* PLVIEWWIDGET_H_ */
index 9411d513e21fcca6c53c2ff1a5e4e00d42f3a578..1840d446c97e5a46f17156d45fbf67b18eb89661 100644 (file)
@@ -28,6 +28,11 @@ _renderView(0)
   _viewTab.setupUi(this);
 }
 
+void PLViewTab::insertSpreadsheetView()
+{
+  emit onInsertSpreadsheetView(this);
+}
+
 void PLViewTab::insertSingleView()
 {
   emit onInsertSingleView(this);
index 6ff4dac99bfde3f5d4b14c35f301184297c32253..75248dfe9e567856439b47e1dbe0a2b4081dde1c 100644 (file)
@@ -42,11 +42,13 @@ public:
 private slots:
   void insertSingleView();
   void insertMultiView();
+  void insertSpreadsheetView();
   void viewDestroyed();
 
 signals:
   void onInsertSingleView(PLViewTab *);
   void onInsertMultiView(PLViewTab *);
+  void onInsertSpreadsheetView(PLViewTab *);
 
 private:
   Ui::ViewTab _viewTab;
index 7daff83c77b3b6ccbed90d40bdbe9976cc36824b..23ea93481aedd4ddd63ef77b2d71494ad6eef69d 100644 (file)
@@ -70,7 +70,7 @@ PVViewer_GUIElements::PVViewer_GUIElements(QMainWindow* desk) :
   macrosMenu = new QMenu(0);
   pqParaViewMenuBuilders::buildMacrosMenu(*macrosMenu);
 
-  //myBuildToolbars(desk);
+//  myBuildToolbars(desk);
 }
 
 PVViewer_GUIElements * PVViewer_GUIElements::GetInstance(QMainWindow* desk)
index bcb3f303ee2d7b68ae401b93415ee35664867992..c7e3d08e258a941c36bfe22c9b336d558a701b3f 100644 (file)
@@ -58,8 +58,8 @@ int main(int argc, char ** argv)
 
   //para_widget->updateActiveServer();
 
-  //std::cout << "Load config ..." << std::endl;
-  //PVViewer_Core::ParaviewLoadConfigurations(QString(":/LightPara/Configuration/"));
+  std::cout << "Load config ..." << std::endl;
+  PVViewer_Core::ParaviewLoadConfigurations(QString(":/LightPara/Configuration"));
 
   /* Inspired from ParaView source code:
    * leave time for the GUI to update itself before displaying the main window: */
index 47c38e3aa81af6a1bccddcb2af877a0e8cc608ae..2c0e833b6d6780c3cd871e67bc163b0dd0c56a78 100644 (file)
     <addaction name="actionAuto_apply"/>
     <addaction name="actionShow_prop_widget"/>
     <addaction name="actionShow_pipeline"/>
+    <addaction name="actionBuild_filter_menu"/>
    </widget>
    <addaction name="menuFile"/>
    <addaction name="menuSimple_actions"/>
     <string>Show pipeline</string>
    </property>
   </action>
+  <action name="actionBuild_filter_menu">
+   <property name="text">
+    <string>Build filter menu</string>
+   </property>
+  </action>
  </widget>
  <resources/>
  <connections>
     </hint>
    </hints>
   </connection>
+  <connection>
+   <sender>actionBuild_filter_menu</sender>
+   <signal>triggered()</signal>
+   <receiver>MainWindow</receiver>
+   <slot>onBuildFilterMenu()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>-1</x>
+     <y>-1</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>504</x>
+     <y>338</y>
+    </hint>
+   </hints>
+  </connection>
  </connections>
  <slots>
   <signal>changedCurrentFile(QString)</signal>
   <slot>showPipeline(bool)</slot>
   <slot>showProp(bool)</slot>
   <slot>currentTabChanged(int)</slot>
+  <slot>onBuildFilterMenu()</slot>
  </slots>
 </ui>
index 67cae6a8ae08a5335ca11e03f81bafbf6b1cb9e0..2d001bdd69a9f1cf0bd8ff532b9067ffc7e9071d 100644 (file)
         </property>
        </widget>
       </item>
+      <item>
+       <widget class="QPushButton" name="spreadsheetViewButton">
+        <property name="text">
+         <string>Spreadsheet view</string>
+        </property>
+       </widget>
+      </item>
       <item>
        <spacer name="verticalSpacer">
         <property name="orientation">
     </hint>
    </hints>
   </connection>
+  <connection>
+   <sender>spreadsheetViewButton</sender>
+   <signal>clicked()</signal>
+   <receiver>ViewTab</receiver>
+   <slot>insertSpreadsheetView()</slot>
+   <hints>
+    <hint type="sourcelabel">
+     <x>89</x>
+     <y>286</y>
+    </hint>
+    <hint type="destinationlabel">
+     <x>274</x>
+     <y>309</y>
+    </hint>
+   </hints>
+  </connection>
  </connections>
  <slots>
   <slot>insertMultiView()</slot>
   <slot>insertSingleView()</slot>
+  <slot>insertSpreadsheetView()</slot>
  </slots>
 </ui>
diff --git a/test/standalone/gui/xml/ParaViewFilters.xml b/test/standalone/gui/xml/ParaViewFilters.xml
new file mode 100644 (file)
index 0000000..d1da9c3
--- /dev/null
@@ -0,0 +1,247 @@
+<ParaViewFilters>
+  <Category name="Common" menu_label="&amp;Common" preserve_order="1"
+    show_in_toolbar="1">
+    <Proxy group="filters" name="Calculator" icon=":/pqWidgets/Icons/pqCalculator24.png"/>
+    <Proxy group="filters" name="Contour" icon=":/pqWidgets/Icons/pqIsosurface24.png"/>
+    <Proxy group="filters" name="Clip" icon=":/pqWidgets/Icons/pqClip24.png"/>
+    <Proxy group="filters" name="Cut" icon=":/pqWidgets/Icons/pqSlice24.png"/>
+    <Proxy group="filters" name="Threshold" icon=":/pqWidgets/Icons/pqThreshold24.png"/>
+    <Proxy group="filters" name="ExtractGrid" icon=":/pqWidgets/Icons/pqExtractGrid24.png"/>
+    <Proxy group="filters" name="Glyph" icon=":/pqWidgets/Icons/pqGlyph24.png"/>
+    <Proxy group="filters" name="StreamTracer" icon=":/pqWidgets/Icons/pqStreamTracer24.png"/>
+    <Proxy group="filters" name="WarpVector" icon=":/pqWidgets/Icons/pqWarp24.png"/>
+    <Proxy group="filters" name="GroupDataSets" icon=":/pqWidgets/Icons/pqGroup24.png"/>
+    <Proxy group="filters" name="ExtractHierarchicalLevel" icon=":/pqWidgets/Icons/pqGroupExtract24.png"/>
+  </Category>
+
+  <Category name="CosmoTools" menu_label="&amp;CosmoTools" show_in_toolbar="0">
+    <Proxy group="filters" name="ANLHaloFinder" />
+    <Proxy group="filters" name="ANLSubhaloFinder" />
+    <Proxy group="filters" name="LANLHaloFinder" />
+    <Proxy group="filters" name="MinkowskiFilter" />
+    <Proxy group="filters" name="PMergeConnected" />
+  </Category>
+
+  <Category name="DataAnalysis" menu_label="&amp;Data Analysis" show_in_toolbar="1" hide_for_tests="1">
+    <Proxy group="filters" name="Calculator"
+            icon=":/pqWidgets/Icons/pqCalculator24.png" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="ExtractSelection"
+            icon=":/pqWidgets/Icons/pqExtractSelection24.png" />
+    <Proxy group="filters" name="ExtractSelectionOverTime"
+            icon=":/pqWidgets/Icons/pqPlotSelectionOverTime24.png" />
+    <Proxy group="filters" name="ExtractHistogram"
+            icon=":/pqWidgets/Icons/pqHistogram24.png" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="IntegrateAttributes" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="ExtractFieldDataOverTime"
+            icon=":/pqWidgets/Icons/pqPlotGlobalOverTime24.png" />
+    <Proxy group="filters" name="ProbeLine"
+            icon=":/pqWidgets/Icons/pqPlotOverLine24.png" />
+    <Proxy group="filters" name="ProbePoint"
+            icon=":/pqWidgets/Icons/pqProbeLocation24.png" />
+    <Proxy group="filters" name="PlotAttributes" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="PlotOnSortedLines" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="PlotOnIntersectionCurves" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="ProgrammableFilter"
+            icon=":/pqWidgets/Icons/pqProgrammableFilter24.png" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="TransposeTable" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="ComputeQuartiles"
+            icon=":/pqWidgets/Icons/pqBoxChart16.png" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="ExtractBagPlots"
+            icon=":/pqWidgets/Icons/pqFunctionalBagChart16.png" omit_from_toolbar="1"/>
+    <Proxy group="filters" name="ExtractLocation" omit_from_toolbar="1" />
+  </Category>
+
+  <Category name="Statistics" menu_label="&amp;Statistics">
+    <Proxy group="filters" name="ContingencyStatistics"/>
+    <Proxy group="filters" name="DescriptiveStatistics"/>
+    <Proxy group="filters" name="KMeans"/>
+    <Proxy group="filters" name="MulticorrelativeStatistics"/>
+    <Proxy group="filters" name="PCAStatistics"/>
+  </Category>
+
+  <Category name="Temporal" menu_label="&amp;Temporal">
+    <Proxy group="filters" name="ParticleTracer" />
+    <Proxy group="filters" name="ParticlePath" />
+    <Proxy group="filters" name="StreakLine" />
+    <Proxy group="filters" name="TemporalCache" />
+    <Proxy group="filters" name="TemporalInterpolator" />
+    <Proxy group="filters" name="TemporalSnapToTimeStep" />
+    <Proxy group="filters" name="TemporalShiftScale" />
+    <Proxy group="filters" name="TemporalStatistics" />
+    <Proxy group="filters" name="TimeToTextConvertor" />
+  </Category>
+
+  <Category name="Material Analysis" menu_label="&amp;Material Analysis">
+    <Proxy group="filters" name="MaterialInterfaceFilter" />
+    <Proxy group="filters" name="IntersectFragments" />
+  </Category>
+
+  <Category name="CTH" menu_label="&amp;CTH">
+    <Proxy group="filters" name="CTHFragmentConnect"/>
+    <Proxy group="filters" name="CTHFragmentIntersect"/>
+    <Proxy group="filters" name="CTHPart" />
+    <Proxy group="filters" name="NonOverlappingLevelIdScalars" />
+    <Proxy group="filters" name="MaterialInterfaceFilter" />
+    <Proxy group="filters" name="AMRDualClip" />
+    <Proxy group="filters" name="AMRDualContour" />
+    <Proxy group="filters" name="AMRConnectivity" />
+    <Proxy group="filters" name="AMRFragmentIntegration" />
+    <Proxy group="filters" name="AMRFragmentsFilter"/>
+    <Proxy group="filters" name="ExtractHierarchicalLevel" />
+    <Proxy group="filters" name="ExtractHierarchicalDataSets" />
+  </Category>
+
+  <Category name="AMR" menu_label="&amp;AMR">
+    <Proxy group="filters" name="AMRDualMeshExtractor" />
+    <Proxy group="filters" name="AMRResampleFilter" />
+    <Proxy group="filters" name="AMRSlice" />
+    <Proxy group="filters" name="AMRToMultiBlock" />
+    <Proxy group="filters" name="AMRCutPlane" />
+    <Proxy group="filters" name="OverlappingLevelIdScalars" />
+    <Proxy group="filters" name="ExtractHierarchicalLevel" />
+    <Proxy group="filters" name="ExtractHierarchicalDataSets" />
+  </Category>
+
+  <Category name="Quadrature Points" menu_label="&amp;Quadrature Points">
+    <Proxy group="filters" name="QuadraturePointInterpolator" />
+    <Proxy group="filters" name="QuadraturePointsGenerator" />
+    <Proxy group="filters" name="QuadraturePointStatistics" />
+    <Proxy group="filters" name="QuadratureSchemeDictionaryGenerator" />
+  </Category>
+
+  <Category name="Annotation" menu_label="Annotation">
+    <Proxy group="filters" name="AnnotateGlobalData" />
+    <Proxy group="filters" name="AnnotateAttributeData" />
+    <Proxy group="filters" name="PythonAnnotation" />
+    <Proxy group="filters" name="TimeToTextConvertor" />
+    <Proxy group="filters" name="DataSetRegionSurfaceFilter" />
+    <Proxy group="filters" name="EnvironmentAnnotation" />
+  </Category>
+
+  <Proxy group="filters" name="AddFieldArrays" />
+  <Proxy group="filters" name="ImageDataToAMR" />
+  <Proxy group="filters" name="UniformGridPartitioner" />
+  <Proxy group="filters" name="Append" />
+  <Proxy group="filters" name="AppendAttributes" />
+  <Proxy group="filters" name="AppendPolyData" />
+  <Proxy group="filters" name="AngularPeriodicFilter" />
+  <Proxy group="filters" name="ArbitrarySourceStreamTracer" />
+  <Proxy group="filters" name="BlockIdScalars" />
+  <Proxy group="filters" name="RandomAttributeGenerator" />
+  <Proxy group="filters" name="BrownianPoints" />
+  <Proxy group="filters" name="Calculator" />
+  <Proxy group="filters" name="CellCenters" />
+  <Proxy group="filters" name="CellDataToPointData" />
+  <Proxy group="filters" name="CellDerivatives"/>
+  <Proxy group="filters" name="CleanPolyData" />
+  <Proxy group="filters" name="CleanUnstructuredGrid" />
+  <Proxy group="filters" name="CleanUnstructuredGridCells" />
+  <Proxy group="filters" name="Clip" />
+  <Proxy group="filters" name="ClipClosedSurface" />
+  <Proxy group="filters" name="Contour" />
+  <Proxy group="filters" name="Curvatures" />
+  <Proxy group="filters" name="Cut" />
+  <Proxy group="filters" name="CutEverything" />
+  <Proxy group="filters" name="D3" />
+  <Proxy group="filters" name="DataSetSurfaceFilter" />
+  <Proxy group="filters" name="DataSetRegionSurfaceFilter" />
+  <Proxy group="filters" name="DataSetTriangleFilter" />
+  <Proxy group="filters" name="DecimatePro" />
+  <Proxy group="filters" name="Delaunay2D" />
+  <Proxy group="filters" name="Delaunay3D" />
+  <Proxy group="filters" name="ElevationFilter" />
+  <Proxy group="filters" name="ExtractBlock" />
+  <Proxy group="filters" name="ExtractComponent" />
+  <Proxy group="filters" name="ExtractEdges" />
+  <Proxy group="filters" name="ExtractGeometry" />
+  <Proxy group="filters" name="ExtractGrid" />
+  <Proxy group="filters" name="ExtractHistogram" />
+  <Proxy group="filters" name="ExtractSelection" />
+  <Proxy group="filters" name="ExtractSelectionOverTime" />
+  <Proxy group="filters" name="FeatureEdges" />
+  <Proxy group="filters" name="FFTSelectionOverTime" />
+  <Proxy group="filters" name="GaussianSplatter"/>
+  <Proxy group="filters" name="GenerateIdScalars"/>
+  <Proxy group="filters" name="Glyph" />
+  <Proxy group="filters" name="GlyphWithCustomSource" />
+  <Proxy group="filters" name="Gradient" />
+  <Proxy group="filters" name="GridConnectivity" />
+  <Proxy group="filters" name="GroupDataSets" />
+  <Proxy group="filters" name="ImageDataToAMR" />
+  <Proxy group="filters" name="ImageDataToPointSet" />
+  <Proxy group="filters" name="IntegrateAttributes" />
+  <Proxy group="filters" name="IntegrateFlowThroughSurface" />
+  <Proxy group="filters" name="LegacyGlyph" />
+  <!--  <Proxy group="filters" name="LevelIdScalars" /> -->
+  <Proxy group="filters" name="LinearExtrusionFilter" />
+  <Proxy group="filters" name="LoopSubdivisionFilter" />
+  <Proxy group="filters" name="MaskPoints" />
+  <Proxy group="filters" name="Median" />
+  <Proxy group="filters" name="MergeBlocks" />
+  <Proxy group="filters" name="MeshQuality" />
+  <Proxy group="filters" name="OctreeDepthLimit" />
+  <Proxy group="filters" name="OctreeDepthScalars" />
+  <Proxy group="filters" name="OutlineCornerFilter" />
+  <Proxy group="filters" name="OutlineFilter" />
+  <Proxy group="filters" name="ParticlePathLines" />
+  <Proxy group="filters" name="ParticleTracer" />
+  <Proxy group="filters" name="PassArrays" />
+  <Proxy group="filters" name="PlotAttributes" />
+  <Proxy group="filters" name="PlotOnIntersectionCurves" />
+  <Proxy group="filters" name="PlotOnSortedLines" />
+  <Proxy group="filters" name="PointDataToCellData" />
+  <Proxy group="filters" name="PolyDataNormals" />
+  <Proxy group="filters" name="Probe" />
+  <Proxy group="filters" name="ImageResampling" />
+  <Proxy group="filters" name="ProbeLine" />
+  <Proxy group="filters" name="ProbePoint" />
+  <Proxy group="filters" name="ProcessIdScalars" />
+  <Proxy group="filters" name="ProgrammableFilter" />
+  <Proxy group="filters" name="PVConnectivityFilter" />
+  <Proxy group="filters" name="PythonCalculator" />
+  <Proxy group="filters" name="PythonExtractSelection" />
+
+  <Proxy group="filters" name="QuadricClustering" />
+  <Proxy group="filters" name="RectilinearGridConnectivity" />
+  <Proxy group="filters" name="RectilinearGridToPointSet" />
+  <Proxy group="filters" name="ReflectionFilter" />
+  <Proxy group="filters" name="RibbonFilter" />
+  <Proxy group="filters" name="RotationalExtrusionFilter" />
+  <Proxy group="filters" name="ScatterPlot"/>
+  <Proxy group="filters" name="ShrinkFilter" />
+  <Proxy group="filters" name="SmoothPolyDataFilter" />
+  <Proxy group="filters" name="StreamTracer" />
+  <Proxy group="filters" name="Stripper" />
+  <Proxy group="filters" name="StructuredGridOutlineFilter" />
+  <Proxy group="filters" name="Subdivide" />
+  <Proxy group="filters" name="SurfaceVectors" />
+  <Proxy group="filters" name="TemporalCache" />
+  <Proxy group="filters" name="TemporalInterpolator" />
+  <Proxy group="filters" name="TemporalSnapToTimeStep" />
+  <Proxy group="filters" name="TemporalShiftScale" />
+  <Proxy group="filters" name="TemporalStatistics" />
+  <Proxy group="filters" name="TensorGlyph" />
+  <Proxy group="filters" name="TessellatorFilter" />
+  <Proxy group="filters" name="TextureMapToCylinder" />
+  <Proxy group="filters" name="TextureMapToPlane" />
+  <Proxy group="filters" name="TextureMapToSphere" />
+  <Proxy group="filters" name="Threshold" />
+  <Proxy group="filters" name="TransformFilter" />
+  <Proxy group="filters" name="TriangleFilter" />
+  <Proxy group="filters" name="TubeFilter" />
+  <Proxy group="filters" name="UnstructuredGradient" />
+  <Proxy group="filters" name="WarpScalar" />
+  <Proxy group="filters" name="WarpVector" />
+  <Proxy group="filters" name="YoungsMaterialInterface"/>
+  <Proxy group="filters" name="NormalGlyphs" />
+  <Proxy group="filters" name="TableToPolyData" />
+  <Proxy group="filters" name="TableToStructuredGrid" />
+  <Proxy group="filters" name="IsoVolume" />
+
+  <Proxy group="filters" name="GenericClip" />
+  <Proxy group="filters" name="GenericContour" />
+  <Proxy group="filters" name="GenericCut" />
+  <Proxy group="filters" name="GenericStreamTracer" />
+  <Proxy group="filters" name="GenericGeometryFilter" />
+  <Proxy group="filters" name="SliceAlongPolyLine" />
+</ParaViewFilters>