]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkBooleanOperationPolyDataFilter.cxx
#3493 MeshManager
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkBooleanOperationPolyDataFilter.cxx
index 3e8bca33a88de30726ca28806c6162c798cb0cad..6cb69d57990c780c5a9780163efb5624f72ba075 100644 (file)
@@ -4,10 +4,13 @@
 #include "bbcreaVtkBooleanOperationPolyDataFilter.h"
 #include "bbcreaVtkPackage.h"
 
-#include "vtkBooleanOperationPolyDataFilter.h"
+// #include "vtkBooleanOperationPolyDataFilter.h"
+#include "vtkPolyDataBooleanFilter.h"
+
 #include "vtkCleanPolyData.h"
 #include "vtkTriangleFilter.h"
 
+
 namespace bbcreaVtk
 {
 
@@ -57,23 +60,41 @@ printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at t
                triangle1->Update();
                triangle2->Update();
 
+        vtkPolyDataBooleanFilter *booleanOperation = vtkPolyDataBooleanFilter::New();
+        booleanOperation->SetInputData(0, triangle1->GetOutput() );
+        booleanOperation->SetInputData(1, triangle2->GetOutput() );
+        if (bbGetInputOperation()==0 )
+        {
+            booleanOperation->SetOperModeToUnion();
+        }
+        if (bbGetInputOperation()==1 )
+        {
+            booleanOperation->SetOperModeToIntersection();
+        }
+        if (bbGetInputOperation()==2 )
+        {
+            booleanOperation->SetOperModeToDifference();
+        }
+
+/*
                vtkBooleanOperationPolyDataFilter *booleanOperation = vtkBooleanOperationPolyDataFilter::New();
                booleanOperation->SetInputData(0, triangle1->GetOutput() );
                booleanOperation->SetInputData(1, triangle2->GetOutput() );
-
                if (bbGetInputOperation()==0 )
                {
                        booleanOperation->SetOperationToUnion();
                }
                if (bbGetInputOperation()==1 )
                {
-                       booleanOperation->SetOperationToIntersection();
+            booleanOperation->SetOperationToIntersection();
                }
                if (bbGetInputOperation()==2 )
                {
-                       booleanOperation->SetOperationToDifference();
+            booleanOperation->SetOperationToDifference();
             booleanOperation->SetReorientDifferenceCells( bbGetInputReorientDifferenceCells() );
         }
+ */
+        
                booleanOperation->Update();
                bbSetOutputOut( booleanOperation->GetOutput() );
        } else {