ESyS-Particle  4.0.1
trimesh_pis.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 __TRIMESH_PIS_H
14 #define __TRIMESH_PIS_H
15 
16 // --- project includes ---
17 #include "pis/pi_storage.h"
18 
19 // --- STL includes ---
20 #include <set>
21 #include <list>
22 
27 template<class ParticleType>
29 {
30  protected:
31  int m_update_timestamp;
32  TriMesh* m_mesh;
33  AParallelInteractionStorage* m_exIG; //<! if an interaction is in m_exIG, it can't be in m_interactions
34 
35  public:
37  virtual ~TriMesh_PIS();
38 
39  virtual void addExIG(AParallelInteractionStorage*);
40  virtual AFieldSlave* generateNewScalarFieldSlave(TML_Comm*,const string&,int,int,int,int);
41  virtual AFieldSlave* generateNewVectorFieldSlave(TML_Comm*,const string&,int,int,int,int);
42 };
43 
44 #include "pis/trimesh_pis.hpp"
45 
46 #endif //__TRIMESH_PIS_H