TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM > Class Template Reference

#include <TrianglesMeshReader.hpp>

Inherits AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

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

List of all members.

Public Member Functions

 TrianglesMeshReader (std::string pathBaseName, unsigned orderOfElements=1, unsigned orderOfBoundaryElements=1, bool readContainingElementsForBoundaryElements=false)
 ~TrianglesMeshReader ()
unsigned GetNumElements () const
unsigned GetNumNodes () const
unsigned GetNumFaces () const
unsigned GetNumCableElements () const
unsigned GetNumElementAttributes () const
unsigned GetNumFaceAttributes () const
unsigned GetNumCableElementAttributes () const
void Reset ()
std::vector< doubleGetNextNode ()
ElementData GetNextElementData ()
ElementData GetNextFaceData ()
ElementData GetNextCableElementData ()
unsigned GetOrderOfElements ()
unsigned GetOrderOfBoundaryElements ()
bool GetReadContainingElementOfBoundaryElement ()
std::vector< doubleGetNodeAttributes ()
std::vector< doubleGetNode (unsigned index)
ElementData GetElementData (unsigned index)
ElementData GetFaceData (unsigned index)
std::vector< unsignedGetContainingElementIndices (unsigned index)
bool IsFileFormatBinary ()
bool HasNclFile ()
void SetReadBufferSize (unsigned bufferSize)
void SetNodePermutation (std::vector< unsigned > &rPermutationVector)
bool HasNodePermutation ()
const std::vector< unsigned > & rGetNodePermutation ()

Private Member Functions

void OpenFiles ()
void OpenNodeFile ()
void OpenElementsFile ()
void OpenFacesFile ()
void OpenNclFile ()
void OpenCableElementsFile ()
void ReadHeaders ()
void CloseFiles ()
void GetNextLineFromStream (std::ifstream &rFileStream, std::string &rRawLine)
template<class T_DATA >
void GetNextItemFromStream (std::ifstream &rFileStream, unsigned expectedItemNumber, std::vector< T_DATA > &rDataPacket, const unsigned &rNumAttributes, std::vector< double > &rAttributes)
std::string GetMeshFileBaseName ()
void GetOneDimBoundary ()
void EnsureIndexingFromZero (std::vector< unsigned > &rNodeIndices)

Private Attributes

bool mIndexFromZero
std::string mFilesBaseName
std::ifstream mNodesFile
std::ifstream mElementsFile
std::ifstream mFacesFile
std::ifstream mNclFile
std::ifstream mCableElementsFile
std::streampos mNodeFileDataStart
std::streamoff mNodeItemWidth
std::streampos mElementFileDataStart
std::streamoff mElementItemWidth
std::streampos mFaceFileDataStart
std::streamoff mFaceItemWidth
std::streampos mNclFileDataStart
std::streamoff mNclItemWidth
unsigned mNumNodes
unsigned mNumElements
unsigned mNumFaces
unsigned mNumCableElements
unsigned mNodesRead
unsigned mElementsRead
unsigned mCableElementsRead
unsigned mFacesRead
unsigned mBoundaryFacesRead
unsigned mNclItemsRead
std::vector< unsignedmOneDimBoundary
unsigned mNumNodeAttributes
std::vector< doublemNodeAttributes
unsigned mMaxNodeBdyMarker
unsigned mNumElementNodes
unsigned mNumElementAttributes
unsigned mNumFaceAttributes
unsigned mNumCableElementAttributes
unsigned mOrderOfElements
unsigned mOrderOfBoundaryElements
unsigned mNodesPerElement
unsigned mNodesPerBoundaryElement
unsigned mMaxContainingElements
bool mEofException
bool mReadContainingElementOfBoundaryElement
bool mFilesAreBinary
bool mMeshIsHexahedral
bool mNclFileAvailable
char * mNodeFileReadBuffer
char * mElementFileReadBuffer
char * mFaceFileReadBuffer
bool mNodePermutationDefined
std::vector< unsignedmPermutationVector
std::vector< unsignedmInversePermutationVector

Friends

class TestTrianglesMeshReader

Detailed Description

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

Concrete version of the AbstractCachedMeshReader class. Once constructed the public methods of the AbstractCachedMeshReader (std::vector<double> GetNextNode(); etc) can be called to interrogate the data.

Definition at line 52 of file TrianglesMeshReader.hpp.


Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::TrianglesMeshReader ( std::string  pathBaseName,
unsigned  orderOfElements = 1,
unsigned  orderOfBoundaryElements = 1,
bool  readContainingElementsForBoundaryElements = false 
) [inline]

The containing element for each boundary element (obtaining by doing tetgen with the -nn flag). In a std::vector rather than the struct to save space if not read. Constructor.

Parameters:
pathBaseName the base name of the files from which to read the mesh data (either absolute, or relative to the current directory)
orderOfElements the order of each element: 1 for linear, 2 for quadratic (defaults to 1)
orderOfBoundaryElements the order of each boundary element: 1 for linear, 2 for quadratic (defaults to 1. May or may not be different to orderOfElements (Note tetgen with the -o2 flag creates quadratic elements but doesn't create quadratic faces, hence the need for this third parameter)
readContainingElementsForBoundaryElements Whether to read in the containing element information for each boundary element (in the .face file if tetgen was run with '-nn').

Definition at line 54 of file TrianglesMeshReader.cpp.

References EXCEPTION, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesPerBoundaryElement, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOrderOfBoundaryElements, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOrderOfElements, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mReadContainingElementOfBoundaryElement, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenFiles(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

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

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::CloseFiles (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::EnsureIndexingFromZero ( std::vector< unsigned > &  rNodeIndices  )  [inline, private]

Helper method to ensure we are indexing the nodes from 0 (some files have them indexed from 1) decides according to the property mIndexFromZero

Parameters:
rNodeIndices The nodes we have read in.

Definition at line 984 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndices(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextCableElementData(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< unsigned > TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndices ( unsigned  index  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementData ( unsigned  index  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetFaceData ( unsigned  index  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::string TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetMeshFileBaseName (  )  [inline, private, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextCableElementData (  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData (  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
ElementData TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData (  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
template<class T_DATA >
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextItemFromStream ( std::ifstream &  rFileStream,
unsigned  expectedItemNumber,
std::vector< T_DATA > &  rDataPacket,
const unsigned rNumAttributes,
std::vector< double > &  rAttributes 
) [inline, private]
Returns:
the Item details from the next line via a call to GetNextLineFromStream()
Parameters:
rFileStream The file to read from
expectedItemNumber To check file syntax, what item is expected to be on the next line.
rDataPacket Assumed to be of the right size but is allowed to contain dirty data on entry.
rNumAttributes The number of attributes per item that we expect to read. Either mNumFaceAttributes or mNumElementAttributes.
rAttributes Will be filled with the attribute values if rNumAttributes > 0, otherwise empty. Note that floating point attributes are now standard

Definition at line 870 of file TrianglesMeshReader.cpp.

References EXCEPTION, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextLineFromStream(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFilesAreBinary, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFilesBaseName, and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndices(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextCableElementData(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextElementData(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetOneDimBoundary().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextLineFromStream ( std::ifstream &  rFileStream,
std::string &  rRawLine 
) [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode (  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNode ( unsigned  index  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< double > TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeAttributes (  )  [inline, virtual]
Returns:
the vector of node attributes

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 593 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeAttributes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElementAttributes (  )  const [inline, virtual]
Returns:
the number of cable element attributes in the mesh

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 169 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElementAttributes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumCableElements (  )  const [inline, virtual]
Returns:
the number of cable elements in the mesh

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 150 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElements.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumElementAttributes (  )  const [inline, virtual]
Returns:
the number of attributes in the mesh

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 157 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementAttributes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< 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 132 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElements.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNumFaceAttributes (  )  const [inline, virtual]
Returns:
the number of attributes in the mesh

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 163 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaceAttributes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< 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 144 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaces.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< 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 138 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodes.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetOneDimBoundary (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetOrderOfBoundaryElements (  )  [inline, virtual]
Returns:
the expected order of the boundary element file (1=linear, 2=quadratic)

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 199 of file TrianglesMeshReader.hpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOrderOfBoundaryElements.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetOrderOfElements (  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetReadContainingElementOfBoundaryElement (  )  [inline, virtual]
Returns:
true if the boundary element file is linear, but contains information about neighbouring elements

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 207 of file TrianglesMeshReader.hpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mReadContainingElementOfBoundaryElement.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::HasNclFile (  )  [inline, virtual]
Returns:
true if there is a node connectivity list (NCL) file available.
whether there is a node connectivity list (NCL) file available

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 1002 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclFileAvailable.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::HasNodePermutation (  )  [inline, virtual]
Returns:
true if a node permutation has been applied by SetNodePermutation.

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 1037 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodePermutationDefined.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::IsFileFormatBinary (  )  [inline, 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 from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 996 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFilesAreBinary.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenCableElementsFile (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenElementsFile (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenFacesFile (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenFiles (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenNclFile (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenNodeFile (  )  [inline, private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders (  )  [inline, private]

Read the header from each mesh file.

Definition at line 599 of file TrianglesMeshReader.cpp.

References EXCEPTION, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextLineFromStream(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetOneDimBoundary(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mBoundaryFacesRead, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mCableElementsFile, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mCableElementsRead, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementFileDataStart, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementItemWidth, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementsFile, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mEofException, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceFileDataStart, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceItemWidth, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFacesFile, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFacesRead, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFilesAreBinary, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mMaxContainingElements, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mMaxNodeBdyMarker, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mMeshIsHexahedral, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclFile, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclFileAvailable, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclFileDataStart, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclItemWidth, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeFileDataStart, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeItemWidth, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesFile, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesPerBoundaryElement, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElementAttributes, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElements, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementAttributes, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementNodes, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElements, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaceAttributes, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaces, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodeAttributes, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodes, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOneDimBoundary, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOrderOfElements, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenFacesFile(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::OpenNodeFile().

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::TrianglesMeshReader().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::Reset (  )  [inline, virtual]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
const std::vector< unsigned > & TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::rGetNodePermutation (  )  [inline, virtual]
Returns:
the node permutation if a node permutation has been applied to this reader (or an empty permutation)

Reimplemented from AbstractMeshReader< ELEMENT_DIM, SPACE_DIM >.

Definition at line 1048 of file TrianglesMeshReader.cpp.

References TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mPermutationVector.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::SetNodePermutation ( std::vector< unsigned > &  rPermutationVector  )  [inline]

Sets a node permutation to use when reading in node file.

Todo:
#2452 We need a way of propagating this back to the mesh (and insuring that the mesh is NOT being re-partitioned)
Parameters:
rPermutationVector Permutation vector

Definition at line 1020 of file TrianglesMeshReader.cpp.

References EXCEPTION, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFilesAreBinary, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mInversePermutationVector, TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodePermutationDefined, and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mPermutationVector.

Referenced by AbstractTetrahedralMesh< SPACE_DIM, SPACE_DIM >::load().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::SetReadBufferSize ( unsigned  bufferSize  )  [inline]

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mBoundaryFacesRead [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::ifstream TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mCableElementsFile [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mCableElementsRead [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streampos TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementFileDataStart [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
char* TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementFileReadBuffer [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streamoff TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementItemWidth [private]

The number of bytes in a line of the element file

Definition at line 72 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetElementData(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::ifstream TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementsFile [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mElementsRead [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mEofException [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streampos TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceFileDataStart [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
char* TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceFileReadBuffer [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streamoff TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFaceItemWidth [private]

The number of bytes in a line of the face file

Definition at line 74 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetFaceData(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::ifstream TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFacesFile [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFacesRead [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFilesAreBinary [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::string TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mFilesBaseName [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mIndexFromZero [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<unsigned> TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mInversePermutationVector [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mMaxContainingElements [private]

The maximum number of elements that any node is contained in.

Definition at line 104 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndices(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mMaxNodeBdyMarker [private]

Is the maximum node boundary marker.

Definition at line 93 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mMeshIsHexahedral [private]

Whether the mesh is hexahedral (determined by a magic number in the element file header)

Definition at line 110 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::ifstream TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclFile [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclFileAvailable [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streampos TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclFileDataStart [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclItemsRead [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streamoff TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNclItemWidth [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<double> TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeAttributes [private]

Will contain the nodal attributes at each node. Cleared and re-filled at each node

Definition at line 92 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNodeAttributes().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streampos TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeFileDataStart [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
char* TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeFileReadBuffer [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::streamoff TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodeItemWidth [private]

The number of bytes in a line of the node file

Definition at line 70 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNode(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodePermutationDefined [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::ifstream TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesFile [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesPerBoundaryElement [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesPerElement [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNodesRead [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElementAttributes [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumCableElements [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementAttributes [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElementNodes [private]

Is the number of nodes per element.

Definition at line 94 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumElements [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaceAttributes [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumFaces [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodeAttributes [private]

Is the number of attributes stored at each node.

Definition at line 91 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextNode(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::ReadHeaders().

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mNumNodes [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<unsigned> TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOneDimBoundary [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOrderOfBoundaryElements [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
unsigned TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mOrderOfElements [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector<unsigned> TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mPermutationVector [private]
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
bool TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::mReadContainingElementOfBoundaryElement [private]

Whether to read containing element info for each boundary element (obtaining by doing tetgen with the -nn flag)

Definition at line 108 of file TrianglesMeshReader.hpp.

Referenced by TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetNextFaceData(), TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::GetReadContainingElementOfBoundaryElement(), and TrianglesMeshReader< ELEMENT_DIM, SPACE_DIM >::TrianglesMeshReader().


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

Generated by  doxygen 1.6.2