ESyS-Particle  2.3.4
ScalarTriangleFieldSlave.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 #ifndef __SCALAR_TRIANGLE_FIELD_SLAVE_H
14 #define __SCALAR_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,double> m_data;
39 
40  protected:
43  virtual void SendDataFull();
44  virtual void SendDataFullDX();
45 
46  public:
48 
50  {
51  }
52 
53  virtual void sendData();
54 };
55 
56 #endif // __SCALAR_TRIANGLE_FIELD_SLAVE_H
field_const.h
ScalarTriangleFieldSlave::SendDataFull
virtual void SendDataFull()
Definition: ScalarTriangleFieldSlave.cpp:52
FieldSlave.h
TML_Comm::send_gather
void send_gather(T &, int)
Definition: comm_coll.hpp:357
console.h
ScalarTriangleFieldSlave::~ScalarTriangleFieldSlave
virtual ~ScalarTriangleFieldSlave()
Definition: ScalarTriangleFieldSlave.h:49
ScalarTriangleFieldSlave::sendData
virtual void sendData()
Definition: ScalarTriangleFieldSlave.cpp:36
TriMesh.h
Triangle::ScalarFieldFunction
double(Triangle::* ScalarFieldFunction)() const
Definition: Triangle.h:51
COLL_TYPE_FULL
@ COLL_TYPE_FULL
Definition: field_const.h:30
ScalarTriangleFieldSlave.h
Console::XDebug
Console & XDebug()
set verbose level of next message to "xdg"
AFieldSlave
Abstract base class for slave part of field.
Definition: FieldSlave.h:23
ScalarTriangleFieldSlave::m_rdf
Triangle::ScalarFieldFunction m_rdf
Definition: ScalarTriangleFieldSlave.h:42
TML_Comm::recv_broadcast
void recv_broadcast(T &, int)
Definition: comm_coll.hpp:113
comm.h
TML_Comm
abstract base class for communicator
Definition: comm.h:47
ScalarTriangleFieldSlave
Slave part for saving a scalar field defined on the triangles in a given TriMesh.
Definition: ScalarTriangleFieldSlave.h:36
ScalarTriangleFieldSlave::ScalarTriangleFieldSlave
ScalarTriangleFieldSlave(TML_Comm *, TriMesh *, Triangle::ScalarFieldFunction)
Definition: ScalarTriangleFieldSlave.cpp:25
ScalarTriangleFieldSlave::SendDataFullDX
virtual void SendDataFullDX()
Definition: ScalarTriangleFieldSlave.cpp:69
ScalarTriangleFieldSlave::m_mesh
TriMesh * m_mesh
Definition: ScalarTriangleFieldSlave.h:41
ScalarTriangleFieldSlave::m_data
map< int, double > m_data
Definition: ScalarTriangleFieldSlave.h:38
console
Console console
Definition: console.cpp:25
TriMesh
class for a triangle mesh
Definition: TriMesh.h:51
TriMesh::forAllTrianglesGetIndexed
vector< pair< int, P > > forAllTrianglesGetIndexed(P(Triangle::*rdf)() const)
Definition: TriMesh.hpp:40
AFieldSlave::m_comm
TML_Comm * m_comm
Definition: FieldSlave.h:26
COLL_TYPE_FULL_DX
@ COLL_TYPE_FULL_DX
Definition: field_const.h:34