18 #ifndef itkMeshFileReader_h
19 #define itkMeshFileReader_h
20 #include "ITKIOMeshExport.h"
73 template<
typename TOutputMesh,
74 typename ConvertPointPixelTraits = MeshConvertPixelTraits< typename TOutputMesh::PixelType >,
75 class ConvertCellPixelTraits = MeshConvertPixelTraits< typename TOutputMesh::CellPixelType > >
114 itkStaticConstMacro(OutputPointDimension,
unsigned int, OutputMeshType::PointDimension);
117 itkSetStringMacro(FileName);
118 itkGetStringMacro(FileName);
128 itkGetModifiableObjectMacro(MeshIO,
MeshIOBase);
133 virtual void GenerateOutputInformation() ITK_OVERRIDE;
135 template< typename T >
136 void ReadPoints(T *buffer);
138 template< typename T >
139 void ReadCells(T *buffer);
141 void ReadPointData();
147 ~MeshFileReader() ITK_OVERRIDE {}
148 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
151 template<
typename T >
152 void ConvertPointPixelBuffer(
void *inputData, T *outputData,
size_t numberOfPixels);
154 template<
typename T >
155 void ConvertCellPixelBuffer(
void *inputData, T *outputData,
size_t numberOfPixels);
162 void TestFileExistanceAndReadability();
165 virtual void GenerateData() ITK_OVERRIDE;
168 bool m_UserSpecifiedMeshIO;
170 std::
string m_FileName;
175 std::
string m_ExceptionMessage;
179 #ifndef ITK_MANUAL_INSTANTIATION
180 #include "itkMeshFileReader.hxx"
MeshIOBase::SizeValueType SizeValueType
Represents a line segment for a Mesh.
Light weight base class for most itk classes.
TOutputMesh OutputMeshType
OutputMeshType::CellIdentifier OutputCellIdentifier
TriangleCell< OutputCellType > OutputTriangleCellType
SmartPointer< const Self > ConstPointer
IdentifierType SizeValueType
OutputMeshType::CellPixelType OutputCellPixelType
Base class for all process objects that output mesh data.
MeshSource< TOutputMesh > Superclass
TetrahedronCell< OutputCellType > OutputTetrahedronCellType
QuadraticTriangleCell< OutputCellType > OutputQuadraticTriangleCellType
PolygonCell< OutputCellType > OutputPolygonCellType
Represents a second order triangular patch for a Mesh.
ImageBaseType::PointType PointType
Represents a hexahedron for a Mesh.
OutputMeshType::CellAutoPointer OutputCellAutoPointer
Represents a second order line segment for a Mesh.
OutputMeshType::PointIdentifier OutputPointIdentifier
SmartPointer< Self > Pointer
OutputMeshType::PointType OutputPointType
QuadrilateralCell< OutputCellType > OutputQuadrilateralCellType
LineCell< OutputCellType > OutputLineCellType
VertexCell< OutputCellType > OutputVertexCellType
Represents a polygon in a Mesh.
TetrahedronCell represents a tetrahedron for a Mesh.
OutputMeshType::PixelType OutputPointPixelType
OutputMeshType::CoordRepType OutputCoordRepType
Represents a single vertex for a Mesh.
QuadraticEdgeCell< OutputCellType > OutputQuadraticEdgeCellType
HexahedronCell< OutputCellType > OutputHexahedronCellType
Control indentation during Print() invocation.
Abstract superclass defines mesh IO interface.
Represents a quadrilateral for a Mesh.
OutputMeshType::CellType OutputCellType
Mesh source that reads mesh data from a single file.