From f071d50abb73125738a9e9e3b5cc801840b9fa0f Mon Sep 17 00:00:00 2001
From: Hal Canary <hal@cs.unc.edu>
Date: Mon, 1 Aug 2011 12:30:57 -0400
Subject: [PATCH] Exposed MergePoints as a user-selectable option in the MergeBlocks filter.

Change-Id: I987b0049e958c909d1623355f93553d21430b102
---
 .../ServerImplementation/Resources/filters.xml     |    9 +++++++++
 .../vtkCompositeDataToUnstructuredGridFilter.cxx   |    3 ++-
 .../vtkCompositeDataToUnstructuredGridFilter.h     |    7 +++++++
 3 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/ParaViewCore/ServerImplementation/Resources/filters.xml b/ParaViewCore/ServerImplementation/Resources/filters.xml
index 4555ebc..3ac6f92 100644
--- a/ParaViewCore/ServerImplementation/Resources/filters.xml
+++ b/ParaViewCore/ServerImplementation/Resources/filters.xml
@@ -9043,6 +9043,15 @@ This property controls how the filter works to generate tensor cell data. You ca
         </Documentation>
       </IntVectorProperty>
 
+      <IntVectorProperty
+        name="MergePoints"
+        label="Merge Points"
+        command="SetMergePoints"
+        number_of_elements="1"
+        default_values="1">
+        <BooleanDomain name="bool"/>
+      </IntVectorProperty>
+
       <!-- End of MergeBlocks -->
     </SourceProxy>
 
diff --git a/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.cxx b/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.cxx
index 2ab2f13..b8ac718 100644
--- a/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.cxx
+++ b/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.cxx
@@ -27,6 +27,7 @@ vtkStandardNewMacro(vtkCompositeDataToUnstructuredGridFilter);
 vtkCompositeDataToUnstructuredGridFilter::vtkCompositeDataToUnstructuredGridFilter()
 {
   this->SubTreeCompositeIndex = 0;
+  this->MergePoints = 1;
 }
 
 //----------------------------------------------------------------------------
@@ -53,7 +54,7 @@ int vtkCompositeDataToUnstructuredGridFilter::RequestData(
 
 
   vtkAppendFilter* appender = vtkAppendFilter::New();
-  appender->MergePointsOn();
+  appender->SetMergePoints(this->MergePoints);  
   if (ds)
     {
     this->AddDataSet(ds, appender);
diff --git a/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.h b/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.h
index 17db74e..60d5f58 100644
--- a/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.h
+++ b/ParaViewCore/VTKExtensions/vtkCompositeDataToUnstructuredGridFilter.h
@@ -44,6 +44,13 @@ public:
   vtkSetMacro(SubTreeCompositeIndex, unsigned int);
   vtkGetMacro(SubTreeCompositeIndex, unsigned int);
 
+  // Description:
+  // Turn on/off merging of coincidental points.  Frontend to
+  // vtkAppendFilter::MergePoints. Default is on.
+  vtkSetMacro(MergePoints,int);
+  vtkGetMacro(MergePoints,int);
+  vtkBooleanMacro(MergePoints,int);
+
 //BTX
 protected:
   vtkCompositeDataToUnstructuredGridFilter();
-- 
1.7.3.5

