]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Plugins/IO/MeshWriter.cxx
...
[cpPlugins.git] / lib / cpPlugins / Plugins / IO / MeshWriter.cxx
index 94af3cca29c4e9be44fc7fd92cbde430bee96aa2..46f983309100d80414c2a93eda2d348031c43ea2 100644 (file)
@@ -10,9 +10,12 @@ cpPlugins::IO::MeshWriter::
 MeshWriter( )
   : Superclass( )
 {
-  this->_AddInput( "Input" );
-
-  this->m_Parameters->ConfigureAsString( "FileName", "" );
+  this->_AddInput( "Input", true );
+  this->m_Parameters->ConfigureAsSaveFileName( "FileName" );
+  this->m_Parameters->SetAcceptedFileExtensions(
+    "FileName",
+    "Mesh files (*.vtk *.stl *.obj)"
+    );
 }
 
 // -------------------------------------------------------------------------
@@ -25,18 +28,18 @@ cpPlugins::IO::MeshWriter::
 std::string cpPlugins::IO::MeshWriter::
 _GenerateData( )
 {
-  cpPlugins::Interface::Mesh* mesh =
-    this->GetInput< cpPlugins::Interface::Mesh >( "Input" );
+  auto mesh = this->GetInputData< cpPlugins::Interface::Mesh >( "Input" );
   if( mesh == NULL )
     return( "MeshWriter: No input mesh." );
   vtkPolyData* i = mesh->GetVTK< vtkPolyData >( );
   if( i == NULL )
     return( "MeshWriter: No suitable input." );
-  std::string fname = this->m_Parameters->GetString( "FileName" );
+  std::string fname = this->m_Parameters->GetSaveFileName( "FileName" );
 
   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." );