X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FPlugins%2FIO%2FMeshWriter.cxx;h=46f983309100d80414c2a93eda2d348031c43ea2;hb=1bf710541f1f708f9000096a8d516596bf009d6d;hp=ade28b87e5b8b85e8d8952ac6e358443151a047d;hpb=94a44f4cdf4747eccc933df0a9c75ec86e825d2e;p=cpPlugins.git diff --git a/lib/cpPlugins/Plugins/IO/MeshWriter.cxx b/lib/cpPlugins/Plugins/IO/MeshWriter.cxx index ade28b8..46f9833 100644 --- a/lib/cpPlugins/Plugins/IO/MeshWriter.cxx +++ b/lib/cpPlugins/Plugins/IO/MeshWriter.cxx @@ -8,46 +8,38 @@ // ------------------------------------------------------------------------- cpPlugins::IO::MeshWriter:: MeshWriter( ) - : Superclass( ), - m_Writer( NULL ) + : Superclass( ) { - this->m_ClassName = "cpPlugins::IO::MeshWriter"; - this->m_ClassCategory = "MeshWriter"; - this->SetNumberOfInputs( 1 ); - - using namespace cpPlugins::Interface; - this->m_DefaultParameters.Configure( Parameters::String, "FileName" ); - this->m_Parameters = this->m_DefaultParameters; + this->_AddInput( "Input", true ); + this->m_Parameters->ConfigureAsSaveFileName( "FileName" ); + this->m_Parameters->SetAcceptedFileExtensions( + "FileName", + "Mesh files (*.vtk *.stl *.obj)" + ); } // ------------------------------------------------------------------------- cpPlugins::IO::MeshWriter:: ~MeshWriter( ) { - if( this->m_Writer != NULL ) - this->m_Writer->Delete( ); } // ------------------------------------------------------------------------- std::string cpPlugins::IO::MeshWriter:: _GenerateData( ) { - cpPlugins::Interface::Mesh* mesh = - this->GetInput< cpPlugins::Interface::Mesh >( 0 ); + auto mesh = this->GetInputData< cpPlugins::Interface::Mesh >( "Input" ); if( mesh == NULL ) return( "MeshWriter: No input mesh." ); - vtkPolyData* i = mesh->GetVTKMesh( ); + vtkPolyData* i = mesh->GetVTK< vtkPolyData >( ); if( i == NULL ) return( "MeshWriter: No suitable input." ); - std::string fname = this->m_Parameters.GetValueAsString( "FileName" ); - - if( this->m_Writer != NULL ) - this->m_Writer->Delete( ); + std::string fname = this->m_Parameters->GetSaveFileName( "FileName" ); - vtkPolyDataWriter* pdw = vtkPolyDataWriter::New( ); - this->m_Writer = pdw; + vtkPolyDataWriter* pdw = this->_CreateVTK< vtkPolyDataWriter >( ); pdw->SetInputData( i ); pdw->SetFileName( fname.c_str( ) ); + pdw->SetFileTypeToBinary( ); pdw->Update( ); if( pdw->GetErrorCode( ) != 0 ) return( "MeshWriter: someting wrong happened." );