ESyS-Particle  2.3.4
MeshReader.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2017 by The University of Queensland //
4 // Centre for Geoscience Computing //
5 // http://earth.uq.edu.au/centre-geoscience-computing //
6 // //
7 // Primary Business: Brisbane, Queensland, Australia //
8 // Licensed under the Open Software License version 3.0 //
9 // http://www.apache.org/licenses/LICENSE-2.0 //
10 // //
12 
13 
14 #ifndef __MESH_READER_H
15 #define __MESH_READER_H
16 
17 //-- Project includes
18 #include "Model/MeshData.h"
20 
21 //-- STL includes --
22 #include <string>
23 using std::string;
24 
25 namespace esys
26 {
27  namespace lsm
28  {
37  class NodeReader : public IterativeReader<IStreamIterator<MeshNodeData> >
38  {
39  public:
40  NodeReader(std::istream&);
41  virtual void initialise();
42  };
43 
44 
53  class TriReader : public IterativeReader<IStreamIterator<MeshTriData> >
54  {
55  public:
56  TriReader(std::istream&);
57  virtual void initialise();
58  };
59 
67  class MeshReader
68  {
69  private:
70  class Impl;
71  Impl *m_impl_ptr; // pointer to the implementation
72 
73  public:
74  // types
77 
78  // functions
79  MeshReader(const string&);
80  ~MeshReader();
81 
84  };
85  } // end namespace lsm
86 } // end namespace esys
87 
88 
89 #endif // __MESH_READER_H
esys::lsm::IterativeReader< IStreamIterator< MeshNodeData > >::setNumElements
void setNumElements(int numElements)
Definition: IterativeReader.hpp:77
esys::lsm::NodeReader
read a block of nodes from a Finley mesh file.
Definition: MeshReader.h:38
esys::lsm::MeshReader::getNodeIterator
NodeIterator & getNodeIterator()
Definition: MeshReader.cpp:113
esys::lsm::MeshReader::NodeIterator
NodeReader::Iterator NodeIterator
Definition: MeshReader.h:75
esys::lsm::IterativeReader< IStreamIterator< MeshNodeData > >::getIStream
std::istream & getIStream()
Definition: IterativeReader.hpp:83
esys::lsm::MeshReader::Impl::m_node_reader_ptr
NodeReaderPtr m_node_reader_ptr
Definition: MeshReaderImpl.h:51
MeshData.h
esys::lsm::MeshReader
class to read triangle meshes from Finley mesh format files
Definition: MeshReader.h:68
esys::lsm::MeshReader::Impl::initialise
void initialise()
Definition: MeshReaderImpl.cpp:43
esys::lsm::MeshReader::Impl
implementation details for the mesh reader. Decouples Interface from implementation.
Definition: MeshReaderImpl.h:43
esys::lsm::MeshReader::~MeshReader
~MeshReader()
Definition: MeshReader.cpp:105
esys::lsm::MeshReader::Impl::m_tri_reader_ptr
TriReaderPtr m_tri_reader_ptr
Definition: MeshReaderImpl.h:52
MeshReader.h
esys::lsm::TriReader::initialise
virtual void initialise()
Definition: MeshReader.cpp:71
esys
Definition: CheckPointable.cpp:17
MeshTriData
Definition: MeshData.h:40
esys::lsm::MeshReader::MeshReader
MeshReader(const string &)
Definition: MeshReader.cpp:96
esys::lsm::NodeReader::initialise
virtual void initialise()
Definition: MeshReader.cpp:38
esys::lsm::MeshReader::m_impl_ptr
Impl * m_impl_ptr
Definition: MeshReader.h:70
esys::lsm::NodeReader::NodeReader
NodeReader(std::istream &)
Definition: MeshReader.cpp:31
MeshNodeData
Definition: MeshData.h:24
esys::lsm::IterativeReader
Definition: IterativeReader.h:75
IterativeReader.h
esys::lsm::IStreamIterator
Definition: IterativeReader.h:29
esys::lsm::TriReader
read a block of triangles from a Finley mesh file.
Definition: MeshReader.h:54
MeshReaderImpl.h
esys::lsm::MeshReader::getTriIterator
TriIterator & getTriIterator()
Definition: MeshReader.cpp:121
esys::lsm::TriReader::TriReader
TriReader(std::istream &)
Definition: MeshReader.cpp:64
esys::lsm::MeshReader::TriIterator
TriReader::Iterator TriIterator
Definition: MeshReader.h:76