67 |
|
|
68 |
|
}; |
69 |
|
|
70 |
+ |
class RestraintWriter{ |
71 |
+ |
|
72 |
+ |
public: |
73 |
+ |
RestraintWriter( SimInfo* the_entry_plug ); |
74 |
+ |
~RestraintWriter(); |
75 |
+ |
|
76 |
+ |
void writeZangle( double currentTime ); |
77 |
+ |
void writeZangle(double currentTime, const char *in_name); |
78 |
+ |
void writeFrame( vector<ofstream*>& outFile, double finalTime ); |
79 |
+ |
|
80 |
+ |
#ifdef IS_MPI |
81 |
+ |
void update(); |
82 |
+ |
#endif |
83 |
+ |
|
84 |
+ |
private: |
85 |
+ |
|
86 |
+ |
#ifdef IS_MPI |
87 |
+ |
void sortByGlobalIndex(); |
88 |
+ |
vector<pair<int, int> > indexArray; |
89 |
+ |
#endif |
90 |
+ |
|
91 |
+ |
SimInfo* entry_plug; |
92 |
+ |
ofstream zAngFile; |
93 |
+ |
|
94 |
+ |
}; |
95 |
+ |
|
96 |
|
class InitializeFromFile{ |
97 |
|
|
98 |
|
public: |
138 |
|
SimInfo *simnfo; |
139 |
|
}; |
140 |
|
|
141 |
+ |
class RestraintReader{ |
142 |
|
|
143 |
+ |
public: |
144 |
+ |
RestraintReader( SimInfo* the_simnfo ); |
145 |
+ |
~RestraintReader(); |
146 |
|
|
147 |
+ |
void readIdealCrystal(); |
148 |
+ |
void readZangle( const char *in_name ); |
149 |
+ |
void zeroZangle(); |
150 |
+ |
|
151 |
+ |
#ifdef IS_MPI |
152 |
+ |
void anonymousNodeDie( void ); |
153 |
+ |
void nodeZeroError( void ); |
154 |
|
#endif |
155 |
+ |
|
156 |
+ |
private: |
157 |
+ |
char* parseIdealLine(char* readLine, StuntDouble* sd); |
158 |
+ |
char *idealName; |
159 |
+ |
FILE *inFile; |
160 |
+ |
FILE *inAngFile; |
161 |
+ |
FILE *inIdealFile; |
162 |
+ |
string inFileName; |
163 |
+ |
string inAngFileName; |
164 |
+ |
string inIdealFileName; |
165 |
+ |
bool isScanned; |
166 |
+ |
|
167 |
+ |
double angleTransfer; |
168 |
+ |
vector<fpos_t*> framePos; |
169 |
+ |
SimInfo *simnfo; |
170 |
+ |
}; |
171 |
+ |
|
172 |
+ |
#endif |