Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "mitkObjFileReader.h"
00018 #include <mitkSurface.h>
00019 #include <vtkOBJReader.h>
00020
00021
00022 mitk::ObjFileReader::ObjFileReader()
00023 : m_FileName("")
00024 {
00025 }
00026
00027 mitk::ObjFileReader::~ObjFileReader()
00028 {
00029 }
00030
00031 void mitk::ObjFileReader::GenerateData()
00032 {
00033 mitk::Surface::Pointer output = this->GetOutput();
00034
00035 if( m_FileName != "")
00036 {
00037 MITK_INFO << "Loading " << m_FileName << " as obj..." << std::endl;
00038
00039 vtkOBJReader *reader = vtkOBJReader::New();
00040 reader->SetFileName( m_FileName.c_str() );
00041 reader->Update();
00042
00043 if ( reader->GetOutput() != NULL )
00044 output->SetVtkPolyData( reader->GetOutput() );
00045
00046 reader->Delete();
00047
00048 MITK_INFO << "...finished!" << std::endl;
00049 }
00050 }
00051
00052 bool mitk::ObjFileReader::CanReadFile(const std::string filename, const std::string , const std::string )
00053 {
00054
00055
00056 if( filename == "" )
00057 {
00058
00059 return false;
00060 }
00061
00062 bool extensionFound = false;
00063 std::string::size_type ObjPos = filename.rfind(".obj");
00064 if ((ObjPos != std::string::npos)
00065 && (ObjPos == filename.length() - 4))
00066 {
00067 extensionFound = true;
00068 }
00069
00070 ObjPos = filename.rfind(".OBJ");
00071 if ((ObjPos != std::string::npos)
00072 && (ObjPos == filename.length() - 4))
00073 {
00074 extensionFound = true;
00075 }
00076
00077 if( !extensionFound )
00078 {
00079
00080 return false;
00081 }
00082
00083 return true;
00084 }