ESyS-Particle  2.3.4
fracframe.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 __FRACFRAME_H
14 #define __FRACFRAME_H
15 
16 //--- system includes ---
17 #include <string>
18 #include <vector>
19 #include <set>
20 #include <utility>
21 #include <map>
22 
23 using std::string;
24 using std::vector;
25 using std::set;
26 using std::pair;
27 using std::map;
28 
29 //--- project includes ---
30 #include "Foundation/vec3.h"
31 
32 
33 
34 class FracFrame
35 {
36  private:
37  // bond data
38 
39  struct bdata
40  {
41  int id1,id2,tag;
42  };
43 
44  class cmp
45  {
46  public:
47  bool operator ()(const bdata&, const bdata&);
48  };
49 
50  set<bdata,FracFrame::cmp> m_bonds;
51  map<int,Vec3> posmap;
52  map<int,float> radmap;
53  map<int,int> tagmap;
54 
55  // private helper functions
56  int get_version(const string&);
57  vector<string> get_filenames(const string&, int);
58 
59  public:
60 
61  // types
62  struct fdata
63  {
66  double size;
67  double dist;
68  int id1, id2;
69  int tag;
70  };
71 
72 
73  FracFrame();
74 
75  void readFile(const string&);
76  void readFileRot(const string&,bool);
77  void readFileTagged(const string&,int);
78  void readFileRotTagged(const string&,int);
79  vector<fdata> getFrac(FracFrame&);
80 };
81 
82 #endif // __FRACFRAME_H
pdata
Definition: graph.h:35
FracFrame::get_filenames
vector< string > get_filenames(const string &, int)
Definition: fracframe.cpp:73
bond
Definition: frame_geo.cpp:74
FracFrame::readFileRot
void readFileRot(const string &, bool)
Definition: fracframe.cpp:273
FracFrame::m_bonds
set< bdata, FracFrame::cmp > m_bonds
Definition: fracframe.h:50
FracFrame::fdata::dist
double dist
Definition: fracframe.h:67
FracFrame::bdata::id1
int id1
Definition: fracframe.h:41
bond::id2
int id2
Definition: frame_geo.cpp:76
FracFrame::radmap
map< int, float > radmap
Definition: fracframe.h:52
FracFrame::readFile
void readFile(const string &)
Definition: fracframe.cpp:115
FracFrame::cmp::operator()
bool operator()(const bdata &, const bdata &)
Definition: fracframe.cpp:36
FracFrame::fdata::size
double size
Definition: fracframe.h:66
FracFrame::readFileRotTagged
void readFileRotTagged(const string &, int)
Definition: fracframe.cpp:368
FracFrame::FracFrame
FracFrame()
Definition: fracframe.cpp:33
FracFrame::bdata::id2
int id2
Definition: fracframe.h:41
FracFrame::fdata
Definition: fracframe.h:63
FracFrame::fdata::normal
Vec3 normal
Definition: fracframe.h:65
FracFrame::tagmap
map< int, int > tagmap
Definition: fracframe.h:53
FracFrame::fdata::id2
int id2
Definition: fracframe.h:68
fracframe.h
FracFrame::posmap
map< int, Vec3 > posmap
Definition: fracframe.h:51
Vec3
Definition: vec3.h:47
esys::lsm::bpu::iter
boost::python::object iter(const boost::python::object &pyOb)
Definition: Util.h:25
FracFrame::fdata::id1
int id1
Definition: fracframe.h:68
vec3.h
FracFrame::fdata::tag
int tag
Definition: fracframe.h:69
FracFrame::getFrac
vector< fdata > getFrac(FracFrame &)
Definition: fracframe.cpp:462
FracFrame::fdata::pos
Vec3 pos
Definition: fracframe.h:64
FracFrame::cmp
Definition: fracframe.h:45
FracFrame::get_version
int get_version(const string &)
Definition: fracframe.cpp:53
FracFrame::bdata::tag
int tag
Definition: fracframe.h:41
bond::id1
int id1
Definition: frame_geo.cpp:75
FracFrame::bdata
Definition: fracframe.h:40
FracFrame::readFileTagged
void readFileTagged(const string &, int)
Definition: fracframe.cpp:194
FracFrame
Definition: fracframe.h:35
bond::tag
int tag
Definition: frame_geo.cpp:77