X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkPolyDataWriterPlus.cxx;h=e960ef44dee4bef035987ca8425aece4efc86764;hb=e269992d2d446784afc40073782311deaa25008f;hp=2cc637e5c7aa494a0b251feedad3e4dd7a3a664b;hpb=ba4893ec1bd9e3dde25a07ca3cbe87d352ff6a14;p=bbtk.git diff --git a/packages/vtk/src/bbvtkPolyDataWriterPlus.cxx b/packages/vtk/src/bbvtkPolyDataWriterPlus.cxx index 2cc637e..e960ef4 100755 --- a/packages/vtk/src/bbvtkPolyDataWriterPlus.cxx +++ b/packages/vtk/src/bbvtkPolyDataWriterPlus.cxx @@ -1,3 +1,30 @@ +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + + #include "bbvtkPolyDataWriterPlus.h" #include "bbvtkPackage.h" namespace bbvtk @@ -5,14 +32,15 @@ namespace bbvtk BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,PolyDataWriterPlus) BBTK_BLACK_BOX_IMPLEMENTATION(PolyDataWriterPlus,bbtk::AtomicBlackBox); + void PolyDataWriterPlus::Process() { - std::cout << "[" << this << "]" << "PolyDataWriterPlus::Process()..." << std::endl; +// std::cout << "[" << this << "]" << "PolyDataWriterPlus::Process()..." << std::endl; //Review the observers... if (!HasObserver(OBS_PRE_WRITER_1) && bbGetInputInPrePersistObs1() != NULL) AddObserver(OBS_PRE_WRITER_1, bbGetInputInPrePersistObs1()); - // warning: NULL used in arithmetic // JPR + /// \TODO fix warning: NULL used in arithmetic // JPR if (!HasObserver(OBS_POST_WRITER_1) == NULL && bbGetInputInPostPersistObs1() != NULL) AddObserver(OBS_POST_WRITER_1, bbGetInputInPostPersistObs1()); @@ -32,35 +60,35 @@ void PolyDataWriterPlus::Process() { std::cout << "Set In." << std::endl; return; + } else { + vtkProp3D* actor = bbGetInputIn2(); + vtkPolyDataMapper* mapper = ((vtkPolyDataMapper*)((vtkActor*)actor)->GetMapper()); + cosa = mapper->GetInput(); } - else - { - vtkProp3D* actor = bbGetInputIn2(); - vtkPolyDataMapper* mapper = ((vtkPolyDataMapper*)((vtkActor*)actor)->GetMapper()); - cosa = mapper->GetInput(); - } - } - else - { + } else { cosa = bbGetInputIn(); } std::string nuevo_nombre = guessName(bbGetInputInPath()); - vtkPolyData* entrada = cosa; - std::cout << "Before writing" << std::endl; - entrada->Print(std::cout); +// std::cout << "Before writing" << std::endl; +// entrada->Print(std::cout); std::vector< std::string > partes = StringSplit(nuevo_nombre, "."); std::string extension = partes.at(partes.size()-1); - std::cout << "Extension (vtk, vtp o stl?) => " << extension << std::endl; - - +// std::cout << "Extension (vtk, vtp o stl?) => " << extension << std::endl; vtkDataSetSurfaceFilter* surfaceFilter = vtkDataSetSurfaceFilter::New(); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 surfaceFilter->SetInput(entrada); +#else + surfaceFilter->SetInputData(entrada); +#endif + surfaceFilter->Update(); //vtkPolyData* polydata = surfaceFilter->GetOutput(); entrada = surfaceFilter->GetOutput(); @@ -68,7 +96,14 @@ void PolyDataWriterPlus::Process() if (extension.compare("vtk") == 0) { vtkPolyDataWriter* writer = vtkPolyDataWriter::New(); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 writer->SetInput(entrada); +#else + writer->SetInputData(entrada); +#endif + writer->SetFileName(nuevo_nombre.data()); writer->Write(); writer->Delete(); @@ -78,7 +113,14 @@ void PolyDataWriterPlus::Process() { vtkXMLPolyDataWriter* writer = vtkXMLPolyDataWriter::New(); writer->SetFileName ( nuevo_nombre.data() ); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 writer->SetInput ( entrada ); +#else + writer->SetInputData ( entrada ); +#endif + writer->Write(); writer->Delete(); } @@ -87,17 +129,24 @@ void PolyDataWriterPlus::Process() { vtkSTLWriter* writer = vtkSTLWriter::New(); writer->SetFileName ( nuevo_nombre.data() ); + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 writer->SetInput ( entrada ); +#else + writer->SetInputData ( entrada ); +#endif + writer->Write(); writer->Print(std::cout); writer->Delete(); } - std::cout << "Saving Ok!" << std::endl; InvokeEvent(OBS_POST_WRITER_1); } + void PolyDataWriterPlus::bbUserSetDefaultValues() {