Chaste Release::3.1
AbstractMeshReader< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractMeshReader.hpp>

Inheritance diagram for AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >:

List of all members.

Classes

class  ElementIterator
class  NodeIterator

Public Member Functions

virtual unsigned GetNumElements () const =0
virtual unsigned GetNumNodes () const =0
virtual unsigned GetNumFaces () const =0
virtual unsigned GetNumCableElements () const
virtual unsigned GetNumElementAttributes () const
virtual unsigned GetNumFaceAttributes () const
virtual unsigned GetNumCableElementAttributes () const
virtual std::vector< doubleGetNodeAttributes ()
unsigned GetNumEdges () const
virtual std::vector< doubleGetNextNode ()=0
virtual void Reset ()=0
virtual ElementData GetNextElementData ()=0
virtual ElementData GetNextFaceData ()=0
virtual ElementData GetNextCableElementData ()
ElementData GetNextEdgeData ()
virtual std::vector< doubleGetNode (unsigned index)
virtual ElementData GetElementData (unsigned index)
virtual ElementData GetFaceData (unsigned index)
ElementData GetEdgeData (unsigned index)
virtual std::vector< unsignedGetContainingElementIndices (unsigned index)
virtual std::string GetMeshFileBaseName ()
virtual bool IsFileFormatBinary ()
virtual bool HasNclFile ()
ElementIterator GetElementIteratorBegin ()
ElementIterator GetElementIteratorBegin (const std::set< unsigned > &rIndices)
ElementIterator GetElementIteratorEnd ()
NodeIterator GetNodeIteratorBegin ()
NodeIterator GetNodeIteratorBegin (const std::set< unsigned > &rIndices)
NodeIterator GetNodeIteratorEnd ()

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
class AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >

An abstract mesh reader class. Reads output generated by a mesh generator and converts it to a standard format for use in constructing a finite element mesh structure.

A derived class TrianglesMeshReader exists for reading meshes generated by Triangles (in 2-d) and TetGen (in 3-d).

A derived class MemfemMeshReader reads 3D data from the Tulane University code

A derived class FemlabMeshReader reads 2D data from Femlab or Matlab PDEToolbox

Definition at line 71 of file AbstractMeshReader.hpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< unsigned > AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndices ( unsigned  index) [virtual]

Normally throws an exception. When implemented by derived classes, returns a list of the elements that contain the node (only available for binary files).

Parameters:
indexThe global node index
Returns:
a vector of the node indices of the face (and any attribute/containment information, if there is any)

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 106 of file AbstractMeshReader.cpp.

References EXCEPTION.

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetEdgeData ( unsigned  index)

Synonym of GetFaceData(index)

Parameters:
indexThe global edge index
Returns:
a vector of the node indices of the edge (and any attribute/containment information, if there is any)

Definition at line 100 of file AbstractMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementData ( unsigned  index) [virtual]

Normally throws an exception. Only implemented for tetrahedral mesh reader of binary files.

Parameters:
indexThe global element index
Returns:
a vector of the node indices of the element (and any attribute information, if there is any)

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 88 of file AbstractMeshReader.cpp.

References EXCEPTION.

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodeAndElementPartitioning(), and NodePartitioner< ELEMENT_DIM, SPACE_DIM >::PetscMatrixPartitioning().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::ElementIterator AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin ( )

Return an iterator to the first element in the file.

Note that, in the case of an ASCII mesh file, for efficiency this will actually start wherever the file pointer currently is. The user is responsible for resetting the reader prior to calling GetElementIteratorBegin().

Definition at line 155 of file AbstractMeshReader.cpp.

Referenced by QuadraticMeshHelper< DIM >::AddInternalNodesToElements(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::ElementIterator AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorBegin ( const std::set< unsigned > &  rIndices)

Return an iterator over a set of elements whose indices are given

Parameters:
rIndicessubset of indices

Note that, in the case of an ASCII mesh file, for efficiency this will actually start wherever the file pointer currently is. The user is responsible for resetting the reader prior to calling GetElementIteratorBegin().

Definition at line 162 of file AbstractMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::ElementIterator AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementIteratorEnd ( )

Return an iterator to (one past the) end of the element data.

Definition at line 169 of file AbstractMeshReader.cpp.

Referenced by QuadraticMeshHelper< DIM >::AddInternalNodesToElements(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetFaceData ( unsigned  index) [virtual]

Normally throws an exception. Only implemented for tetrahedral mesh reader of binary files.

Parameters:
indexThe global face index
Returns:
a vector of the node indices of the face (and any attribute/containment information, if there is any)

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 94 of file AbstractMeshReader.cpp.

References EXCEPTION.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::string AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetMeshFileBaseName ( ) [virtual]

Get the base name (less any extension) for mesh files. Only implemented for some mesh types.

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 112 of file AbstractMeshReader.cpp.

Referenced by TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextCableElementData ( ) [virtual]

Returns a vector of the node indices of each cable element (and any attribute information, if there is any) in turn

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >, and VtkMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 145 of file AbstractMeshReader.cpp.

References EXCEPTION.

Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextEdgeData ( )

Returns a vector of the node indices of each edge (and any attribute/containment information, if there is any) in turn (synonym of GetNextFaceData())

Definition at line 75 of file AbstractMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
virtual ElementData AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData ( ) [pure virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNode ( unsigned  index) [virtual]

Normally throws an exception. Only implemented for tetrahedral mesh reader of binary files.

Parameters:
indexThe global node index
Returns:
a vector of the coordinates of the node

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 82 of file AbstractMeshReader.cpp.

References EXCEPTION.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeAttributes ( ) [virtual]
Returns:
the vector of node attributes Returns an empty vector here. Over-ride in child classes if needed. Ideally, this method would be in AbstractCachedMeshReader (where it would return the cached attribuites) but TrianglesMeshReader (the class this method was created for) does not inherit from AbstractCachedMeshReader, so it needs to be here.

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 66 of file AbstractMeshReader.cpp.

Referenced by TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), and DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::NodeIterator AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorBegin ( )

Return an iterator to the first node in the file.

Note that, in the case of an ASCII mesh file, for efficiency this will actually start wherever the file pointer currently is. The user is responsible for resetting the reader prior to calling GetNodeIteratorBegin().

Definition at line 252 of file AbstractMeshReader.cpp.

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::NodeIterator AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorBegin ( const std::set< unsigned > &  rIndices)

Return an iterator over a set of nodes whose indices are given

Parameters:
rIndicessubset of indices

Note that, in the case of an ASCII mesh file, for efficiency this will actually start wherever the file pointer currently is. The user is responsible for resetting the reader prior to calling GetNodeIteratorBegin().

Definition at line 259 of file AbstractMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::NodeIterator AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeIteratorEnd ( )

Return an iterator to (one past the) end of the node data.

Definition at line 266 of file AbstractMeshReader.cpp.

References AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes().

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElementAttributes ( ) const [virtual]

Returns the number of cable element attributes in the mesh

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >, and VtkMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 139 of file AbstractMeshReader.cpp.

Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElements ( ) const [virtual]

Returns the number of cable elements in the mesh

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >, and VtkMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 133 of file AbstractMeshReader.cpp.

Referenced by MixedDimensionMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumEdges ( ) const

Returns the number of edges in the mesh (synonym of GetNumFaces())

Reimplemented in VtkMeshReader< ELEMENT_DIM, SPACE_DIM >, and VertexMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 52 of file AbstractMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaceAttributes ( ) const [virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::HasNclFile ( ) [virtual]

Returns true if there is a node connectivity list (NCL) file available.

Note, this will always return false unless over-ridden by a derived class that is able to support NCL files.

Returns:
whether there is a node connectivity list (NCL) file available

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 124 of file AbstractMeshReader.cpp.

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ComputeMeshPartitioning().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >::IsFileFormatBinary ( ) [virtual]

Returns true if reading binary files, false if reading ascii files.

Note, this will always return false unless over-ridden by a derived class that is able to support binary file formats.

Reimplemented in TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 118 of file AbstractMeshReader.cpp.

Referenced by DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ConstructFromMeshReader(), DistributedTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::ParMetisLibraryNodeAndElementPartitioning(), and NodePartitioner< ELEMENT_DIM, SPACE_DIM >::PetscMatrixPartitioning().


The documentation for this class was generated from the following files: