]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkBooleanOperationPolyDataFilter.cxx
#3503 Clean BooleanOperationPolyDataFilter
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkBooleanOperationPolyDataFilter.cxx
index 7a2d9567050dfcb69e8f565d3edc8e0aa1597a20..79a92c2539abe2b87e7dc70041a09438a7e830a8 100644 (file)
@@ -40,7 +40,7 @@ void BooleanOperationPolyDataFilter::Process()
   
        if ((bbGetInputIn1()!=NULL)  && (bbGetInputIn2()!=NULL) )
        {
-        
+/*        
 printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at the end of CreateMesh.. or create 2 new boxes\n");
 printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at the end of CreateMesh.. or create 2 new boxes\n");
 printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at the end of CreateMesh.. or create 2 new boxes\n");
@@ -49,7 +49,9 @@ printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at t
 printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at the end of CreateMesh.. or create 2 new boxes\n");
 printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at the end of CreateMesh.. or create 2 new boxes\n");
 printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at the end of CreateMesh.. or create 2 new boxes\n");
-    
+*/
+
+/*    
         vtkCleanPolyData *clean1 = vtkCleanPolyData::New();
                vtkCleanPolyData *clean2 = vtkCleanPolyData::New();
                clean1->SetInputData( bbGetInputIn1() );
@@ -62,17 +64,20 @@ printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at t
                triangle2->SetInputData( clean2->GetOutput() );
                triangle1->Update();
                triangle2->Update();
+*/
+       //TRIANGLE FILTER NOT NEEDED, this can handle non triangle meshes.
+       
 
 //  vtkPolyDataBooleanFilter  is not a vtk filter   (this one yes: vtkBooleanOperationPolyDataFilter )
 //   https://github.com/zippy84/vtkbool
         //  vtkPolyDataBooleanFilter is a local code creaVtk lib
         vtkPolyDataBooleanFilter *booleanOperation = vtkPolyDataBooleanFilter::New();
 
-        booleanOperation->SetInputData(0, triangle1->GetOutput() );
-        booleanOperation->SetInputData(1, triangle2->GetOutput() );
+//        booleanOperation->SetInputData(0, triangle1->GetOutput() );
+//        booleanOperation->SetInputData(1, triangle2->GetOutput() );
 
-//        booleanOperation->SetInputData(0, bbGetInputIn1() );
-//        booleanOperation->SetInputData(1, bbGetInputIn2() );
+        booleanOperation->SetInputData(0, bbGetInputIn1() );
+        booleanOperation->SetInputData(1, bbGetInputIn2() );
 
         if (bbGetInputOperation()==0 )
         {
@@ -116,6 +121,22 @@ printf("EED Warnning BooleanOperationPolyDataFilter::Process  Put this code at t
 //            fillHolesFilter->SetHoleSize(100000.0);
 //            fillHolesFilter->Update();
 //            bbSetOutputOut( fillHolesFilter->GetOutput() );
+                       
+                       /*
+                       *
+                       *Added boxes(triangleFilter and CleanPolyData) to handle this outside the box
+                       *
+                       
+                       //vtkTriangleFilter *triangleEnd = vtkTriangleFilter::New();
+                       //triangleEnd->SetInputData( booleanOperation->GetOutput() );
+                       //triangleEnd->Update();
+                       
+                       vtkCleanPolyData *cleanEnd = vtkCleanPolyData::New();
+                       cleanEnd->SetInputData( booleanOperation->GetOutput() );
+                       cleanEnd->Update();
+                       bbSetOutputOut( cleanEnd->GetOutput() );
+                       */
+                       
             bbSetOutputOut( booleanOperation->GetOutput() );
         } else {
             bbSetOutputOut( NULL );