Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

mitk::STLFileReader Class Reference
[IO Classes]

Reader to read files in stl-format. More...

#include <mitkSTLFileReader.h>

Inheritance diagram for mitk::STLFileReader:
Inheritance graph
[legend]
Collaboration diagram for mitk::STLFileReader:
Collaboration graph
[legend]

List of all members.

Public Types

typedef STLFileReader Self
typedef SurfaceSource Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer

Public Member Functions

virtual const char * GetClassName () const
virtual void SetFileName (const char *_arg)
virtual const char * GetFileName () const
virtual void SetFilePrefix (const char *_arg)
virtual const char * GetFilePrefix () const
virtual void SetFilePattern (const char *_arg)
virtual const char * GetFilePattern () const

Static Public Member Functions

static Pointer New ()
static bool CanReadFile (const std::string filename, const std::string filePrefix, const std::string filePattern)

Protected Member Functions

virtual void GenerateData ()
 STLFileReader ()
 ~STLFileReader ()

Protected Attributes

std::string m_FileName
std::string m_FilePrefix
std::string m_FilePattern

Detailed Description

Reader to read files in stl-format.

Definition at line 27 of file mitkSTLFileReader.h.


Member Typedef Documentation

typedef itk::SmartPointer<const Self> mitk::STLFileReader::ConstPointer

Definition at line 30 of file mitkSTLFileReader.h.

typedef itk::SmartPointer<Self> mitk::STLFileReader::Pointer

Definition at line 30 of file mitkSTLFileReader.h.

Definition at line 30 of file mitkSTLFileReader.h.

Definition at line 30 of file mitkSTLFileReader.h.


Constructor & Destructor Documentation

mitk::STLFileReader::STLFileReader (  ) [protected]

Definition at line 26 of file mitkSTLFileReader.cpp.

mitk::STLFileReader::~STLFileReader (  ) [protected]

Definition at line 30 of file mitkSTLFileReader.cpp.

{
}

Member Function Documentation

bool mitk::STLFileReader::CanReadFile ( const std::string  filename,
const std::string  filePrefix,
const std::string  filePattern 
) [static]

Definition at line 64 of file mitkSTLFileReader.cpp.

{
  // First check the extension
  if(  filename == "" )
    {
      //MITK_INFO<<"No filename specified."<<std::endl;
    return false;
    }

  bool extensionFound = false;
  std::string::size_type STLPos = filename.rfind(".stl");
  if ((STLPos != std::string::npos)
      && (STLPos == filename.length() - 4))
    {
    extensionFound = true;
    }

  STLPos = filename.rfind(".STL");
  if ((STLPos != std::string::npos)
      && (STLPos == filename.length() - 4))
    {
    extensionFound = true;
    }

  if( !extensionFound )
    {
      //MITK_INFO<<"The filename extension is not recognized."<<std::endl;
    return false;
    }

  return true;
}
void mitk::STLFileReader::GenerateData (  ) [protected, virtual]

Definition at line 34 of file mitkSTLFileReader.cpp.

References MITK_INFO.

{
  mitk::Surface::Pointer output = this->GetOutput();

  if( m_FileName != "")
  {
    MITK_INFO << "Loading " << m_FileName << " as stl..." << std::endl;
    vtkSmartPointer<vtkSTLReader> stlReader = vtkSmartPointer<vtkSTLReader>::New();
    stlReader->SetFileName( m_FileName.c_str() );

    vtkSmartPointer<vtkPolyDataNormals> normalsGenerator = vtkSmartPointer<vtkPolyDataNormals>::New();
    normalsGenerator->SetInput( stlReader->GetOutput() );

    vtkSmartPointer<vtkCleanPolyData> cleanPolyDataFilter = vtkSmartPointer<vtkCleanPolyData>::New();
    cleanPolyDataFilter->SetInput(normalsGenerator->GetOutput());
    cleanPolyDataFilter->PieceInvariantOff();
    cleanPolyDataFilter->ConvertLinesToPointsOff();
    cleanPolyDataFilter->ConvertPolysToLinesOff();
    cleanPolyDataFilter->ConvertStripsToPolysOff();
    cleanPolyDataFilter->PointMergingOn();
    cleanPolyDataFilter->Update();

    if ( ( stlReader->GetOutput() != NULL ) && ( cleanPolyDataFilter->GetOutput() != NULL ) )
    {
      vtkSmartPointer<vtkPolyData> surfaceWithNormals = cleanPolyDataFilter->GetOutput();
      output->SetVtkPolyData( surfaceWithNormals );
    }
  }
}
virtual const char* mitk::STLFileReader::GetClassName (  ) const [virtual]
virtual const char* mitk::STLFileReader::GetFileName (  ) const [virtual]
virtual const char* mitk::STLFileReader::GetFilePattern (  ) const [virtual]
virtual const char* mitk::STLFileReader::GetFilePrefix (  ) const [virtual]
static Pointer mitk::STLFileReader::New (  ) [static]
virtual void mitk::STLFileReader::SetFileName ( const char *  _arg ) [virtual]
virtual void mitk::STLFileReader::SetFilePattern ( const char *  _arg ) [virtual]
virtual void mitk::STLFileReader::SetFilePrefix ( const char *  _arg ) [virtual]

Member Data Documentation

std::string mitk::STLFileReader::m_FileName [protected]

Definition at line 53 of file mitkSTLFileReader.h.

std::string mitk::STLFileReader::m_FilePattern [protected]

Definition at line 53 of file mitkSTLFileReader.h.

std::string mitk::STLFileReader::m_FilePrefix [protected]

Definition at line 53 of file mitkSTLFileReader.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines