ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/utils/Dump2XYZ.cpp
(Generate patch)

Comparing trunk/OOPSE/utils/Dump2XYZ.cpp (file contents):
Revision 1118 by tim, Mon Apr 19 03:52:27 2004 UTC vs.
Revision 1126 by tim, Tue Apr 20 05:39:38 2004 UTC

# Line 25 | Line 25 | int main(int argc, char* argv[]){
25    Molecule* mol;  
26    vector<StuntDouble*> integrableObjects;
27    vector<StuntDouble*>::iterator iter;
28 +  vector<RigidBody*> myRigidBodies;
29 +  vector<RigidBody*>::iterator rbIter;
30    
31    CompositeVisitor* compositeVisitor;
32    SSDAtomVisitor* ssdVisitor;
33    DefaultAtomVisitor* defaultAtomVisitor;
34    LipidHeadVisitor* lipidVisitor;
35 +  RBCOMVisitor* rbCOMVisitor;
36    ReplicateVisitor* replicateVisitor;
37    WrappingVisitor* wrappingVisitor;
38    IgnoreVisitor* ignoreVisitor;
39    XYZVisitor* xyzVisitor;
40    ZConsVisitor* zconsVisitor;
41    PrepareVisitor* prepareVisitor;
42 +  WaterTypeVisitor* waterTypeVisitor;
43    
44    //parse the command line option
45      if (cmdline_parser (argc, argv, &args_info) != 0)
# Line 98 | Line 102 | int main(int argc, char* argv[]){
102    }
103  
104    //creat RigidBody Visitor
105 <  lipidVisitor = new LipidHeadVisitor(info);
105 >  if(args_info.rigidbody_flag){
106 >    rbCOMVisitor = new RBCOMVisitor(info);
107 >    compositeVisitor->addVisitor(rbCOMVisitor, 900);
108 >  }
109 >  //creat RigidBody Visitor
110 >  //lipidVisitor = new LipidHeadVisitor(info);
111  
112    //adding names of lipid head group
113 <  lipidVisitor->addLipidHeadName("PC_RB_0");
114 <  lipidVisitor->addLipidHeadName("PE_RB_0");
113 >  //lipidVisitor->addLipidHeadName("PC_RB_0");
114 >  //lipidVisitor->addLipidHeadName("PE_RB_0");
115  
116 <  compositeVisitor->addVisitor(lipidVisitor, 900);
116 >  //compositeVisitor->addVisitor(lipidVisitor, 900);
117  
118    //creat SSD atom visitor
119    ssdVisitor = new SSDAtomVisitor(info);
# Line 112 | Line 121 | int main(int argc, char* argv[]){
121  
122    //creat default atom visitor
123    defaultAtomVisitor = new DefaultAtomVisitor(info);
124 <  compositeVisitor->addVisitor(ssdVisitor, 700);
124 >  compositeVisitor->addVisitor(defaultAtomVisitor, 700);
125  
126 +  //creat waterType visitor
127 +  if(args_info.watertype_flag){
128 +    waterTypeVisitor = new WaterTypeVisitor;
129 +    compositeVisitor->addVisitor(waterTypeVisitor, 600);
130 +  }
131 +
132    //create ZconsVisitor
133 <  if(args_info.replace_given){
133 >  if(args_info.zconstraint_flag){
134      
135      zconsVisitor = new ZConsVisitor(info);
136  
137      if(zconsVisitor->haveZconsMol())
138 <      compositeVisitor->addVisitor(zconsVisitor, 600);
138 >      compositeVisitor->addVisitor(zconsVisitor, 500);
139      else
140        delete zconsVisitor;
141    }
# Line 129 | Line 144 | int main(int argc, char* argv[]){
144  
145    if(args_info.periodicBox_flag){
146      wrappingVisitor = new WrappingVisitor(info);
147 <    compositeVisitor->addVisitor(wrappingVisitor, 500);
147 >    compositeVisitor->addVisitor(wrappingVisitor, 400);
148    }
149    
150    //creat replicate visitor
151    if(args_info.repeatX_given > 0 || args_info.repeatY_given > 0 ||args_info.repeatY_given > 0){
152      IntVec3 replicateOpt(args_info.repeatX_arg, args_info.repeatY_arg, args_info.repeatZ_arg);
153      replicateVisitor = new ReplicateVisitor(info, replicateOpt);
154 <    compositeVisitor->addVisitor(replicateVisitor, 400);
154 >    compositeVisitor->addVisitor(replicateVisitor, 300);
155    }
156  
157    //creat xyzVisitor
158    xyzVisitor = new XYZVisitor(info);
159 <  compositeVisitor->addVisitor(wrappingVisitor, 300);
159 >  compositeVisitor->addVisitor(xyzVisitor, 200);
160  
161 +  cout << compositeVisitor->toString();
162  
163    //creat prepareVisitor
164    prepareVisitor = new PrepareVisitor();
# Line 157 | Line 173 | int main(int argc, char* argv[]){
173      dumpReader->readFrame(info, i);
174  
175      mol = info->molecules;
176 +
177 +    //update atoms of rigidbody
178 +    for(int j = 0; j < info->n_mol; j++){
179 +      myRigidBodies = mol[j].getMyRigidBodies();
180 +
181 +      for(rbIter = myRigidBodies.begin(); rbIter != myRigidBodies.end(); ++rbIter)
182 +        (*rbIter)->updateAtoms();
183 +    }    
184 +
185      
186      //prepare visit
187      for(int j = 0; j < info->n_mol; j++){
188 <      integrableObjects = mol[i].getIntegrableObjects();
188 >      integrableObjects = mol[j].getIntegrableObjects();
189  
190        for(iter = integrableObjects.begin(); iter != integrableObjects.end(); ++iter)
191          (*iter)->accept(prepareVisitor);
# Line 171 | Line 196 | int main(int argc, char* argv[]){
196      
197      //visit stuntdouble
198      for(int j = 0; j < info->n_mol; j++){
199 <      integrableObjects = mol[i].getIntegrableObjects();
199 >      integrableObjects = mol[j].getIntegrableObjects();
200  
201        for(iter = integrableObjects.begin(); iter != integrableObjects.end(); ++iter)
202          (*iter)->accept(compositeVisitor);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines