ESyS-Particle  2.3
fracframe.h
Go to the documentation of this file.
1 // //
3 // Copyright (c) 2003-2014 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.opensource.org/licenses/osl-3.0.php //
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  int id1, id2;
68  int tag;
69  };
70 
71 
72  FracFrame();
73 
74  void readFile(const string&);
75  void readFileRot(const string&,bool);
76  void readFileTagged(const string&,int);
77  void readFileRotTagged(const string&,int);
78  vector<fdata> getFrac(FracFrame&);
79 };
80 
81 #endif // __FRACFRAME_H
Definition: fracframe.h:34
int id2
Definition: fracframe.h:41
void readFile(const string &)
Definition: fracframe.cpp:115
Definition: vec3.h:46
map< int, int > tagmap
Definition: fracframe.h:53
Vec3 normal
Definition: fracframe.h:65
Definition: fracframe.h:39
int tag
Definition: fracframe.h:68
map< int, float > radmap
Definition: fracframe.h:52
map< int, Vec3 > posmap
Definition: fracframe.h:51
int tag
Definition: fracframe.h:41
vector< string > get_filenames(const string &, int)
Definition: fracframe.cpp:73
Vec3 pos
Definition: fracframe.h:64
int id1
Definition: fracframe.h:41
int id2
Definition: fracframe.h:67
void readFileRotTagged(const string &, int)
Definition: fracframe.cpp:368
Definition: fracframe.h:62
int get_version(const string &)
Definition: fracframe.cpp:53
vector< fdata > getFrac(FracFrame &)
Definition: fracframe.cpp:462
void readFileTagged(const string &, int)
Definition: fracframe.cpp:194
void readFileRot(const string &, bool)
Definition: fracframe.cpp:273
int id1
Definition: fracframe.h:67
double size
Definition: fracframe.h:66
bool operator()(const bdata &, const bdata &)
Definition: fracframe.cpp:36
set< bdata, FracFrame::cmp > m_bonds
Definition: fracframe.h:50
FracFrame()
Definition: fracframe.cpp:33
Definition: fracframe.h:44