--- trunk/src/applications/dump2Xyz/Dump2XYZ.cpp 2006/05/23 18:46:11 968 +++ trunk/src/applications/dump2Xyz/Dump2XYZ.cpp 2008/07/30 18:11:19 1282 @@ -68,7 +68,6 @@ int main(int argc, char* argv[]){ gengetopt_args_info args_info; std::string dumpFileName; - std::string mdFileName; std::string xyzFileName; //parse the command line option @@ -84,9 +83,6 @@ int main(int argc, char* argv[]){ exit(1); } - mdFileName = dumpFileName; - mdFileName = mdFileName.substr(0, mdFileName.rfind(".")) + ".md"; - if (args_info.output_given){ xyzFileName = args_info.output_arg; } else { @@ -96,10 +92,9 @@ int main(int argc, char* argv[]){ //parse md file and set up the system SimCreator creator; - SimInfo* info = creator.createSim(mdFileName, false); + SimInfo* info = creator.createSim(dumpFileName, false); - - + //create visitor list CompositeVisitor* compositeVisitor = new CompositeVisitor(); @@ -122,6 +117,12 @@ int main(int argc, char* argv[]){ GBLipidAtomVisitor* gbLipidVisitor = new GBLipidAtomVisitor(info); compositeVisitor->addVisitor(gbLipidVisitor, 740); + Ring5gbAtomVisitor* ring5Visitor = new Ring5gbAtomVisitor(info); + compositeVisitor->addVisitor(ring5Visitor, 730); + + HeadAtomVisitor* headVisitor = new HeadAtomVisitor(info); + compositeVisitor->addVisitor(headVisitor, 720); + //create default atom visitor DefaultAtomVisitor* defaultAtomVisitor = new DefaultAtomVisitor(info); compositeVisitor->addVisitor(defaultAtomVisitor, 700); @@ -175,11 +176,18 @@ int main(int argc, char* argv[]){ //create xyzVisitor XYZVisitor* xyzVisitor; + if (args_info.selection_given) { xyzVisitor = new XYZVisitor(info, args_info.selection_arg); } else { xyzVisitor = new XYZVisitor(info); } + + if(args_info.printPosOnly_flag){ + bool posOnly = true; + xyzVisitor->setPosOnly(posOnly); + } + compositeVisitor->addVisitor(xyzVisitor, 200); std::cout << compositeVisitor->toString(); @@ -192,10 +200,8 @@ int main(int argc, char* argv[]){ int nframes = dumpReader->getNFrames(); - std::ofstream xyzStream; - xyzStream .open(xyzFileName.c_str()); + std::ofstream xyzStream(xyzFileName.c_str()); - SimInfo::MoleculeIterator miter; Molecule::IntegrableObjectIterator iiter; Molecule::RigidBodyIterator rbIter; @@ -258,11 +264,10 @@ int main(int argc, char* argv[]){ xyzVisitor->clear(); }//end for (int i = 0; i < nframes; i += args_info.frame_arg) - + + delete xyzVisitor; xyzStream.close(); - delete prepareVisitor; delete compositeVisitor; delete info; - }