]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/MeshWriter.cxx
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / MeshWriter.cxx
index ade28b87e5b8b85e8d8952ac6e358443151a047d..94af3cca29c4e9be44fc7fd92cbde430bee96aa2 100644 (file)
@@ -8,24 +8,17 @@
 // -------------------------------------------------------------------------
 cpPlugins::IO::MeshWriter::
 MeshWriter( )
-  : Superclass( ),
-    m_Writer( NULL )
+  : Superclass( )
 {
-  this->m_ClassName = "cpPlugins::IO::MeshWriter";
-  this->m_ClassCategory = "MeshWriter";
-  this->SetNumberOfInputs( 1 );
+  this->_AddInput( "Input" );
 
-  using namespace cpPlugins::Interface;
-  this->m_DefaultParameters.Configure( Parameters::String, "FileName" );
-  this->m_Parameters = this->m_DefaultParameters;
+  this->m_Parameters->ConfigureAsString( "FileName", "" );
 }
 
 // -------------------------------------------------------------------------
 cpPlugins::IO::MeshWriter::
 ~MeshWriter( )
 {
-  if( this->m_Writer != NULL )
-    this->m_Writer->Delete( );
 }
 
 // -------------------------------------------------------------------------
@@ -33,19 +26,15 @@ std::string cpPlugins::IO::MeshWriter::
 _GenerateData( )
 {
   cpPlugins::Interface::Mesh* mesh =
-    this->GetInput< cpPlugins::Interface::Mesh >( 0 );
+    this->GetInput< 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" );
+  std::string fname = this->m_Parameters->GetString( "FileName" );
 
-  if( this->m_Writer != NULL )
-    this->m_Writer->Delete( );
-
-  vtkPolyDataWriter* pdw = vtkPolyDataWriter::New( );
-  this->m_Writer = pdw;
+  vtkPolyDataWriter* pdw = this->_CreateVTK< vtkPolyDataWriter >( );
   pdw->SetInputData( i );
   pdw->SetFileName( fname.c_str( ) );
   pdw->Update( );