ESyS-Particle  2.3.4
VectorTriangleFieldSlave.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 __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:
42  virtual void SendDataFull();
43  virtual void SendDataFullDX();
44 
45  public:
47 
49  {
50  }
51 
52  virtual void sendData();
53 };
54 
55 #endif // __VECTOR_TRIANGLE_FIELD_SLAVE_H
VectorTriangleFieldSlave::SendDataFullDX
virtual void SendDataFullDX()
Definition: VectorTriangleFieldSlave.cpp:69
field_const.h
FieldSlave.h
TML_Comm::send_gather
void send_gather(T &, int)
Definition: comm_coll.hpp:357
VectorTriangleFieldSlave
Slave part for saving a vector field defined on the triangles in a given TriMesh.
Definition: VectorTriangleFieldSlave.h:36
VectorTriangleFieldSlave.h
console.h
TriMesh.h
COLL_TYPE_FULL
@ COLL_TYPE_FULL
Definition: field_const.h:30
VectorTriangleFieldSlave::SendDataFull
virtual void SendDataFull()
Definition: VectorTriangleFieldSlave.cpp:52
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
VectorTriangleFieldSlave::m_data
map< int, Vec3 > m_data
Definition: VectorTriangleFieldSlave.h:38
TML_Comm::recv_broadcast
void recv_broadcast(T &, int)
Definition: comm_coll.hpp:113
comm.h
VectorTriangleFieldSlave::~VectorTriangleFieldSlave
virtual ~VectorTriangleFieldSlave()
Definition: VectorTriangleFieldSlave.h:48
TML_Comm
abstract base class for communicator
Definition: comm.h:47
VectorTriangleFieldSlave::m_mesh
TriMesh * m_mesh
Definition: VectorTriangleFieldSlave.h:40
VectorTriangleFieldSlave::VectorTriangleFieldSlave
VectorTriangleFieldSlave(TML_Comm *, TriMesh *, Triangle::VectorFieldFunction)
Definition: VectorTriangleFieldSlave.cpp:25
VectorTriangleFieldSlave::sendData
virtual void sendData()
Definition: VectorTriangleFieldSlave.cpp:36
Triangle::VectorFieldFunction
Vec3(Triangle::* VectorFieldFunction)() const
Definition: Triangle.h:50
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
VectorTriangleFieldSlave::m_rdf
Triangle::VectorFieldFunction m_rdf
Definition: VectorTriangleFieldSlave.h:41