+++ /dev/null
-#ifndef __CPM__IO__MESHREADER__HXX__
-#define __CPM__IO__MESHREADER__HXX__
-
-#include <algorithm>
-#include <cpm/IO/WaveFrontOBJReader.h>
-#include <itkVTKPolyDataReader.h>
-
-// -------------------------------------------------------------------------
-template< typename M >
-itk::ModifiedTimeType cpm::IO::MeshReader< M >::
-GetMTime( ) const
-{
- itk::ModifiedTimeType mtime = this->Superclass::GetMTime( );
- if( this->m_Reader.IsNotNull( ) )
- {
- itk::ModifiedTimeType rtime = this->m_Reader->GetMTime( );
- mtime = ( rtime < mtime )? rtime: mtime;
-
- } // fi
- return( mtime );
-}
-
-// -------------------------------------------------------------------------
-template< typename M >
-cpm::IO::MeshReader< M >::
-MeshReader( )
- : Superclass( )
-{
-}
-
-// -------------------------------------------------------------------------
-template< typename M >
-cpm::IO::MeshReader< M >::
-~MeshReader( )
-{
-}
-
-// -------------------------------------------------------------------------
-template< typename M >
-void cpm::IO::MeshReader< M >::
-GenerateData( )
-{
- std::string fn = this->m_FileName;
- std::transform( fn.begin( ), fn.end( ), fn.begin( ), ::tolower );
- if( fn.rfind( ".vtk" ) != std::string::npos )
- this->_Read< itk::VTKPolyDataReader< M > >( );
- else if( fn.rfind( ".obj" ) != std::string::npos )
- this->_Read< cpm::IO::WaveFrontOBJReader< M > >( );
-}
-
-// -------------------------------------------------------------------------
-template< typename M >
-template< class R >
-void cpm::IO::MeshReader< M >::
-_Read( )
-{
- typename R::Pointer reader = NULL;
- if( this->m_Reader.IsNotNull( ) )
- {
- reader = dynamic_cast< R* >( this->m_Reader.GetPointer( ) );
- if( reader.IsNotNull( ) )
- {
- if( reader->GetFileName( ) == this->m_FileName )
- reader = NULL;
- }
- else
- {
- reader = R::New( );
- this->m_Reader = reader;
-
- } // fi
- }
- else
- {
- reader = R::New( );
- this->m_Reader = reader;
-
- } // fi
-
- if( reader.IsNotNull( ) )
- {
- reader->SetFileName( this->m_FileName );
- reader->GraftOutput( this->GetOutput( ) );
- reader->Update( );
- this->GraftOutput( reader->GetOutput( ) );
-
- } // fi
-}
-
-#endif // __CPM__IO__MESHREADER__HXX__
-
-// eof - $RCSfile$