#include "vtkCleanPolyData.h"
#include "vtkTriangleFilter.h"
+#include "vtkFillHolesFilter.h"
+
namespace bbcreaVtk
{
if ((bbGetInputIn1()!=NULL) && (bbGetInputIn2()!=NULL) )
{
-
- vtkPoints *points1 = bbGetInputIn1()->GetPoints();
- vtkPoints *points2 = bbGetInputIn2()->GetPoints();
- printf("EED BooleanOperationPolyDataFilter::Process Number of points 1 %ld\n", points1->GetNumberOfPoints() );
- printf("EED BooleanOperationPolyDataFilter::Process Number of points 2 %ld\n", points2->GetNumberOfPoints() );
-
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");
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 *clean1 = vtkCleanPolyData::New();
vtkCleanPolyData *clean2 = vtkCleanPolyData::New();
clean1->SetInputData( bbGetInputIn1() );
clean2->SetInputData( bbGetInputIn2() );
triangle1->Update();
triangle2->Update();
+// 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, bbGetInputIn1() );
+// booleanOperation->SetInputData(1, bbGetInputIn2() );
+
if (bbGetInputOperation()==0 )
{
booleanOperation->SetOperModeToUnion();
*/
booleanOperation->Update();
+
vtkPoints *points = booleanOperation->GetOutput()->GetPoints();
if (points!=NULL)
{
- bbSetOutputOut( booleanOperation->GetOutput() );
+ vtkFillHolesFilter *fillHolesFilter = vtkFillHolesFilter::New();
+ fillHolesFilter->SetInputData( booleanOperation->GetOutput() );
+ fillHolesFilter->SetHoleSize(100000.0);
+ fillHolesFilter->Update();
+ bbSetOutputOut( fillHolesFilter->GetOutput() );
+// bbSetOutputOut( booleanOperation->GetOutput() );
} else {
bbSetOutputOut( NULL );
} // if points!=NULL
+
} else {
bbSetOutputOut( NULL );
printf("EED Warnning! BooleanOperationPolyDataFilter::Process vtkPolyData In1 or In2 is EMPTY\n");
} // if In1 In2 != NULL
-
- printf("EED BooleanOperationPolyDataFilter::Process End \n" );
}
//=====