AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <AbstractCachedMeshReader.hpp>

Inherits AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Inherited by FemlabMeshReader< ELEMENT_DIM, SPACE_DIM >, and MemfemMeshReader< ELEMENT_DIM, SPACE_DIM >.

Collaboration diagram for AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 AbstractCachedMeshReader ()
virtual ~AbstractCachedMeshReader ()
unsigned GetNumElements () const
unsigned GetNumNodes () const
unsigned GetNumFaces () const
unsigned GetNumEdges () const
unsigned GetMaxNodeIndex ()
unsigned GetMinNodeIndex ()
std::vector< doubleGetNextNode ()
void Reset ()
ElementData GetNextElementData ()
ElementData GetNextFaceData ()

Protected Member Functions

std::vector< std::string > GetRawDataFromFile (const std::string &rFileName)

Protected Attributes

unsigned mNumNodeAttributes
unsigned mMaxNodeBdyMarker
unsigned mNumElementNodes
unsigned mNumElementAttributes
unsigned mMaxFaceBdyMarker
std::vector< std::string > mNodeRawData
std::vector< std::string > mElementRawData
std::vector< std::string > mFaceRawData
std::vector< std::vector
< double > > 
mNodeData
std::vector< std::vector
< unsigned > > 
mElementData
std::vector< std::vector
< unsigned > > 
mFaceData
std::vector< std::vector
< double > >::iterator 
mpNodeIterator
std::vector< std::vector
< unsigned > >::iterator 
mpElementIterator
std::vector< std::vector
< unsigned > >::iterator 
mpFaceIterator
bool mIndexFromZero

Detailed Description

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

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 50 of file AbstractCachedMeshReader.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::AbstractCachedMeshReader (  )  [inline]

Constructor

Definition at line 39 of file AbstractCachedMeshReader.cpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
virtual AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::~AbstractCachedMeshReader (  )  [inline, virtual]

Destructor.

Definition at line 87 of file AbstractCachedMeshReader.hpp.


Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetMaxNodeIndex (  )  [inline]

Returns the maximum node index. Used in testing to check that output nodes are always indexed from zero even if they are input indexed from one.

Definition at line 97 of file AbstractCachedMeshReader.cpp.

References AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementData.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetMinNodeIndex (  )  [inline]

Returns the minimum node index. Used in testing to check that output nodes are always indexed from zero even if they are input indexed from one.

Definition at line 121 of file AbstractCachedMeshReader.cpp.

References AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementData.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData (  )  [inline, virtual]

Returns a vector of the nodes of each element in turn, starting with element 0 the first time it is called followed by elements 1, 2, ... , mNumElements-1.

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 162 of file AbstractCachedMeshReader.cpp.

References ElementData::AttributeValue, AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementData, AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mpElementIterator, and ElementData::NodeIndices.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData (  )  [inline, virtual]

Returns a vector of the nodes of each face in turn, starting with face 0 the first time it is called followed by faces 1, 2, ... , mNumFaces-1.

Is a synonum of GetNextEdge(). The two functions can be used interchangeably, i.e. they use the same iterator.

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 189 of file AbstractCachedMeshReader.cpp.

References ElementData::AttributeValue, AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceData, AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mpFaceIterator, and ElementData::NodeIndices.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode (  )  [inline, virtual]

Returns a vector of the coordinates of each node in turn, starting with node 0 the first time it is called followed by nodes 1, 2, ... , mNumNodes-1.

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 145 of file AbstractCachedMeshReader.cpp.

References AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeData, and AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mpNodeIterator.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumEdges (  )  const [inline, virtual]

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

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 227 of file AbstractCachedMeshReader.cpp.

References AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceData.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElements (  )  const [inline, virtual]

Returns the number of elements in the mesh.

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 209 of file AbstractCachedMeshReader.cpp.

References AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementData.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaces (  )  const [inline, virtual]

Returns the number of faces in the mesh (synonym of GetNumEdges())

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 221 of file AbstractCachedMeshReader.cpp.

References AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceData.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumNodes (  )  const [inline, virtual]

Returns the number of nodes in the mesh.

Implements AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 215 of file AbstractCachedMeshReader.cpp.

References AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeData.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::string > AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::GetRawDataFromFile ( const std::string &  rFileName  )  [inline, protected]

Reads an input file rFileName, removes comments (indicated by a #) and blank lines and returns a vector of strings. Each string corresponds to one line of the input file.

Parameters:
rFileName the name of the file to read from, relative to the output directory

Definition at line 51 of file AbstractCachedMeshReader.cpp.

Referenced by FemlabMeshReader< ELEMENT_DIM, SPACE_DIM >::FemlabMeshReader(), and MemfemMeshReader< ELEMENT_DIM, SPACE_DIM >::MemfemMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset (  )  [inline, virtual]

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::vector<unsigned> > AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementData [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<std::string> AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementRawData [protected]

Contents of element input file with comments removed

Definition at line 61 of file AbstractCachedMeshReader.hpp.

Referenced by FemlabMeshReader< ELEMENT_DIM, SPACE_DIM >::FemlabMeshReader(), and MemfemMeshReader< ELEMENT_DIM, SPACE_DIM >::MemfemMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::vector<unsigned> > AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceData [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<std::string> AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceRawData [protected]

Contents of face (or edge) input file with comments removed

Definition at line 62 of file AbstractCachedMeshReader.hpp.

Referenced by FemlabMeshReader< ELEMENT_DIM, SPACE_DIM >::FemlabMeshReader(), and MemfemMeshReader< ELEMENT_DIM, SPACE_DIM >::MemfemMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero [protected]

True if input data is numbered from zero, false otherwise

Definition at line 72 of file AbstractCachedMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mMaxFaceBdyMarker [protected]

Is the maximum face (or edge) boundary marker

Definition at line 58 of file AbstractCachedMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mMaxNodeBdyMarker [protected]

Is the maximum node boundary marker

Definition at line 55 of file AbstractCachedMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::vector<double> > AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeData [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<std::string> AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeRawData [protected]

Contents of node input file with comments removed

Definition at line 60 of file AbstractCachedMeshReader.hpp.

Referenced by FemlabMeshReader< ELEMENT_DIM, SPACE_DIM >::FemlabMeshReader(), and MemfemMeshReader< ELEMENT_DIM, SPACE_DIM >::MemfemMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementAttributes [protected]

Is the number of attributes stored for each element

Definition at line 57 of file AbstractCachedMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementNodes [protected]

Is the number of nodes per element

Definition at line 56 of file AbstractCachedMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodeAttributes [protected]

Is the number of attributes stored at each node

Definition at line 54 of file AbstractCachedMeshReader.hpp.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::vector<unsigned> >::iterator AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mpElementIterator [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::vector<unsigned> >::iterator AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mpFaceIterator [protected]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< std::vector<double> >::iterator AbstractCachedMeshReader< ELEMENT_DIM, SPACE_DIM >::mpNodeIterator [protected]

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

Generated by  doxygen 1.6.2