37 #ifndef _TRIANGLESMESHREADER_HPP_
38 #define _TRIANGLESMESHREADER_HPP_
43 #include "AbstractMeshReader.hpp"
51 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
55 friend class TestTrianglesMeshReader;
143 unsigned orderOfElements=1,
144 unsigned orderOfBoundaryElements=1,
145 bool readContainingElementsForBoundaryElements=
false);
223 std::vector<double>
GetNode(
unsigned index);
331 template<
class T_DATA>
333 std::vector<T_DATA>& rDataPacket,
const unsigned& rNumAttributes,
334 std::vector<double>& rAttributes);
352 #endif //_TRIANGLESMESHREADER_HPP_
unsigned mNumNodeAttributes
ElementData GetNextCableElementData()
std::vector< unsigned > mPermutationVector
unsigned GetNumFaceAttributes() const
unsigned GetNumNodes() const
bool mReadContainingElementOfBoundaryElement
std::ifstream mCableElementsFile
std::streampos mElementFileDataStart
std::streampos mFaceFileDataStart
void GetNextLineFromStream(std::ifstream &rFileStream, std::string &rRawLine)
unsigned mNumElementAttributes
char * mFaceFileReadBuffer
TrianglesMeshReader(std::string pathBaseName, unsigned orderOfElements=1, unsigned orderOfBoundaryElements=1, bool readContainingElementsForBoundaryElements=false)
std::vector< unsigned > GetContainingElementIndices(unsigned index)
unsigned GetNumElementAttributes() const
unsigned GetNumCableElementAttributes() const
unsigned GetNumCableElements() const
unsigned mNodesPerElement
unsigned GetNumElements() const
std::streamoff mElementItemWidth
bool IsFileFormatBinary()
ElementData GetNextElementData()
unsigned mNumFaceAttributes
unsigned GetOrderOfBoundaryElements()
unsigned GetOrderOfElements()
std::vector< double > mNodeAttributes
std::string mFilesBaseName
void SetNodePermutation(std::vector< unsigned > &rPermutationVector)
std::streampos mNodeFileDataStart
void SetReadBufferSize(unsigned bufferSize)
unsigned mCableElementsRead
char * mNodeFileReadBuffer
std::streamoff mFaceItemWidth
unsigned mOrderOfBoundaryElements
unsigned mMaxNodeBdyMarker
std::streampos mNclFileDataStart
std::streamoff mNodeItemWidth
unsigned mBoundaryFacesRead
std::vector< double > GetNextNode()
std::ifstream mElementsFile
void EnsureIndexingFromZero(std::vector< unsigned > &rNodeIndices)
char * mElementFileReadBuffer
void OpenCableElementsFile()
unsigned mOrderOfElements
bool HasNodePermutation()
ElementData GetFaceData(unsigned index)
unsigned GetNumFaces() const
bool GetReadContainingElementOfBoundaryElement()
ElementData GetNextFaceData()
const std::vector< unsigned > & rGetNodePermutation()
unsigned mNumElementNodes
bool mNodePermutationDefined
std::vector< unsigned > mInversePermutationVector
std::streamoff mNclItemWidth
unsigned mNumCableElements
unsigned mNodesPerBoundaryElement
std::string GetMeshFileBaseName()
unsigned mNumCableElementAttributes
std::vector< double > GetNodeAttributes()
void GetNextItemFromStream(std::ifstream &rFileStream, unsigned expectedItemNumber, std::vector< T_DATA > &rDataPacket, const unsigned &rNumAttributes, std::vector< double > &rAttributes)
std::vector< double > GetNode(unsigned index)
ElementData GetElementData(unsigned index)
std::vector< unsigned > mOneDimBoundary
unsigned mMaxContainingElements