ESyS-Particle  2.3
MeshReader.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2014 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.opensource.org/licenses/osl-3.0.php //
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 
82  NodeIterator &getNodeIterator();
83  TriIterator &getTriIterator();
84  };
85  } // end namespace lsm
86 } // end namespace esys
87 
88 
89 #endif // __MESH_READER_H
implementation details for the mesh reader. Decouples Interface from implementation.
Definition: MeshReaderImpl.h:42
Definition: CheckPointable.cpp:16
MeshReader(const string &)
Definition: MeshReader.cpp:96
Definition: IterativeReader.h:74
TriIterator & getTriIterator()
Definition: MeshReader.cpp:121
read a block of nodes from a Finley mesh file.
Definition: MeshReader.h:37
Definition: IterativeReader.h:28
virtual void initialise()
Definition: MeshReader.cpp:38
class to read triangle meshes from Finley mesh format files
Definition: MeshReader.h:67
~MeshReader()
Definition: MeshReader.cpp:105
NodeIterator & getNodeIterator()
Definition: MeshReader.cpp:113
read a block of triangles from a Finley mesh file.
Definition: MeshReader.h:53
Impl * m_impl_ptr
Definition: MeshReader.h:70
TriReader::Iterator TriIterator
Definition: MeshReader.h:76
NodeReader(std::istream &)
Definition: MeshReader.cpp:31
NodeReader::Iterator NodeIterator
Definition: MeshReader.h:75
virtual void initialise()
Definition: MeshReader.cpp:71
TriReader(std::istream &)
Definition: MeshReader.cpp:64