ESyS-Particle  4.0.1
VectorEdge2DFieldSlave.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 #ifndef __VECTOR_EDGE2D_FIELD_SLAVE_H
14 #define __VECTOR_EDGE2D_FIELD_SLAVE_H
15 
16 // -- project includes --
17 #include "Fields/FieldSlave.h"
18 #include "Model/Mesh2D.h"
19 #include "tml/comm/comm.h"
20 
21 // == STL includes --
22 #include <map>
23 using std::map;
24 
35 {
36  private:
37  map<int,Vec3> m_data;
38 
39  protected:
40  Mesh2D *m_mesh;
41  Edge2D::VectorFieldFunction m_rdf;
42  virtual void SendDataFull();
43  virtual void SendDataFullDX();
44 
45  public:
46  VectorEdge2DFieldSlave(TML_Comm*,Mesh2D*,Edge2D::VectorFieldFunction);
47  virtual ~VectorEdge2DFieldSlave()
48  {
49  }
50 
51  virtual void sendData();
52 };
53 
54 #endif //__VECTOR_EDGE2D_FIELD_SLAVE_H