// -------------------------------------------------------------------------
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." );