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