- fIt = this->m_Parameters.find( "FileName" );
- if( fIt == this->m_Parameters.end( ) )
- fIt = this->m_DefaultParameters.find( "FileName" );
-
- using namespace cpPlugins::Extensions;
- typedef DataStructures::QuadEdgeMesh< P, D > _TMesh;
- typedef IO::MeshReader< _TMesh > _TReader;
-
- _TReader* reader =
- dynamic_cast< _TReader* >( this->m_RealProcessObject.GetPointer( ) );
- if( reader == NULL )
- {
- this->m_RealProcessObject = _TReader::New( );
- reader =
- dynamic_cast< _TReader* >( this->m_RealProcessObject.GetPointer( ) );
-
- } // fi
- reader->SetFileName( fIt->second.second );
- try
- {
- reader->Update( );
- }
- catch( itk::ExceptionObject& err )
- {
- return( err.GetDescription( ) );
-
- } // yrt
- this->_SetOutput( 0, reader->GetOutput( ) );
-
+ using namespace cpPlugins::Interface;
+ Parameters::TString fname =
+ this->m_Parameters.GetValueAsString( "FileName" );
+
+ if( this->m_Reader != NULL )
+ this->m_Reader->Delete( );
+
+ vtkPolyDataReader* pdr = vtkPolyDataReader::New( );
+ this->m_Reader = pdr;
+ pdr->SetFileName( fname.c_str( ) );
+ pdr->Update( );
+
+ cpPlugins::Interface::Mesh* out =
+ this->GetOutput< cpPlugins::Interface::Mesh >( 0 );
+ if( out != NULL )
+ out->SetVTKMesh( pdr->GetOutput( ) );
+ else
+ return( "MeshReader: output not correctly created." );