X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkBooleanOperationPolyDataFilter.cxx;h=f610d86ac5c7b249268a24a67a14d9acea0f8e44;hb=11f8c0afac719608c751486ff9a5bedf960192ed;hp=175e435a5ce850cdda78eab2ad7019b43f4e73c0;hpb=52fe1977e96677f9cf7c54cb55eb5b822a7b57fd;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkBooleanOperationPolyDataFilter.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkBooleanOperationPolyDataFilter.cxx index 175e435..f610d86 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkBooleanOperationPolyDataFilter.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkBooleanOperationPolyDataFilter.cxx @@ -38,45 +38,21 @@ void BooleanOperationPolyDataFilter::Process() // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <SetInputData( bbGetInputIn1() ); - clean2->SetInputData( bbGetInputIn2() ); - clean1->Update(); - clean2->Update(); - vtkTriangleFilter *triangle1 = vtkTriangleFilter::New(); - vtkTriangleFilter *triangle2 = vtkTriangleFilter::New(); - triangle1->SetInputData( clean1->GetOutput() ); - 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 ) { @@ -120,6 +96,15 @@ 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(); + vtkCleanPolyData *cleanEnd = vtkCleanPolyData::New(); + bbSetOutputOut( cleanEnd->GetOutput() ); + */ + bbSetOutputOut( booleanOperation->GetOutput() ); } else { bbSetOutputOut( NULL );