ESyS-Particle  4.0.1
Mesh2DReader.h
1 
2 // //
3 // Copyright (c) 2003-2011 by The University of Queensland //
4 // Earth Systems Science Computational Centre (ESSCC) //
5 // http://www.uq.edu.au/esscc //
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_2D_READER_H
15 #define __MESH_2D_READER_H
16 
17 //-- Project includes
18 #include "Model/MeshData2D.h"
19 #include "Parallel/IterativeReader.h"
20 
21 //-- STL includes --
22 #include <string>
23 using std::string;
24 
25 namespace esys
26 {
27  namespace lsm
28  {
37  class Node2DReader : public IterativeReader<IStreamIterator<MeshNodeData2D> >
38  {
39  public:
40  Node2DReader(std::istream&);
41  virtual void initialise();
42  };
43 
44 
53  class Edge2DReader : public IterativeReader<IStreamIterator<MeshEdgeData2D> >
54  {
55  public:
56  Edge2DReader(std::istream&);
57  virtual void initialise();
58  };
59 
68  {
69  private:
70  class Impl;
71  Impl *m_impl_ptr; // pointer to the implementation
72 
73  public:
74  // types
77 
78  // functions
79  Mesh2DReader(const string&);
80  ~Mesh2DReader();
81 
84  };
85  }; // end namespace lsm
86 }; // end namespace esys
87 
88 
89 #endif // __MESH_READER_H