ESyS-Particle  2.3.4
gvmap.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 __GVMAP_H
14 #define __GVMAP_H
15 
16 //--- project include ---
17 #include "../../Foundation/vec3.h"
18 
19 //--- STL includes ---
20 #include <map>
21 #include <utility>
22 #include <set>
23 #include <vector>
24 #include <string>
25 
26 using std::multimap;
27 using std::pair;
28 using std::set;
29 using std::string;
30 using std::vector;
31 
36 struct gdata
37 {
40  double mass;
41 };
42 
47 class GVMap
48 {
49  private:
50  multimap<int,gdata> m_map;
51  set<int> m_tag_set;
52  map<int,Vec3> m_vel;
53  map<int,Vec3> m_angvel;
54  int m_min_tag;
55 
56  typedef multimap<int,gdata>::iterator mm_iter;
57 
58  public:
59  GVMap(int);
60  void read(const string&,bool);
61  void calc();
62 };
63 
64 #endif //__GVMAP_H
pdata
Definition: graph.h:35
gdata::mass
double mass
Definition: gvmap.h:40
GVMap::m_min_tag
int m_min_tag
Definition: gvmap.h:54
gdata::pos
Vec3 pos
Definition: gvmap.h:39
GVMap::m_tag_set
set< int > m_tag_set
Definition: gvmap.h:51
gvmap.h
GVMap::m_map
multimap< int, gdata > m_map
Definition: gvmap.h:50
GVMap::m_vel
map< int, Vec3 > m_vel
Definition: gvmap.h:52
cross
VEC3_INLINE Vec3 cross(const Vec3 &lhs, const Vec3 &rhs)
Definition: vec3.hpp:187
GVMap::GVMap
GVMap(int)
Definition: gvmap.cpp:23
gdata
structure used for the "interesting" data of each particle
Definition: gvmap.h:37
gdata::vel
Vec3 vel
Definition: gvmap.h:38
Vec3
Definition: vec3.h:47
esys::lsm::bpu::iter
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
GVMap::read
void read(const string &, bool)
Definition: gvmap.cpp:28
GVMap
data structure of grain velocity/rotation claculations
Definition: gvmap.h:48
GVMap::m_angvel
map< int, Vec3 > m_angvel
Definition: gvmap.h:53
GVMap::calc
void calc()
Definition: gvmap.cpp:106
GVMap::mm_iter
multimap< int, gdata >::iterator mm_iter
Definition: gvmap.h:56