Changes in / [5630bd:4e10f5]
- Files:
-
- 11 added
- 46 edited
Legend:
- Unmodified
- Added
- Removed
-
README
r5630bd r4e10f5 13 13 * GCC or alike 14 14 * GSL (GNU Scientific Library, available at http://www.gnu.org/software/gsl) 15 * Boost 1.4 or newer -
configure.ac
r5630bd r4e10f5 72 72 73 73 # add replacement/saturation hydrogen or not 74 AC_ARG_ENABLE([ecut],AS_HELP_STRING([--enable-ecut],[Use ECut TestRunnerClient (default is yes)]),75 [enable_ecut=$enableval], [enable_ecut= yes])74 AC_ARG_ENABLE([ecut],AS_HELP_STRING([--enable-ecut],[Use ECut TestRunnerClient (default is no)]), 75 [enable_ecut=$enableval], [enable_ecut=no]) 76 76 if test x"$enable_ecut" = xyes; then 77 77 AC_DEFINE(HAVE_ECUT,1, ["Use ECut TestRunnerClient instead of our own."]) -
src/Actions/AnalysisAction/MolecularVolumeAction.cpp
r5630bd r4e10f5 47 47 LCList = new LinkedCell(mol, 10.); 48 48 config * const configuration = World::getInstance().getConfig(); 49 //FindConvexBorder(mol, LCList, argv[argptr]); 49 Boundaries *BoundaryPoints = NULL; 50 //FindConvexBorder(mol, BoundaryPoints, TesselStruct, LCList, argv[argptr]); 50 51 FindNonConvexBorder(mol, TesselStruct, LCList, 5., NULL); 51 52 //RemoveAllBoundaryPoints(TesselStruct, mol, argv[argptr]); -
src/Actions/AnalysisAction/PairCorrelationAction.cpp
r5630bd r4e10f5 82 82 output.open(outputname.c_str()); 83 83 binoutput.open(binoutputname.c_str()); 84 PairCorrelationMap *correlationmap = NULL;85 84 if (type == "E") { 86 85 PairCorrelationMap *correlationmap = NULL; … … 89 88 else 90 89 correlationmap = PairCorrelation(World::getInstance().getMolecules(), elements); 91 //OutputCorrelationToSurface(&output, correlationmap);90 OutputPairCorrelation(&output, correlationmap); 92 91 binmap = BinData( correlationmap, BinWidth, BinStart, BinEnd ); 92 OutputCorrelation ( &binoutput, binmap ); 93 delete(binmap); 94 delete(correlationmap); 93 95 } else if (type == "P") { 94 96 cout << "Point to correlate to is " << Point << endl; … … 98 100 else 99 101 correlationmap = CorrelationToPoint(molecules, elements, &Point); 100 //OutputCorrelationToSurface(&output, correlationmap);102 OutputCorrelationToPoint(&output, correlationmap); 101 103 binmap = BinData( correlationmap, BinWidth, BinStart, BinEnd ); 104 OutputCorrelation ( &binoutput, binmap ); 105 delete(binmap); 106 delete(correlationmap); 102 107 } else if (type == "S") { 103 108 ASSERT(Boundary != NULL, "No molecule specified for SurfaceCorrelation."); … … 106 111 if (BinEnd > 0) { 107 112 if (BinEnd > 2.*radius) 108 113 LCWidth = BinEnd; 109 114 else 110 115 LCWidth = 2.*radius; … … 129 134 else 130 135 surfacemap = CorrelationToSurface( molecules, elements, TesselStruct, LCList); 136 delete LCList; 131 137 OutputCorrelationToSurface(&output, surfacemap); 138 // re-set ActiveFlag 139 counter = 0; 140 for (MoleculeList::iterator BigFinder = molecules->ListOfMolecules.begin(); BigFinder != molecules->ListOfMolecules.end(); BigFinder++) { 141 (*BigFinder)->ActiveFlag = Actives[counter++]; 142 } 143 delete[] Actives; 132 144 // check whether radius was appropriate 133 145 { … … 138 150 } 139 151 binmap = BinData( surfacemap, BinWidth, BinStart, BinEnd ); 140 } else 152 OutputCorrelation ( &binoutput, binmap ); 153 delete TesselStruct; // surfacemap contains refs to triangles! delete here, not earlier! 154 delete(binmap); 155 delete(surfacemap); 156 } else { 141 157 return Action::failure; 142 OutputCorrelation ( &binoutput, binmap );158 } 143 159 output.close(); 144 160 binoutput.close(); 145 delete(binmap);146 delete(correlationmap);147 161 delete dialog; 148 162 return Action::success; -
src/Actions/FragmentationAction/DepthFirstSearchAction.cpp
r5630bd r4e10f5 49 49 MoleculeLeafClass *Subgraphs = NULL; // list of subgraphs from DFS analysis 50 50 int *MinimumRingSize = new int[mol->getAtomCount()]; 51 atom ** *ListOfLocalAtoms = NULL;51 atom **ListOfAtoms = NULL; 52 52 class StackClass<bond *> *BackEdgeStack = NULL; 53 53 class StackClass<bond *> *LocalBackEdgeStack = NULL; … … 58 58 while (Subgraphs->next != NULL) { 59 59 Subgraphs = Subgraphs->next; 60 Subgraphs->FillBondStructureFromReference(mol, FragmentCounter, ListOfLocalAtoms, false); // we want to keep the created ListOfLocalAtoms 60 ListOfAtoms = NULL; 61 Subgraphs->FillBondStructureFromReference(mol, ListOfAtoms, false); // we want to keep the created ListOfLocalAtoms 61 62 LocalBackEdgeStack = new StackClass<bond *> (Subgraphs->Leaf->BondCount); 62 Subgraphs->Leaf->PickLocalBackEdges(ListOf LocalAtoms[FragmentCounter], BackEdgeStack, LocalBackEdgeStack);63 Subgraphs->Leaf->PickLocalBackEdges(ListOfAtoms, BackEdgeStack, LocalBackEdgeStack); 63 64 Subgraphs->Leaf->CyclicStructureAnalysis(LocalBackEdgeStack, MinimumRingSize); 64 65 delete(LocalBackEdgeStack); 65 66 delete(Subgraphs->previous); 67 delete[](ListOfAtoms); // and here we remove it 66 68 FragmentCounter++; 67 69 } 68 70 delete(Subgraphs); 69 for (int i=0;i<FragmentCounter;i++)70 delete[](ListOfLocalAtoms[i]);71 delete[](ListOfLocalAtoms);72 71 } 73 72 delete(BackEdgeStack); -
src/Actions/Makefile.am
r5630bd r4e10f5 126 126 WorldAction/ScaleBoxAction.cpp \ 127 127 WorldAction/SetDefaultNameAction.cpp \ 128 WorldAction/SetGaussianBasisAction.cpp 128 WorldAction/SetGaussianBasisAction.cpp \ 129 WorldAction/SetOutputFormatsAction.cpp 129 130 WORLDACTIONHEADER = \ 130 131 WorldAction/AddEmptyBoundaryAction.hpp \ … … 139 140 WorldAction/ScaleBoxAction.hpp \ 140 141 WorldAction/SetDefaultNameAction.hpp \ 141 WorldAction/SetGaussianBasisAction.hpp 142 WorldAction/SetGaussianBasisAction.hpp \ 143 WorldAction/SetOutputFormatsAction.hpp 142 144 -
src/Actions/MapOfActions.cpp
r5630bd r4e10f5 67 67 #include "Actions/WorldAction/SetDefaultNameAction.hpp" 68 68 #include "Actions/WorldAction/SetGaussianBasisAction.hpp" 69 #include "Actions/WorldAction/SetOutputFormatsAction.hpp" 69 70 #include "Actions/Values.hpp" 70 71 … … 72 73 { 73 74 VectorValue VV; 74 if (values.size() != 3) { 75 cerr << "Specified vector does not have three components but " << values.size() << endl; 75 std::vector<std::string> components; 76 77 // split comma-separated values 78 if (values.size() != 1) { 79 cerr << "Not one vector but " << components.size() << " given " << endl; 80 throw boost::program_options::validation_error("Unequal to one vector given"); 81 } 82 std::string argument(values.at(0)); 83 std::string::iterator Aiter = argument.begin(); 84 std::string::iterator Biter = argument.begin(); 85 for (; Aiter != argument.end(); ++Aiter) { 86 if (*Aiter == ',') { 87 components.push_back(string(Biter,Aiter)); 88 do { 89 Aiter++; 90 } while (*Aiter == ' ' || *Aiter == '\t'); 91 Biter = Aiter; 92 } 93 } 94 components.push_back(string(Biter,argument.end())); 95 96 if (components.size() != 3) { 97 cerr << "Specified vector does not have three components but " << components.size() << endl; 76 98 throw boost::program_options::validation_error("Specified vector does not have three components"); 77 99 } 78 VV.x = boost::lexical_cast<double>( values.at(0));79 VV.y = boost::lexical_cast<double>( values.at(1));80 VV.z = boost::lexical_cast<double>( values.at(2));100 VV.x = boost::lexical_cast<double>(components.at(0)); 101 VV.y = boost::lexical_cast<double>(components.at(1)); 102 VV.z = boost::lexical_cast<double>(components.at(2)); 81 103 v = boost::any(VectorValue(VV)); 82 104 } … … 85 107 { 86 108 BoxValue BV; 87 if (values.size() != 6) { 88 cerr << "Specified vector does not have three components but " << values.size() << endl; 109 std::vector<std::string> components; 110 111 // split comma-separated values 112 if (values.size() != 1) { 113 cerr << "Not one vector but " << components.size() << " given " << endl; 114 throw boost::program_options::validation_error("Unequal to one vector given"); 115 } 116 std::string argument(values.at(0)); 117 std::string::iterator Aiter = argument.begin(); 118 std::string::iterator Biter = argument.begin(); 119 for (; Aiter != argument.end(); ++Aiter) { 120 if (*Aiter == ',') { 121 components.push_back(string(Biter,Aiter)); 122 do { 123 Aiter++; 124 } while (*Aiter == ' ' || *Aiter == '\t'); 125 Biter = Aiter; 126 } 127 } 128 components.push_back(string(Biter,argument.end())); 129 130 if (components.size() != 6) { 131 cerr << "Specified vector does not have three components but " << components.size() << endl; 89 132 throw boost::program_options::validation_error("Specified symmetric box matrix does not have six components"); 90 133 } 91 BV.xx = boost::lexical_cast<double>( values.at(0));92 BV.xy = boost::lexical_cast<double>( values.at(1));93 BV.xz = boost::lexical_cast<double>( values.at(2));94 BV.yy = boost::lexical_cast<double>( values.at(3));95 BV.yz = boost::lexical_cast<double>( values.at(4));96 BV.zz = boost::lexical_cast<double>( values.at(5));134 BV.xx = boost::lexical_cast<double>(components.at(0)); 135 BV.xy = boost::lexical_cast<double>(components.at(1)); 136 BV.xz = boost::lexical_cast<double>(components.at(2)); 137 BV.yy = boost::lexical_cast<double>(components.at(3)); 138 BV.yz = boost::lexical_cast<double>(components.at(4)); 139 BV.zz = boost::lexical_cast<double>(components.at(5)); 97 140 v = boost::any(BoxValue(BV)); 98 141 } … … 130 173 DescriptionMap["input"] = "specify input files"; 131 174 DescriptionMap["linear-interpolate"] = "linear interpolation in discrete steps between start and end position of a molecule"; 175 DescriptionMap["molecular-volume"] = "calculate the volume of a given molecule"; 132 176 DescriptionMap["nonconvex-envelope"] = "create the non-convex envelope for a molecule"; 133 DescriptionMap[" molecular-volume"] = "calculate the volume of a given molecule";134 DescriptionMap[" output"] = "specify output formats";177 DescriptionMap["output"] = "write output files"; 178 DescriptionMap["set-output"] = "specify output formats"; 135 179 DescriptionMap["pair-correlation"] = "pair correlation analysis between two elements, element and point or element and surface"; 136 180 DescriptionMap["parse-xyz"] = "parse xyz file into World"; … … 140 184 DescriptionMap["repeat-box"] = "create periodic copies of the simulation box per axis"; 141 185 DescriptionMap["rotate-to-pas"] = "calculate the principal axis system of the specified molecule and rotate specified axis to align with main axis"; 142 DescriptionMap["set-basis"] = "set the name of the gaussian basis set for MPQC";143 186 DescriptionMap["save-adjacency"] = "name of the adjacency file to write to"; 144 187 DescriptionMap["save-bonds"] = "name of the bonds file to write to"; … … 146 189 DescriptionMap["SaveXyz"] = "save world as xyz file"; 147 190 DescriptionMap["scale-box"] = "scale box and atomic positions inside"; 191 DescriptionMap["set-basis"] = "set the name of the gaussian basis set for MPQC"; 192 DescriptionMap["set-output"] = "specify output formats"; 148 193 DescriptionMap["subgraph-dissect"] = "dissect the molecular system into molecules representing disconnected subgraphs"; 149 194 DescriptionMap["suspend-in-water"] = "suspend the given molecule in water such that in the domain the mean density is as specified"; … … 189 234 ShortFormMap["center-in-box"] = "b"; 190 235 ShortFormMap["change-element"] = "E"; 191 ShortFormMap["convex-envelope"] = "o";236 // ShortFormMap["convex-envelope"] = "x"; 192 237 ShortFormMap["default-molname"] = "X"; 193 238 ShortFormMap["depth-first-search"] = "D"; … … 200 245 ShortFormMap["linear-interpolate"] = "L"; 201 246 ShortFormMap["nonconvex-envelope"] = "N"; 247 // ShortFormMap["output"] = "o"; 202 248 ShortFormMap["pair-correlation"] = "C"; 203 249 ShortFormMap["parse-xyz"] = "p"; … … 211 257 ShortFormMap["scale-box"] = "s"; 212 258 ShortFormMap["set-basis"] = "M"; 259 ShortFormMap["set-output"] = "o"; 213 260 ShortFormMap["subgraph-dissect"] = "I"; 214 261 ShortFormMap["suspend-in-water"] = "u"; … … 238 285 TypeMap["molecular-volume"] = Molecule; 239 286 TypeMap["nonconvex-envelope"] = Molecule; 240 TypeMap["output"] = String;287 TypeMap["output"] = None; 241 288 TypeMap["parse-xyz"] = String; 242 289 TypeMap["pair-correlation"] = String; … … 251 298 TypeMap["scale-box"] = Vector; 252 299 TypeMap["set-basis"] = String; 300 TypeMap["set-output"] = ListOfString; 253 301 TypeMap["subgraph-dissect"] = None; 254 302 TypeMap["suspend-in-water"] = Double; … … 349 397 MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "default-molname") ); 350 398 MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "set-basis") ); 399 MenuContainsActionMap.insert( pair<std::string, std::string> ("world", "set-output") ); 351 400 352 401 // put actions into command line category … … 386 435 generic.insert("scale-box"); 387 436 generic.insert("set-basis"); 437 generic.insert("set-output"); 388 438 generic.insert("subgraph-dissect"); 389 439 generic.insert("suspend-in-water"); … … 484 534 new WorldSetDefaultNameAction(); 485 535 new WorldSetGaussianBasisAction(); 536 new WorldSetOutputFormatsAction(); 486 537 } 487 538 … … 561 612 ; 562 613 break; 614 case ListOfString: 615 ListRunner->second->add_options() 616 (getKeyAndShortForm(*OptionRunner).c_str(), 617 po::value< vector<std::string> >()->multitoken(), 618 getDescription(*OptionRunner).c_str()) 619 ; 620 break; 563 621 case Axis: 564 622 ListRunner->second->add_options() … … 573 631 ListRunner->second->add_options() 574 632 (getKeyAndShortForm(*OptionRunner).c_str(), 575 po::value<VectorValue>() ->multitoken(),633 po::value<VectorValue>(), 576 634 getDescription(*OptionRunner).c_str()) 577 635 ; -
src/Actions/MapOfActions.hpp
r5630bd r4e10f5 123 123 friend class MapOfActionsTest; 124 124 public: 125 enum OptionTypes { None, Boolean, Integer, ListOfInts, Double, ListOfDoubles, String, Axis, Vector, Box, Molecule, ListOfMolecules, Atom, ListOfAtoms, Element, ListOfElements };125 enum OptionTypes { None, Boolean, Integer, ListOfInts, Double, ListOfDoubles, String, ListOfString, Axis, Vector, Box, Molecule, ListOfMolecules, Atom, ListOfAtoms, Element, ListOfElements }; 126 126 127 127 // getter for the action descriptions and short forms -
src/Actions/TesselationAction/ConvexEnvelopeAction.cpp
r5630bd r4e10f5 70 70 DoLog(1) && (Log() << Verbose(1) << "Storing tecplot non-convex data in " << filenameNonConvex << "." << endl); 71 71 LCList = new LinkedCell(mol, 100.); 72 //FindConvexBorder(mol, LCList, argv[argptr]); 72 Boundaries *BoundaryPoints = NULL; 73 //FindConvexBorder(mol, BoundaryPoints, TesselStruct, LCList, argv[argptr]); 73 74 // TODO: Beide Funktionen sollten streams anstelle des Filenamen benutzen, besser fuer unit tests 74 75 FindNonConvexBorder(mol, TesselStruct, LCList, 50., filenameNonConvex.c_str()); -
src/Actions/WorldAction/CenterOnEdgeAction.cpp
r5630bd r4e10f5 63 63 domain.at(i,i) = tmp; 64 64 } 65 cout << "new domain is: " << domain << endl;66 65 World::getInstance().setDomain(domain); 67 66 // translate all atoms, such that Min is aty (0,0,0) -
src/Actions/WorldAction/OutputAction.cpp
r5630bd r4e10f5 9 9 10 10 #include "Actions/WorldAction/OutputAction.hpp" 11 #include "Parser/ChangeTracker.hpp" 11 12 #include "log.hpp" 12 13 #include "verbose.hpp" … … 33 34 Action::state_ptr WorldOutputAction::performCall() { 34 35 Dialog *dialog = UIFactory::getInstance().makeDialog(); 35 string defaultname;36 36 37 defaultname = World::getInstance().getDefaultName(); 38 dialog->queryString(NAME, &defaultname, MapOfActions::getInstance().getDescription(NAME)); 37 dialog->queryEmpty(NAME, MapOfActions::getInstance().getDescription(NAME)); 39 38 40 39 if(dialog->display()) { 41 World::getInstance().setDefaultName(defaultname);42 DoLog(0) && (Log() << Verbose(0) << "Default name of new molecules set to " << World::getInstance().getDefaultName() << "." << endl);40 DoLog(0) && (Log() << Verbose(0) << "Saving world to files." << endl); 41 ChangeTracker::getInstance().saveStatus(); 43 42 delete dialog; 44 43 return Action::success; -
src/CommandLineParser.cpp
r5630bd r4e10f5 41 41 void CommandLineParser::Parse() 42 42 { 43 po::store(po::command_line_parser(argc,argv).options(cmdline_options).options(visible). positional(inputfile).run(), vm);43 po::store(po::command_line_parser(argc,argv).options(cmdline_options).options(visible).run(), vm); 44 44 ifstream input; 45 45 input.open("example.cfg"); … … 56 56 { 57 57 // go through all arguments 58 cout << Verbose(1) << "By default putting input into the sequence." << endl;59 // TODO: This may be bad, because const string "input" is destroyed at end of function60 SequenceOfActions.push_back("input");61 58 for (int i=1;i<argc;i++) { 62 59 (cout << Verbose(1) << "Checking on " << argv[i] << endl); -
src/Legacy/oldmenu.cpp
r5630bd r4e10f5 576 576 const LinkedCell *LCList = NULL; 577 577 LCList = new LinkedCell(mol, 10.); 578 FindConvexBorder(mol, TesselStruct, LCList, NULL); 578 Boundaries *BoundaryPoints = NULL; 579 FindConvexBorder(mol, BoundaryPoints TesselStruct, LCList, NULL); 579 580 double clustervolume = VolumeOfConvexEnvelope(TesselStruct, configuration); 580 581 Log() << Verbose(0) << "The tesselated surface area is " << clustervolume << "." << endl;\ -
src/Makefile.am
r5630bd r4e10f5 329 329 FORCE: 330 330 $(srcdir)/.git-version: FORCE 331 @if (test -d $(top_srcdir)/../.git && cd $(srcdir) && git describe HEAD) > .git-version-t 2>/dev/null \ 331 @if (test -d $(top_srcdir)/.git && cd $(srcdir) \ 332 && { git describe --dirty --always || git describe; } ) > .git-version-t 2>/dev/null \ 332 333 && ! diff .git-version-t $(srcdir)/.git-version >/dev/null 2>&1; then \ 333 334 mv -f .git-version-t $(srcdir)/.git-version; \ -
src/UIElements/CommandLineUI/CommandLineDialog.cpp
r5630bd r4e10f5 66 66 } 67 67 68 void CommandLineDialog::queryStrings(const char* title, vector<string> * target, string _description){ 69 registerQuery(new StringsCommandLineQuery(title,target, _description)); 70 } 71 68 72 void CommandLineDialog::queryAtom(const char* title, atom **target, string _description) { 69 73 registerQuery(new AtomCommandLineQuery(title,target, _description)); … … 140 144 if (CommandLineParser::getInstance().vm.count(getTitle())) { 141 145 tmp = CommandLineParser::getInstance().vm[getTitle()].as<string>(); 146 return true; 147 } else { 148 DoeLog(1) && (eLog() << Verbose(1) << "CommandLineUI parsing error: Missing string for " << getTitle() << "." << endl); 149 return false; 150 } 151 } 152 153 CommandLineDialog::StringsCommandLineQuery::StringsCommandLineQuery(string title,vector<string> *_target, string _description) : 154 Dialog::StringsQuery(title,_target, _description) 155 {} 156 157 CommandLineDialog::StringsCommandLineQuery::~StringsCommandLineQuery() {} 158 159 bool CommandLineDialog::StringsCommandLineQuery::handle() { 160 if (CommandLineParser::getInstance().vm.count(getTitle())) { 161 tmp = CommandLineParser::getInstance().vm[getTitle()].as< vector<string> >(); 142 162 return true; 143 163 } else { -
src/UIElements/CommandLineUI/CommandLineDialog.hpp
r5630bd r4e10f5 31 31 virtual void queryBoolean(const char *, bool *, std::string = ""); 32 32 virtual void queryString(const char*, std::string *, std::string = ""); 33 virtual void queryStrings(const char*, std::vector<std::string> *, std::string = ""); 33 34 virtual void queryDouble(const char*, double*, std::string = ""); 34 35 virtual void queryAtom(const char*,atom**, std::string = ""); … … 75 76 }; 76 77 78 class StringsCommandLineQuery : public Dialog::StringsQuery { 79 public: 80 StringsCommandLineQuery(std::string title, std::vector<std::string> *_target, std::string _description = ""); 81 virtual ~StringsCommandLineQuery(); 82 virtual bool handle(); 83 }; 84 77 85 class AtomCommandLineQuery : public Dialog::AtomQuery { 78 86 public: -
src/UIElements/Dialog.cpp
r5630bd r4e10f5 131 131 } 132 132 133 // Strings Queries 134 135 Dialog::StringsQuery::StringsQuery(string title,vector<string> *_target, std::string _description) : 136 Query(title, _description), target(_target) 137 {} 138 139 Dialog::StringsQuery::~StringsQuery() {}; 140 141 void Dialog::StringsQuery::setResult() { 142 *target = tmp; 143 } 144 133 145 // Double Queries 134 146 -
src/UIElements/Dialog.hpp
r5630bd r4e10f5 41 41 virtual void queryDouble(const char*,double *, std::string = "")=0; 42 42 virtual void queryString(const char*, std::string *, std::string = "")=0; 43 virtual void queryStrings(const char*, std::vector<std::string> *, std::string = "")=0; 43 44 virtual void queryAtom(const char*,atom**,std::string = "")=0; 44 45 virtual void queryMolecule(const char*,molecule**, std::string = "")=0; … … 135 136 private: 136 137 std::string *target; 138 }; 139 140 class StringsQuery : public Query { 141 public: 142 StringsQuery(std::string title,std::vector<std::string> *_target, std::string _description = ""); 143 virtual ~StringsQuery(); 144 virtual bool handle()=0; 145 virtual void setResult(); 146 protected: 147 std::string temp; 148 std::vector<std::string> tmp; 149 private: 150 std::vector<std::string> *target; 137 151 }; 138 152 -
src/UIElements/QT4/QTDialog.cpp
r5630bd r4e10f5 115 115 } 116 116 117 void QTDialog::queryStrings(const char* title, std::vector<std::string> *target,string) 118 { 119 registerQuery(new StringsQTQuery(title,target,inputLayout,this)); 120 } 121 117 122 void QTDialog::queryMolecule(const char *title,molecule **target,string) 118 123 { … … 212 217 { 213 218 return tmp!=""; 219 } 220 221 QTDialog::StringsQTQuery::StringsQTQuery(string _title,vector<string> *_target,QBoxLayout *_parent,QTDialog *_dialog) : 222 Dialog::StringsQuery(_title,_target), 223 parent(_parent) 224 { 225 thisLayout = new QHBoxLayout(); 226 titleLabel = new QLabel(QString(getTitle().c_str())); 227 inputBox = new QLineEdit(); 228 parent->addLayout(thisLayout); 229 thisLayout->addWidget(titleLabel); 230 thisLayout->addWidget(inputBox); 231 232 pipe = new StringQTQueryPipe(&temp,_dialog); 233 pipe->update(inputBox->text()); 234 connect(inputBox,SIGNAL(textChanged(const QString&)),pipe,SLOT(update(const QString&))); 235 } 236 237 QTDialog::StringsQTQuery::~StringsQTQuery() 238 { 239 delete pipe; 240 } 241 242 // All values besides the empty string are valid 243 bool QTDialog::StringsQTQuery::handle() 244 { 245 // dissect by "," 246 string::iterator olditer = temp.begin(); 247 for(string::iterator iter = temp.begin(); iter != temp.end(); ++iter) { 248 if (*iter == ' ') { 249 tmp.push_back(string(iter, olditer)); 250 olditer = iter; 251 } 252 } 253 if (olditer != temp.begin()) // insert last part also 254 tmp.push_back(string(olditer, temp.end())); 255 256 return temp!=""; 214 257 } 215 258 -
src/UIElements/QT4/QTDialog.hpp
r5630bd r4e10f5 40 40 virtual void queryDouble(const char*,double *,std::string = ""); 41 41 virtual void queryString(const char*, std::string *,std::string = ""); 42 virtual void queryStrings(const char*, std::vector<std::string> *,std::string = ""); 42 43 virtual void queryAtom(const char*,atom**,std::string = ""); 43 44 virtual void queryMolecule(const char*,molecule**,std::string = ""); … … 93 94 }; 94 95 96 class StringsQTQuery : public Dialog::StringsQuery { 97 public: 98 StringsQTQuery(std::string _title, std::vector<std::string> *_target, QBoxLayout *_parent,QTDialog *_dialog); 99 virtual ~StringsQTQuery(); 100 virtual bool handle(); 101 private: 102 QBoxLayout *parent; 103 QBoxLayout *thisLayout; 104 QLabel *titleLabel; 105 QLineEdit *inputBox; 106 107 StringQTQueryPipe *pipe; 108 }; 109 95 110 class MoleculeQTQuery : public Dialog::MoleculeQuery { 96 111 public: -
src/UIElements/TextUI/TextDialog.cpp
r5630bd r4e10f5 58 58 void TextDialog::queryString(const char* title, string* target, string description){ 59 59 registerQuery(new StringTextQuery(title,target,description)); 60 } 61 62 void TextDialog::queryStrings(const char* title, vector<string>* target, string description){ 63 registerQuery(new StringsTextQuery(title,target,description)); 60 64 } 61 65 … … 155 159 Log() << Verbose(0) << getTitle(); 156 160 getline(cin,tmp); 161 return true; 162 } 163 164 TextDialog::StringsTextQuery::StringsTextQuery(string title,vector<string> *_target, std::string _description) : 165 Dialog::StringsQuery(title,_target,_description) 166 {} 167 168 TextDialog::StringsTextQuery::~StringsTextQuery() {} 169 170 bool TextDialog::StringsTextQuery::handle() { 171 Log() << Verbose(0) << getTitle(); 172 getline(cin,temp); 173 // dissect by "," 174 string::iterator olditer = temp.begin(); 175 for(string::iterator iter = temp.begin(); iter != temp.end(); ++iter) { 176 if (*iter == ' ') { 177 tmp.push_back(string(iter, olditer)); 178 olditer = iter; 179 } 180 } 181 if (olditer != temp.begin()) // insert last part also 182 tmp.push_back(string(olditer, temp.end())); 183 157 184 return true; 158 185 } -
src/UIElements/TextUI/TextDialog.hpp
r5630bd r4e10f5 28 28 virtual void queryInt(const char *, int *, std::string = ""); 29 29 virtual void queryString(const char*, std::string *, std::string = ""); 30 virtual void queryStrings(const char*, std::vector<std::string> *, std::string = ""); 30 31 virtual void queryDouble(const char*, double*, std::string = ""); 31 32 virtual void queryAtom(const char*,atom**,std::string = ""); … … 72 73 }; 73 74 75 class StringsTextQuery : public Dialog::StringsQuery { 76 public: 77 StringsTextQuery(std::string title, std::vector<std::string> *_target, std::string _description = NULL); 78 virtual ~StringsTextQuery(); 79 virtual bool handle(); 80 }; 81 74 82 class AtomTextQuery : public Dialog::AtomQuery { 75 83 public: -
src/UIElements/TextUI/TextWindow.cpp
r5630bd r4e10f5 22 22 #include "Actions/ErrorAction.hpp" 23 23 #include "Actions/ActionRegistry.hpp" 24 #include "Parser/ChangeTracker.hpp" 24 25 #include "Views/StreamStringView.hpp" 25 26 #include "Views/MethodStringView.hpp" … … 43 44 TextWindow::TextWindow() 44 45 { 45 char ConfigFileName[MAXSTRINGSIZE];46 46 map <std::string, TextMenu *> NametoTextMenuMap; 47 47 … … 78 78 new SeperatorItem(main_menu); 79 79 80 Action *saveConfigAction = new MethodAction("saveConfigAction",boost::bind(&config::SaveAll,World::getInstance().getConfig(), ConfigFileName, World::getInstance().getPeriode(), World::getInstance().getMolecules()));81 new ActionMenuItem('s',"save current setup to config file ",main_menu,saveConfigAction);80 Action *saveConfigAction = ActionRegistry::getInstance().getActionByName("output"); 81 new ActionMenuItem('s',"save current setup to config files",main_menu,saveConfigAction); 82 82 83 83 quitAction = new MethodAction("quitAction",boost::bind(&TextMenu::doQuit,main_menu),false); -
src/boundary.cpp
r5630bd r4e10f5 301 301 * \param *out output stream for debugging 302 302 * \param *mol molecule structure with Atom's and Bond's. 303 * \param *BoundaryPts set of boundary points to use or NULL 303 304 * \param *TesselStruct Tesselation filled with points, lines and triangles on boundary on return 304 305 * \param *LCList atoms in LinkedCell list … … 306 307 * \return *TesselStruct is filled with convex boundary and tesselation is stored under \a *filename. 307 308 */ 308 void FindConvexBorder(const molecule* mol, Tesselation *&TesselStruct, const LinkedCell *LCList, const char *filename)309 void FindConvexBorder(const molecule* mol, Boundaries *BoundaryPts, Tesselation *&TesselStruct, const LinkedCell *LCList, const char *filename) 309 310 { 310 311 Info FunctionInfo(__func__); … … 317 318 318 319 // 1. Find all points on the boundary 319 if (BoundaryP oints == NULL) {320 321 320 if (BoundaryPts == NULL) { 321 BoundaryFreeFlag = true; 322 BoundaryPoints = GetBoundaryPoints(mol, TesselStruct); 322 323 } else { 323 DoLog(0) && (Log() << Verbose(0) << "Using given boundary points set." << endl); 324 BoundaryPoints = BoundaryPts; 325 DoLog(0) && (Log() << Verbose(0) << "Using given boundary points set." << endl); 324 326 } 325 327 326 328 // printing all inserted for debugging 327 for (int axis=0; axis < NDIM; axis++) 328 { 329 DoLog(1) && (Log() << Verbose(1) << "Printing list of candidates for axis " << axis << " which we have inserted so far." << endl); 330 int i=0; 331 for(Boundaries::iterator runner = BoundaryPoints[axis].begin(); runner != BoundaryPoints[axis].end(); runner++) { 332 if (runner != BoundaryPoints[axis].begin()) 333 DoLog(0) && (Log() << Verbose(0) << ", " << i << ": " << *runner->second.second); 334 else 335 DoLog(0) && (Log() << Verbose(0) << i << ": " << *runner->second.second); 336 i++; 337 } 338 DoLog(0) && (Log() << Verbose(0) << endl); 339 } 329 for (int axis=0; axis < NDIM; axis++) { 330 DoLog(1) && (Log() << Verbose(1) << "Printing list of candidates for axis " << axis << " which we have inserted so far." << endl); 331 int i=0; 332 for(Boundaries::iterator runner = BoundaryPoints[axis].begin(); runner != BoundaryPoints[axis].end(); runner++) { 333 if (runner != BoundaryPoints[axis].begin()) 334 DoLog(0) && (Log() << Verbose(0) << ", " << i << ": " << *runner->second.second); 335 else 336 DoLog(0) && (Log() << Verbose(0) << i << ": " << *runner->second.second); 337 i++; 338 } 339 DoLog(0) && (Log() << Verbose(0) << endl); 340 } 340 341 341 342 // 2. fill the boundary point list … … 343 344 for (Boundaries::iterator runner = BoundaryPoints[axis].begin(); runner != BoundaryPoints[axis].end(); runner++) 344 345 if (!TesselStruct->AddBoundaryPoint(runner->second.second, 0)) 345 Do eLog(2) && (eLog()<< Verbose(2) << "Point " << *(runner->second.second) << " is already present!" << endl);346 DoLog(2) && (Log()<< Verbose(2) << "Point " << *(runner->second.second) << " is already present." << endl); 346 347 347 348 DoLog(0) && (Log() << Verbose(0) << "I found " << TesselStruct->PointsOnBoundaryCount << " points on the convex boundary." << endl); … … 677 678 678 679 IsAngstroem = configuration->GetIsAngstroem(); 680 BoundaryPoints = GetBoundaryPoints(mol, TesselStruct); 679 681 GreatestDiameter = GetDiametersOfCluster(BoundaryPoints, mol, TesselStruct, IsAngstroem); 680 BoundaryPoints = GetBoundaryPoints(mol, TesselStruct);681 682 LinkedCell *LCList = new LinkedCell(mol, 10.); 682 FindConvexBorder(mol, TesselStruct, (const LinkedCell *&)LCList, NULL);683 FindConvexBorder(mol, BoundaryPoints, TesselStruct, (const LinkedCell *&)LCList, NULL); 683 684 delete (LCList); 685 delete[] BoundaryPoints; 684 686 685 687 … … 689 691 else 690 692 clustervolume = ClusterVolume; 693 694 delete TesselStruct; 691 695 692 696 for (int i = 0; i < NDIM; i++) … … 741 745 mol->CenterInBox(); 742 746 } 747 delete GreatestDiameter; 743 748 // update Box of atoms by boundary 744 749 mol->SetBoxDimension(&BoxLengths); … … 895 900 } 896 901 } 902 for (MoleculeList::iterator ListRunner = List->ListOfMolecules.begin(); ListRunner != List->ListOfMolecules.end(); ListRunner++) { 903 delete LCList[*ListRunner]; 904 delete TesselStruct[(*ListRunner)]; 905 } 897 906 898 907 return Filling; -
src/boundary.hpp
r5630bd r4e10f5 50 50 double ConvexizeNonconvexEnvelope(class Tesselation *&TesselStruct, const molecule * const mol, const char * const filename); 51 51 molecule * FillBoxWithMolecule(MoleculeListClass *List, molecule *filler, config &configuration, const double MaxDistance, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const bool DoRandomRotation); 52 void FindConvexBorder(const molecule* const mol, Tesselation *&TesselStruct, const LinkedCell *LCList, const char *filename);52 void FindConvexBorder(const molecule* const mol, Boundaries *BoundaryPts, Tesselation *&TesselStruct, const LinkedCell *LCList, const char *filename); 53 53 Vector* FindEmbeddingHole(MoleculeListClass *mols, molecule *srcmol); 54 54 void FindNextSuitablePoint(class BoundaryTriangleSet *BaseTriangle, class BoundaryLineSet *BaseLine, atom*& OptCandidate, Vector *OptCandidateCenter, double *ShortestAngle, const double RADIUS, LinkedCell *LC); -
src/builder.cpp
r5630bd r4e10f5 120 120 bool ArgumentsCopied = false; 121 121 std::string BondGraphFileName("\n"); 122 FormatParserStorage::getInstance().addMpqc();123 FormatParserStorage::getInstance().addPcp();124 FormatParserStorage::getInstance().addXyz();125 122 126 123 // print version check whether arguments are present at all -
src/linkedcell.cpp
r5630bd r4e10f5 188 188 N[i] = 0; 189 189 index = -1; 190 max.Zero();191 min.Zero();192 190 }; 193 191 … … 200 198 for(int i=0;i<NDIM;i++) 201 199 status = status && ((n[i] >=0) && (n[i] < N[i])); 202 if (!status)203 DoeLog(1) && (eLog()<< Verbose(1) << "indices are out of bounds!" << endl);200 // if (!status) 201 // DoeLog(1) && (eLog()<< Verbose(1) << "indices are out of bounds!" << endl); 204 202 return status; 205 203 }; … … 280 278 281 279 /** Calculates the interval bounds of the linked cell grid. 282 * \param *lower lower bounds283 * \param *upper upper bounds280 * \param lower lower bounds 281 * \param upper upper bounds 284 282 * \param step how deep to check the neighbouring cells (i.e. number of layers to check) 285 283 */ … … 287 285 { 288 286 for (int i=0;i<NDIM;i++) { 289 lower[i] = n[i]; 290 for (int s=step; s>0;--s) 291 if ((n[i]-s) >= 0) { 292 lower[i] = n[i]-s; 293 break; 294 } 295 upper[i] = n[i]; 296 for (int s=step; s>0;--s) 297 if ((n[i]+s) < N[i]) { 298 upper[i] = n[i]+s; 299 break; 300 } 287 lower[i] = n[i]-step; 288 if (lower[i] < 0) 289 lower[i] = 0; 290 if (lower[i] >= N[i]) 291 lower[i] = N[i]-1; 292 upper[i] = n[i]+step; 293 if (upper[i] >= N[i]) 294 upper[i] = N[i]-1; 295 if (upper[i] < 0) 296 upper[i] = 0; 301 297 //Log() << Verbose(0) << "axis " << i << " has bounds [" << lower[i] << "," << upper[i] << "]" << endl; 302 298 } -
src/molecule.hpp
r5630bd r4e10f5 420 420 421 421 bool AddLeaf(molecule *ptr, MoleculeLeafClass *Previous); 422 bool FillBondStructureFromReference(const molecule * const reference, int &FragmentCounter, atom ***&ListOfLocalAtoms, bool FreeList = false);422 bool FillBondStructureFromReference(const molecule * const reference, atom **&ListOfLocalAtoms, bool FreeList = false); 423 423 bool FillRootStackForSubgraphs(KeyStack *&RootStack, bool *AtomMask, int &FragmentCounter); 424 424 bool AssignKeySetsToFragment(molecule *reference, Graph *KeySetList, atom ***&ListOfLocalAtoms, Graph **&FragmentList, int &FragmentCounter, bool FreeList = false); 425 bool FillListOfLocalAtoms(atom ** *&ListOfLocalAtoms, const int FragmentCounter, const int GlobalAtomCount, bool &FreeList);425 bool FillListOfLocalAtoms(atom **&ListOfLocalAtoms, const int GlobalAtomCount, bool &FreeList); 426 426 void TranslateIndicesToGlobalIDs(Graph **FragmentList, int &FragmentCounter, int &TotalNumberOfKeySets, Graph &TotalGraph); 427 427 int Count() const; -
src/molecule_fragmentation.cpp
r5630bd r4e10f5 632 632 MinimumRingSize[i] = getAtomCount(); 633 633 MolecularWalker = Subgraphs; 634 const int LeafCount = Subgraphs->next->Count(); 634 635 FragmentCounter = 0; 635 636 while (MolecularWalker->next != NULL) { 636 637 MolecularWalker = MolecularWalker->next; 637 638 // fill the bond structure of the individually stored subgraphs 638 MolecularWalker->FillBondStructureFromReference(this, FragmentCounter, ListOfLocalAtoms, false); // we want to keep the created ListOfLocalAtoms 639 ListOfAtoms = NULL; 640 MolecularWalker->FillBondStructureFromReference(this, ListOfAtoms, false); // we want to keep the created ListOfLocalAtoms 639 641 DoLog(0) && (Log() << Verbose(0) << "Analysing the cycles of subgraph " << MolecularWalker->Leaf << " with nr. " << FragmentCounter << "." << endl); 640 642 LocalBackEdgeStack = new StackClass<bond *> (MolecularWalker->Leaf->BondCount); … … 647 649 // Log() << Verbose(0) << "\t" << ListOfLocalAtoms[FragmentCounter][i]->Name; 648 650 DoLog(0) && (Log() << Verbose(0) << "Gathering local back edges for subgraph " << MolecularWalker->Leaf << " with nr. " << FragmentCounter << "." << endl); 649 MolecularWalker->Leaf->PickLocalBackEdges(ListOf LocalAtoms[FragmentCounter++], BackEdgeStack, LocalBackEdgeStack);651 MolecularWalker->Leaf->PickLocalBackEdges(ListOfAtoms, BackEdgeStack, LocalBackEdgeStack); 650 652 DoLog(0) && (Log() << Verbose(0) << "Analysing the cycles of subgraph " << MolecularWalker->Leaf << " with nr. " << FragmentCounter << "." << endl); 651 653 MolecularWalker->Leaf->CyclicStructureAnalysis(LocalBackEdgeStack, MinimumRingSize); 652 654 DoLog(0) && (Log() << Verbose(0) << "Done with Analysing the cycles of subgraph " << MolecularWalker->Leaf << " with nr. " << FragmentCounter << "." << endl); 653 655 delete(LocalBackEdgeStack); 656 delete(ListOfAtoms); 657 FragmentCounter++; 654 658 } 655 659 delete(BackEdgeStack); … … 663 667 // =================================== Begin of FRAGMENTATION =============================== 664 668 // ===== 6a. assign each keyset to its respective subgraph ===== 665 Subgraphs->next->AssignKeySetsToFragment(this, ParsedFragmentList, ListOfLocalAtoms, FragmentList, (FragmentCounter = 0), true); 669 ListOfLocalAtoms = new atom **[LeafCount]; 670 for (int i=0;i<LeafCount;i++) 671 ListOfLocalAtoms[i] = NULL; 672 FragmentCounter = 0; 673 Subgraphs->next->AssignKeySetsToFragment(this, ParsedFragmentList, ListOfLocalAtoms, FragmentList, FragmentCounter, true); 674 delete[](ListOfLocalAtoms); 666 675 667 676 // ===== 6b. prepare and go into the adaptive (Order<0), single-step (Order==0) or incremental (Order>0) cycle … … 698 707 delete(ParsedFragmentList); 699 708 delete[](MinimumRingSize); 700 701 709 702 710 // ==================================== End of FRAGMENTATION ============================================ -
src/molecule_geometry.cpp
r5630bd r4e10f5 125 125 Center += (*iter)->x; 126 126 } 127 Center.Scale(-1./ Num); // divide through total number (and sign for direction)127 Center.Scale(-1./(double)Num); // divide through total number (and sign for direction) 128 128 Translate(&Center); 129 129 Center.Zero(); … … 147 147 (*a) += (*iter)->x; 148 148 } 149 a->Scale(1./ Num); // divide through total mass (and sign for direction)149 a->Scale(1./(double)Num); // divide through total mass (and sign for direction) 150 150 } 151 151 return a; … … 182 182 (*a) += tmp; 183 183 } 184 a->Scale(1./Num); // divide through total mass (and sign for direction)184 a->Scale(1./Num); // divide through total mass 185 185 } 186 186 // Log() << Verbose(1) << "Resulting center of gravity: "; -
src/molecule_graph.cpp
r5630bd r4e10f5 670 670 BFS.ColorList = new enum Shading[AtomCount]; 671 671 BFS.BFSStack = new StackClass<atom *> (AtomCount); 672 BFS.TouchedStack = new StackClass<atom *> (AtomCount); 672 673 673 674 for (int i = AtomCount; i--;) { 674 675 BFS.ShortestPathList[i] = -1; 675 676 BFS.PredecessorList[i] = 0; 677 BFS.ColorList[i] = white; 676 678 } 677 679 }; … … 687 689 delete[](BFS.ColorList); 688 690 delete (BFS.BFSStack); 691 delete (BFS.TouchedStack); 689 692 BFS.AtomCount = 0; 690 693 }; … … 831 834 MinRingSize = RingSize; 832 835 } else { 833 DoLog(1) && (Log() << Verbose(1) << "No ring containing " << *BFS.Root << " with length equal to or smaller than " << MinimumRingSize[ Walker->GetTrueFather()->nr] << " found." << endl);836 DoLog(1) && (Log() << Verbose(1) << "No ring containing " << *BFS.Root << " with length equal to or smaller than " << MinimumRingSize[BFS.Root->GetTrueFather()->nr] << " found." << endl); 834 837 } 835 838 }; -
src/moleculelist.cpp
r5630bd r4e10f5 1020 1020 * \param *out output stream for debugging 1021 1021 * \param *reference reference molecule with the bond structure to be copied 1022 * \param &FragmentCounter Counter needed to address \a **ListOfLocalAtoms 1023 * \param ***ListOfLocalAtoms Lookup table for each subgraph and index of each atom in \a *reference, may be NULL on start, then it is filled 1022 * \param **&ListOfLocalAtoms Lookup table for this subgraph and index of each atom in \a *reference, may be NULL on start, then it is filled 1024 1023 * \param FreeList true - ***ListOfLocalAtoms is free'd before return, false - it is not 1025 1024 * \return true - success, false - faoilure 1026 1025 */ 1027 bool MoleculeLeafClass::FillBondStructureFromReference(const molecule * const reference, int &FragmentCounter, atom ***&ListOfLocalAtoms, bool FreeList)1026 bool MoleculeLeafClass::FillBondStructureFromReference(const molecule * const reference, atom **&ListOfLocalAtoms, bool FreeList) 1028 1027 { 1029 1028 atom *OtherWalker = NULL; … … 1034 1033 DoLog(1) && (Log() << Verbose(1) << "Begin of FillBondStructureFromReference." << endl); 1035 1034 // fill ListOfLocalAtoms if NULL was given 1036 if (!FillListOfLocalAtoms(ListOfLocalAtoms, FragmentCounter,reference->getAtomCount(), FreeList)) {1035 if (!FillListOfLocalAtoms(ListOfLocalAtoms, reference->getAtomCount(), FreeList)) { 1037 1036 DoLog(1) && (Log() << Verbose(1) << "Filling of ListOfLocalAtoms failed." << endl); 1038 1037 return false; … … 1051 1050 AtomNo = Father->nr; // global id of the current walker 1052 1051 for (BondList::const_iterator Runner = Father->ListOfBonds.begin(); Runner != Father->ListOfBonds.end(); (++Runner)) { 1053 OtherWalker = ListOfLocalAtoms[ FragmentCounter][(*Runner)->GetOtherAtom((*iter)->GetTrueFather())->nr]; // local copy of current bond partner of walker1052 OtherWalker = ListOfLocalAtoms[(*Runner)->GetOtherAtom((*iter)->GetTrueFather())->nr]; // local copy of current bond partner of walker 1054 1053 if (OtherWalker != NULL) { 1055 1054 if (OtherWalker->nr > (*iter)->nr) 1056 1055 Leaf->AddBond((*iter), OtherWalker, (*Runner)->BondDegree); 1057 1056 } else { 1058 DoLog(1) && (Log() << Verbose(1) << "OtherWalker = ListOfLocalAtoms[" << FragmentCounter << "][" <<(*Runner)->GetOtherAtom((*iter)->GetTrueFather())->nr << "] is NULL!" << endl);1057 DoLog(1) && (Log() << Verbose(1) << "OtherWalker = ListOfLocalAtoms[" << (*Runner)->GetOtherAtom((*iter)->GetTrueFather())->nr << "] is NULL!" << endl); 1059 1058 status = false; 1060 1059 } … … 1065 1064 if ((FreeList) && (ListOfLocalAtoms != NULL)) { 1066 1065 // free the index lookup list 1067 delete[](ListOfLocalAtoms[FragmentCounter]); 1068 if (FragmentCounter == 0) // first fragments frees the initial pointer to list 1069 delete[](ListOfLocalAtoms); 1066 delete[](ListOfLocalAtoms); 1070 1067 } 1071 1068 DoLog(1) && (Log() << Verbose(1) << "End of FillBondStructureFromReference." << endl); … … 1113 1110 /** Fills a lookup list of father's Atom::nr -> atom for each subgraph. 1114 1111 * \param *out output stream from debugging 1115 * \param ***ListOfLocalAtoms Lookup table for each subgraph and index of each atom in global molecule, may be NULL on start, then it is filled 1116 * \param FragmentCounter counts the fragments as we move along the list 1112 * \param **&ListOfLocalAtoms Lookup table for each subgraph and index of each atom in global molecule, may be NULL on start, then it is filled 1117 1113 * \param GlobalAtomCount number of atoms in the complete molecule 1118 1114 * \param &FreeList true - ***ListOfLocalAtoms is free'd before return, false - it is not 1119 * \return true - success, false - failure 1120 */ 1121 bool MoleculeLeafClass::FillListOfLocalAtoms(atom ** *&ListOfLocalAtoms, const int FragmentCounter, const int GlobalAtomCount, bool &FreeList)1115 * \return true - success, false - failure (ListOfLocalAtoms != NULL) 1116 */ 1117 bool MoleculeLeafClass::FillListOfLocalAtoms(atom **&ListOfLocalAtoms, const int GlobalAtomCount, bool &FreeList) 1122 1118 { 1123 1119 bool status = true; 1124 1120 1125 if (ListOfLocalAtoms == NULL) { // allocated initial pointer 1126 // allocate and set each field to NULL 1127 const int Counter = Count(); 1128 ASSERT(FragmentCounter < Counter, "FillListOfLocalAtoms: FragmenCounter greater than present fragments."); 1129 ListOfLocalAtoms = new atom**[Counter]; 1130 if (ListOfLocalAtoms == NULL) { 1131 FreeList = FreeList && false; 1132 status = false; 1133 } 1134 for (int i=0;i<Counter;i++) 1135 ListOfLocalAtoms[i] = NULL; 1136 } 1137 1138 if ((ListOfLocalAtoms != NULL) && (ListOfLocalAtoms[FragmentCounter] == NULL)) { // allocate and fill list of this fragment/subgraph 1139 status = status && Leaf->CreateFatherLookupTable(ListOfLocalAtoms[FragmentCounter], GlobalAtomCount); 1121 if (ListOfLocalAtoms == NULL) { // allocate and fill list of this fragment/subgraph 1122 status = status && Leaf->CreateFatherLookupTable(ListOfLocalAtoms, GlobalAtomCount); 1140 1123 FreeList = FreeList && true; 1141 } 1124 } else 1125 return false; 1142 1126 1143 1127 return status; … … 1161 1145 DoLog(1) && (Log() << Verbose(1) << "Begin of AssignKeySetsToFragment." << endl); 1162 1146 // fill ListOfLocalAtoms if NULL was given 1163 if (!FillListOfLocalAtoms(ListOfLocalAtoms , FragmentCounter, reference->getAtomCount(), FreeList)) {1147 if (!FillListOfLocalAtoms(ListOfLocalAtoms[FragmentCounter], reference->getAtomCount(), FreeList)) { 1164 1148 DoLog(1) && (Log() << Verbose(1) << "Filling of ListOfLocalAtoms failed." << endl); 1165 1149 return false; … … 1206 1190 // free the index lookup list 1207 1191 delete[](ListOfLocalAtoms[FragmentCounter]); 1208 if (FragmentCounter == 0) // first fragments frees the initial pointer to list1209 delete[](ListOfLocalAtoms);1210 1192 } 1211 1193 DoLog(1) && (Log() << Verbose(1) << "End of AssignKeySetsToFragment." << endl); -
src/tesselation.cpp
r5630bd r4e10f5 1649 1649 bool AddFlag = false; 1650 1650 LinkedCell *BoundaryPoints = NULL; 1651 bool SuccessFlag = true; 1651 1652 1652 1653 cloud->GoToFirst(); … … 1662 1663 // get the next triangle 1663 1664 triangles = FindClosestTrianglesToVector(Walker->node, BoundaryPoints); 1664 BTS = triangles->front(); 1665 if ((triangles == NULL) || (BTS->ContainsBoundaryPoint(Walker))) { 1665 if (triangles != NULL) 1666 BTS = triangles->front(); 1667 else 1668 BTS = NULL; 1669 delete triangles; 1670 if ((BTS == NULL) || (BTS->ContainsBoundaryPoint(Walker))) { 1666 1671 DoLog(0) && (Log() << Verbose(0) << "No triangles found, probably a tesselation point itself." << endl); 1667 1672 cloud->GoToNext(); … … 1733 1738 } else { // something is wrong with FindClosestTriangleToPoint! 1734 1739 DoeLog(1) && (eLog() << Verbose(1) << "The closest triangle did not produce an intersection!" << endl); 1735 return false; 1740 SuccessFlag = false; 1741 break; 1736 1742 } 1737 1743 cloud->GoToNext(); … … 1740 1746 // exit 1741 1747 delete (Center); 1742 return true; 1748 delete (BoundaryPoints); 1749 return SuccessFlag; 1743 1750 } 1744 1751 ; … … 2243 2250 for (int i = 0; i < NDIM; i++) { // each axis 2244 2251 LC->n[i] = LC->N[i] - 1; // current axis is topmost cell 2245 for (LC->n[(i + 1) % NDIM] = 0; LC->n[(i + 1) % NDIM] < LC->N[(i + 1) % NDIM]; LC->n[(i + 1) % NDIM]++) 2246 for (LC->n[(i + 2) % NDIM] = 0; LC->n[(i + 2) % NDIM] < LC->N[(i + 2) % NDIM]; LC->n[(i + 2) % NDIM]++) { 2252 const int map[NDIM] = {i, (i + 1) % NDIM, (i + 2) % NDIM}; 2253 for (LC->n[map[1]] = 0; LC->n[map[1]] < LC->N[map[1]]; LC->n[map[1]]++) 2254 for (LC->n[map[2]] = 0; LC->n[map[2]] < LC->N[map[2]]; LC->n[map[2]]++) { 2247 2255 const LinkedCell::LinkedNodes *List = LC->GetCurrentCell(); 2248 2256 //Log() << Verbose(1) << "Current cell is " << LC->n[0] << ", " << LC->n[1] << ", " << LC->n[2] << " with No. " << LC->index << "." << endl; 2249 2257 if (List != NULL) { 2250 2258 for (LinkedCell::LinkedNodes::const_iterator Runner = List->begin(); Runner != List->end(); Runner++) { 2251 if ((*Runner)->node->at( i) > maxCoordinate[i]) {2252 DoLog(1) && (Log() << Verbose(1) << "New maximal for axis " << i<< " node is " << *(*Runner) << " at " << *(*Runner)->node << "." << endl);2253 maxCoordinate[ i] = (*Runner)->node->at(i);2254 MaxPoint[ i] = (*Runner);2259 if ((*Runner)->node->at(map[0]) > maxCoordinate[map[0]]) { 2260 DoLog(1) && (Log() << Verbose(1) << "New maximal for axis " << map[0] << " node is " << *(*Runner) << " at " << *(*Runner)->node << "." << endl); 2261 maxCoordinate[map[0]] = (*Runner)->node->at(map[0]); 2262 MaxPoint[map[0]] = (*Runner); 2255 2263 } 2256 2264 } -
src/tesselationhelpers.cpp
r5630bd r4e10f5 425 425 } 426 426 } else { 427 eLog() << Verbose(1) << "The current cell " << LC->n[0] << "," << LC->n[1] << "," 428 << LC->n[2] << " is invalid!" << endl; 427 DoeLog(1) && (eLog() << Verbose(1) << "The current cell " << LC->n[0] << "," << LC->n[1] << "," << LC->n[2] << " is invalid!" << endl); 429 428 } 430 429 } … … 481 480 } 482 481 } else { 483 eLog() << Verbose(1) << "The current cell " << LC->n[0] << "," << LC->n[1] << "," 484 << LC->n[2] << " is invalid!" << endl; 482 DoeLog(1) && (eLog() << Verbose(1) << "The current cell " << LC->n[0] << "," << LC->n[1] << "," << LC->n[2] << " is invalid!" << endl); 485 483 } 486 484 } -
src/triangleintersectionlist.cpp
r5630bd r4e10f5 10 10 11 11 #include "Helpers/MemDebug.hpp" 12 13 #include <boost/scoped_ptr.hpp> 12 14 13 15 #include "triangleintersectionlist.hpp" … … 119 121 120 122 // get closest points 121 DistanceToPointMap * points = Tess->FindClosestBoundaryPointsToVector(Point,Vicinity);123 boost::scoped_ptr< DistanceToPointMap > points(Tess->FindClosestBoundaryPointsToVector(Point,Vicinity)); 122 124 if (points == NULL) { 123 125 DoeLog(1) && (eLog()<< Verbose(1) << "There is no nearest point: too far away from the surface." << endl); -
tests/Tesselations/defs.in
r5630bd r4e10f5 61 61 #cat stderr 62 62 #cat stdout 63 grep -E "^[0-9]* [0-9]* [0-9]*$" ../../ ../../../molecuilder/tests/Tesselations/$mol/$2/${FILENAME}-$mol.dat | sort -n >reference-triangles.dat63 grep -E "^[0-9]* [0-9]* [0-9]*$" ../../@srcdir@/$mol/$2/${FILENAME}-$mol.dat | sort -n >reference-triangles.dat 64 64 grep -E "^[0-9]* [0-9]* [0-9]*$" ${FILENAME}.dat | sort -n >new-triangles.dat 65 65 diff reference-triangles.dat new-triangles.dat 2>diffstderr >diffstdout || exitcode=$? -
tests/regression/testsuite-analysis.at
r5630bd r4e10f5 4 4 AT_KEYWORDS([analysis]) 5 5 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/1/pre/test.conf .], 0) 6 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-end 20], 0, [stdout], [stderr])6 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-end 20], 0, [stdout], [stderr]) 7 7 AT_CHECK([fgrep "Begin of PairCorrelation" stdout], 0, [ignore], [ignore]) 8 8 #AT_CHECK([file=output.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/1/post/$file], 0, [ignore], [ignore]) … … 14 14 AT_KEYWORDS([analysis]) 15 15 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/2/pre/test.conf .], 0) 16 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output-5.csv --bin-output-file bin_output-5.csv --bin-start 0 --bin-end 5], 0, [stdout], [stderr])16 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output-5.csv --bin-output-file bin_output-5.csv --bin-start 0 --bin-end 5], 0, [stdout], [stderr]) 17 17 #AT_CHECK([file=output-5.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/2/post/$file], 0, [ignore], [ignore]) 18 18 AT_CHECK([file=bin_output-5.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/2/post/$file], 0, [ignore], [ignore]) 19 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output-10.csv --bin-output-file bin_output-10.csv --bin-start 5 --bin-end 10], 0, [stdout], [stderr])19 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output-10.csv --bin-output-file bin_output-10.csv --bin-start 5 --bin-end 10], 0, [stdout], [stderr]) 20 20 #AT_CHECK([file=output-10.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/2/post/$file], 0, [ignore], [ignore]) 21 21 AT_CHECK([file=bin_output-10.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/2/post/$file], 0, [ignore], [ignore]) 22 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output-20.csv --bin-output-file bin_output-20.csv --bin-start 10 --bin-end 20], 0, [stdout], [stderr])22 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -C E --elements 1 8 --output-file output-20.csv --bin-output-file bin_output-20.csv --bin-start 10 --bin-end 20], 0, [stdout], [stderr]) 23 23 #AT_CHECK([file=output-20.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/2/post/$file], 0, [ignore], [ignore]) 24 24 AT_CHECK([file=bin_output-20.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/2/post/$file], 0, [ignore], [ignore]) … … 29 29 AT_KEYWORDS([analysis]) 30 30 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/3/pre/test.conf .], 0) 31 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 7 -C P --elements 1 --position 10. 10. 10.--output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-end 20], 0, [stdout], [stderr])31 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 7 -C P --elements 1 --position "10., 10., 10." --output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-end 20], 0, [stdout], [stderr]) 32 32 AT_CHECK([fgrep "Begin of CorrelationToPoint" stdout], 0, [ignore], [ignore]) 33 33 #AT_CHECK([file=output.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/3/post/$file], 0, [ignore], [ignore]) … … 39 39 AT_KEYWORDS([analysis]) 40 40 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/4/pre/test.conf .], 0) 41 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -I -C S --elements 1 --output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-width 1. --bin-end 20 --molecule-by-id 208], 0, [stdout], [stderr])41 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -I -C S --elements 1 --output-file output.csv --bin-output-file bin_output.csv --bin-start 0 --bin-width 1. --bin-end 20 --molecule-by-id 208], 0, [stdout], [stderr]) 42 42 AT_CHECK([fgrep "Begin of CorrelationToSurface" stdout], 0, [ignore], [ignore]) 43 43 #AT_CHECK([file=output.csv; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/4/post/$file], 0, [ignore], [ignore]) … … 49 49 #AT_KEYWORDS([analysis]) 50 50 #AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Analysis/5/pre/test.conf .], 0) 51 #AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -m 0], 0, [stdout], [stderr])51 #AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -m 0], 0, [stdout], [stderr]) 52 52 #AT_CHECK([fgrep "eigenvalue = 4382.53," stdout], 0, [ignore], [ignore]) 53 53 #AT_CHECK([fgrep "eigenvalue = 4369.24," stdout], 0, [ignore], [ignore]) -
tests/regression/testsuite-domain.at
r5630bd r4e10f5 3 3 AT_SETUP([Domain - defining simulation domain]) 4 4 AT_KEYWORDS([domain]) 5 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -B 10 0 10 0 0 10], 0, [stdout], [stderr])5 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o pcp -B "10, 0, 10, 0, 0, 10"], 0, [stdout], [stderr]) 6 6 AT_CHECK([fgrep "BoxLength" test.conf], 0, [stdout], [stderr]) 7 7 AT_CHECK([diff test.conf ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/1/post/test.conf], 0, [stdout], [stderr]) … … 12 12 AT_KEYWORDS([domain]) 13 13 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/2/pre/test.conf .], 0) 14 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -b 15 0 15 0 0 15], 0, [stdout], [stderr])14 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -b "15, 0, 15, 0, 0, 15"], 0, [stdout], [stderr]) 15 15 AT_CHECK([diff test.conf ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/2/post/test.conf], 0, [stdout], [stderr]) 16 16 AT_CLEANUP … … 20 20 AT_KEYWORDS([domain]) 21 21 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/3/pre/test.conf .], 0) 22 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -c 5 10 15], 0, [stdout], [stderr])22 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -c "5, 10, 15"], 0, [stdout], [stderr]) 23 23 AT_CHECK([diff test.conf ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/3/post/test.conf], 0, [stdout], [stderr]) 24 24 AT_CLEANUP … … 28 28 AT_KEYWORDS([domain]) 29 29 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/4/pre/test.conf .], 0) 30 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -O], 0, [stdout], [stderr])30 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -O], 0, [stdout], [stderr]) 31 31 AT_CHECK([diff test.conf ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/4/post/test.conf], 0, [stdout], [stderr]) 32 32 AT_CLEANUP … … 36 36 AT_KEYWORDS([domain]) 37 37 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/5/pre/test.conf .], 0) 38 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -s 0.5 1. 0.9], 0, [stdout], [stderr])38 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -s "0.5, 1., 0.9"], 0, [stdout], [stderr]) 39 39 AT_CHECK([diff test.conf ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/5/post/test.conf], 0, [stdout], [stderr]) 40 40 AT_CLEANUP … … 44 44 AT_KEYWORDS([domain]) 45 45 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf .], 0) 46 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -d 1 1 1], 0, [stdout], [stderr])46 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o xyz -d "1, 1, 1"], 0, [stdout], [stderr]) 47 47 AT_CHECK([file=test.conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 48 48 AT_CHECK([file=test.conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) 49 49 AT_CHECK([file=test.conf.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore]) 50 50 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-x.conf], 0) 51 AT_CHECK([../../molecuilder test-x.conf -e ${abs_top_srcdir}/src/ -d 2 1 1], 0, [stdout], [stderr])51 AT_CHECK([../../molecuilder -i test-x.conf -e ${abs_top_srcdir}/src/ -o xyz -d "2, 1, 1"], 0, [stdout], [stderr]) 52 52 AT_CHECK([file=test-x.conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 53 53 AT_CHECK([file=test-x.conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) 54 54 AT_CHECK([file=test-x.conf.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore]) 55 55 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-y.conf], 0) 56 AT_CHECK([../../molecuilder test-y.conf -e ${abs_top_srcdir}/src/ -d 1 2 1], 0, [stdout], [stderr])56 AT_CHECK([../../molecuilder -i test-y.conf -e ${abs_top_srcdir}/src/ -o xyz -d "1, 2, 1"], 0, [stdout], [stderr]) 57 57 AT_CHECK([file=test-y.conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 58 58 AT_CHECK([file=test-y.conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) 59 59 AT_CHECK([file=test-y.conf.xyz; diff $file-sorted $file-sorted2], 0, [ignore], [ignore]) 60 60 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/pre/test.conf test-z.conf], 0) 61 AT_CHECK([../../molecuilder test-z.conf -e ${abs_top_srcdir}/src/ -d 1 1 2], 0, [stdout], [stderr])61 AT_CHECK([../../molecuilder -i test-z.conf -e ${abs_top_srcdir}/src/ -o xyz -d "1, 1, 2"], 0, [stdout], [stderr]) 62 62 AT_CHECK([file=test-z.conf.xyz;sort -n $file | grep -v "Created by" >$file-sorted], 0, [ignore], [ignore]) 63 63 AT_CHECK([file=test-z.conf.xyz;sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Domain/6/post/$file | grep -v "Created by" >$file-sorted2], 0, [ignore], [ignore]) -
tests/regression/testsuite-filling.at
r5630bd r4e10f5 10 10 H 0.758602 0. -0.504284 11 11 ]]) 12 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -F water.xyz --MaxDistance -1 --distances 3.1 3.1 3.1 --lengths 2.1 0. 0.--DoRotate 0], 0, [stdout], [stderr])12 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -F water.xyz --MaxDistance -1 --distances "3.1, 3.1, 3.1" --lengths "2.1, 0., 0." --DoRotate 0], 0, [stdout], [stderr]) 13 13 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Filling/1/post/$file], 0, [ignore], [ignore]) 14 14 AT_CLEANUP … … 18 18 AT_KEYWORDS([filling]) 19 19 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Filling/2/pre/test.conf .], 0) 20 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -u 1.3 --molecule-by-id 0], 0, [stdout], [stderr])20 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -u 1.3 --molecule-by-id 0], 0, [stdout], [stderr]) 21 21 #AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Filling/2/post/$file], 0, [ignore], [ignore]) 22 22 AT_CLEANUP -
tests/regression/testsuite-fragmentation.at
r5630bd r4e10f5 12 12 AT_SETUP([Fragmentation - Fragmentation]) 13 13 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Fragmentation/2/pre/test.conf .], 0) 14 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 1 -f ./BondFragment --molecule-by-id 0 --distance 1.55 --order 2], 0, [ignore], [ignore])14 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 1 -f ./BondFragment --molecule-by-id 0 --distance 1.55 --order 2], 0, [ignore], [ignore]) 15 15 AT_CHECK([ls -l BondFragment*.conf | wc -l], 0, [5 16 16 ], [ignore]) … … 21 21 AT_SETUP([Fragmentation - BROKEN: Fragmentation is at MaxOrder]) 22 22 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Fragmentation/3/pre/test.conf .], 0) 23 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 1 -f ./BondFragment --molecule-by-id 0 --distance 1.55 --order 2], 0, [ignore], [ignore])24 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 1 -f ./BondFragment --molecule-by-id 0 --distance 1.55 --order 2], [ignore], [ignore], [ignore])23 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 1 -f ./BondFragment --molecule-by-id 0 --distance 1.55 --order 2], 0, [ignore], [ignore]) 24 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 1 -f ./BondFragment --molecule-by-id 0 --distance 1.55 --order 2], [ignore], [ignore], [ignore]) 25 25 AT_CLEANUP -
tests/regression/testsuite-graph.at
r5630bd r4e10f5 4 4 AT_KEYWORDS([graph]) 5 5 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Graph/1/pre/test.conf .], 0) 6 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -D 2.], 0, [stdout], [stderr])6 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -D 2.], 0, [stdout], [stderr]) 7 7 AT_CHECK([fgrep -c "No rings were detected in the molecular structure." stdout], 0, [1 8 8 ], [ignore]) … … 12 12 AT_KEYWORDS([graph]) 13 13 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Graph/2/pre/test.conf .], 0) 14 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 3 -I], 0, [stdout], [stderr])14 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 3 -I], 0, [stdout], [stderr]) 15 15 AT_CHECK([fgrep "I scanned 31 molecules." stdout], 0, [ignore], [ignore]) 16 16 AT_CLEANUP -
tests/regression/testsuite-molecules.at
r5630bd r4e10f5 4 4 AT_KEYWORDS([Molecules]) 5 5 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/1/pre/test.* .], 0) 6 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 4 -A test.dbond --molecule-by-id 0], 0, [stdout], [stderr])6 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 4 -A test.dbond --molecule-by-id 0], 0, [stdout], [stderr]) 7 7 AT_CHECK([fgrep "Looking for atoms 2 and 9." stdout], 0, [ignore], [ignore]) 8 8 AT_CLEANUP … … 12 12 AT_KEYWORDS([Molecules]) 13 13 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/2/pre/test.conf .], 0) 14 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 1 -j test.dbond --molecule-by-id 0], 0, [stdout], [stderr])14 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 1 -j test.dbond --molecule-by-id 0], 0, [stdout], [stderr]) 15 15 AT_CHECK([file=test.dbond; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/2/post/$file], 0, [ignore], [ignore]) 16 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -v 1 -J test.adj --molecule-by-id 0], 0, [stdout], [stderr])16 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -v 1 -J test.adj --molecule-by-id 0], 0, [stdout], [stderr]) 17 17 AT_CHECK([file=test.adj; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/2/post/$file], 0, [ignore], [ignore]) 18 18 AT_CLEANUP … … 22 22 AT_KEYWORDS([Molecules]) 23 23 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/3/pre/test.conf .], 0) 24 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -S test.ekin --molecule-by-id 0], 0, [stdout], [stderr])24 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -S test.ekin --molecule-by-id 0], 0, [stdout], [stderr]) 25 25 AT_CHECK([file=test.ekin; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/3/post/$file], 0, [ignore], [ignore]) 26 26 AT_CLEANUP … … 30 30 AT_KEYWORDS([Molecules]) 31 31 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/4/pre/test.conf .], 0) 32 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -L teststep --start-step 0 --end-step 1 --molecule-by-id 0 --id-mapping 1], 0, [stdout], [stderr])32 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -L teststep --start-step 0 --end-step 1 --molecule-by-id 0 --id-mapping 1], 0, [stdout], [stderr]) 33 33 AT_CLEANUP 34 34 … … 37 37 AT_KEYWORDS([Molecules]) 38 38 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/5/pre/test.* .], 0) 39 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -P test.forces --molecule-by-id 0], 0, [stdout], [stderr])39 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -P test.forces --molecule-by-id 0], 0, [stdout], [stderr]) 40 40 #AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/5/post/$file], 0, [ignore], [ignore]) 41 41 AT_CLEANUP … … 45 45 AT_KEYWORDS([Molecules]) 46 46 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/6/pre/test.* .], 0) 47 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -t 1. 1. 1.--molecule-by-id 0 --periodic 0], 0, [stdout], [stderr])47 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -t "1., 1., 1." --molecule-by-id 0 --periodic 0], 0, [stdout], [stderr]) 48 48 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/6/post/$file], 0, [ignore], [ignore]) 49 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/6/pre/test2.* .], 0) 50 AT_CHECK([../../molecuilder -i test2.conf -e ${abs_top_srcdir}/src/ -t "-1., -1., -1." --molecule-by-id 0 --periodic 0], 0, [stdout], [stderr]) 51 AT_CHECK([file=test2.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/6/post/$file], 0, [ignore], [ignore]) 49 52 AT_CLEANUP 50 53 … … 53 56 AT_KEYWORDS([Molecules]) 54 57 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/7/pre/test.* .], 0) 55 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -t 12. 12. 12.--molecule-by-id 0 --periodic 1], 0, [stdout], [stderr])58 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -t "12., 12., 12." --molecule-by-id 0 --periodic 1], 0, [stdout], [stderr]) 56 59 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/7/post/$file], 0, [ignore], [ignore]) 57 60 AT_CLEANUP … … 61 64 AT_KEYWORDS([Molecules]) 62 65 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/8/pre/test.* .], 0) 63 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -m 0], 0, [stdout], [stderr])66 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -m 0], 0, [stdout], [stderr]) 64 67 #AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Molecules/8/post/$file], 0, [ignore], [ignore]) 65 68 AT_CLEANUP -
tests/regression/testsuite-simple_configuration.at
r5630bd r4e10f5 14 14 AT_KEYWORDS([configuration]) 15 15 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/2/pre/test.xyz .], 0) 16 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/-p test.xyz], 0, [ignore], [ignore])16 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -p test.xyz], 0, [ignore], [ignore]) 17 17 AT_CHECK([fgrep "Ion_Type1_1" test.conf], 0, [Ion_Type1_1 10.000000000 10.000000000 10.000000000 0 # molecule nr 0 18 18 ], [ignore]) … … 22 22 AT_CLEANUP 23 23 24 # 3 . add atom24 # 3a. add atom 25 25 AT_SETUP([Simple configuration - adding atom]) 26 26 AT_KEYWORDS([configuration]) 27 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -a 1 --position 10. 10. 10.], 0, [ignore], [ignore])27 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -a 1 --position "10., 10., 10."], 0, [ignore], [ignore]) 28 28 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 29 29 AT_CHECK([file=test.conf.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 30 30 AT_CHECK([file=test.conf.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 31 AT_CHECK([../../molecuilder -i test2.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -a 1 --position "0., 0., -1."], 0, [ignore], [ignore]) 32 AT_CHECK([file=test2.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 33 AT_CHECK([file=test2.conf.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 34 AT_CHECK([file=test2.conf.xyz; diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/3/post/$file], 0, [ignore], [ignore]) 31 35 AT_CLEANUP 32 36 … … 35 39 AT_KEYWORDS([configuration]) 36 40 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/pre/test.conf test.conf], 0) 37 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -E 0 --element 6], 0, [ignore], [ignore])41 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -E 0 --element 6], 0, [ignore], [ignore]) 38 42 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/4/post/$file], 0, [ignore], [ignore]) 39 43 AT_CLEANUP … … 43 47 AT_KEYWORDS([configuration]) 44 48 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/pre/test.conf .], 0) 45 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/-r 0], 0, [ignore], [ignore])49 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o mpqc pcp xyz -r 0], 0, [ignore], [ignore]) 46 50 AT_CHECK([file=test.conf; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore]) 47 51 AT_CHECK([file=test.conf.in; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/5/post/$file], 0, [ignore], [ignore]) … … 52 56 AT_SETUP([Simple configuration - invalid commands on empty configs]) 53 57 AT_KEYWORDS([configuration]) 54 AT_CHECK([../../molecuilder empty.conf -e ${abs_top_srcdir}/src/ -t -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])58 AT_CHECK([../../molecuilder -i empty.conf -e ${abs_top_srcdir}/src/ -t -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr]) 55 59 AT_CLEANUP 56 60 … … 59 63 AT_KEYWORDS([configuration]) 60 64 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/7/pre/test.conf .], 0) 61 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -t], 134, [ignore], [stderr])62 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])63 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -b -E -c -b -a -U -T -u], 134, [ignore], [stderr])64 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -E -c -b -a -U -T -u], 134, [ignore], [stderr])65 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -c -b -a -U -T -u], 134, [ignore], [stderr])66 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -b -a -U -T -u], 134, [ignore], [stderr])67 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -a -U -T -u], 134, [ignore], [stderr])68 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -U -T -u], 134, [ignore], [stderr])69 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -T -u], 134, [ignore], [stderr])70 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -u], 134, [ignore], [stderr])65 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -t], 134, [ignore], [stderr]) 66 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -s -b -E -c -b -a -U -T -u], 134, [ignore], [stderr]) 67 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -b -E -c -b -a -U -T -u], 134, [ignore], [stderr]) 68 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -E -c -b -a -U -T -u], 134, [ignore], [stderr]) 69 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -c -b -a -U -T -u], 134, [ignore], [stderr]) 70 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -b -a -U -T -u], 134, [ignore], [stderr]) 71 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -a -U -T -u], 134, [ignore], [stderr]) 72 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -U -T -u], 134, [ignore], [stderr]) 73 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -T -u], 134, [ignore], [stderr]) 74 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -u], 134, [ignore], [stderr]) 71 75 AT_CLEANUP 72 76 … … 75 79 AT_KEYWORDS([configuration]) 76 80 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/pre/test.* .], 0) 77 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -R 7. --position 7.283585982 3.275186040 3.535886037], 0, [stdout], [stderr])81 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -o xyz -R 7. --position "7.283585982, 3.275186040, 3.535886037"], 0, [stdout], [stderr]) 78 82 AT_CHECK([sort -n test.conf.xyz | grep -v "Created by" >test.conf.xyz-sorted], 0, [ignore], [ignore]) 79 83 AT_CHECK([sort -n ${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/test.conf.xyz | grep -v "Created by" >${abs_top_srcdir}/${AUTOTEST_PATH}/Simple_configuration/8/post/test.conf.xyz-sorted], 0, [ignore], [ignore]) -
tests/regression/testsuite-specifics.at
r5630bd r4e10f5 4 4 AT_KEYWORDS([options]) 5 5 AT_CHECK([pwd],[ignore],[ignore]) 6 AT_CHECK([../../molecuilder test.conf -v 1 -M test], 0, [stdout], [ignore])6 AT_CHECK([../../molecuilder -i test.conf -v 1 -M test], 0, [stdout], [ignore]) 7 7 AT_CHECK([fgrep "Setting MPQC basis to test." stdout], 0, [ignore], [ignore]) 8 8 AT_CLEANUP -
tests/regression/testsuite-standard_options.at
r5630bd r4e10f5 29 29 Helium He 1 18 p 2 4.003 1.5 1.4 30 30 ]]) 31 AT_CHECK([../../molecuilder test.conf -e ./], 0, [stdout], [stderr])31 AT_CHECK([../../molecuilder -i test.conf -e ./], 0, [stdout], [stderr]) 32 32 AT_CHECK([grep -E "Using.*as elements database." stdout], 0, [ignore], [ignore]) 33 33 AT_CHECK([fgrep "Element list loaded successfully." stdout], 0, [ignore], [ignore]) … … 43 43 2 0. 0. 44 44 ]]) 45 AT_CHECK([../../molecuilder test.conf -g bondlength.db], 0, [stdout], [stderr])45 AT_CHECK([../../molecuilder -i test.conf -g bondlength.db], 0, [stdout], [stderr]) 46 46 AT_CHECK([grep -E "Using.*as bond length table." stdout], 0, [ignore], [ignore]) 47 47 AT_CLEANUP … … 50 50 AT_SETUP([Standard Options - fast trajectories]) 51 51 AT_KEYWORDS([options]) 52 AT_CHECK([../../molecuilder test.conf -n 1], 0, [stdout], [stderr])52 AT_CHECK([../../molecuilder -i test.conf -n 1], 0, [stdout], [stderr]) 53 53 AT_CHECK([fgrep "I won't parse trajectories" stdout], 0, [ignore], [ignore]) 54 54 AT_CLEANUP … … 57 57 AT_SETUP([Standard Options - molecule default name]) 58 58 AT_KEYWORDS([options]) 59 AT_CHECK([../../molecuilder test.conf -X test], 0, [stdout], [stderr])59 AT_CHECK([../../molecuilder -i test.conf -X test], 0, [stdout], [stderr]) 60 60 AT_CHECK([fgrep "Default name of new molecules set to test." stdout], 0, [ignore], [ignore]) 61 61 AT_CLEANUP -
tests/regression/testsuite-tesselation.at
r5630bd r4e10f5 4 4 AT_KEYWORDS([Tesselation]) 5 5 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/1/pre/* .], 0) 6 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -N 0 --sphere-radius 4. --nonconvex-file NonConvexEnvelope], 0, [stdout], [stderr])6 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -N 0 --sphere-radius 4. --nonconvex-file NonConvexEnvelope], 0, [stdout], [stderr]) 7 7 AT_CHECK([file=NonConvexEnvelope.dat; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/1/post/$file], 0, [ignore], [ignore]) 8 8 #AT_CHECK([file=NonConvexEnvelope.r3d; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/1/post/$file], 0, [ignore], [ignore]) … … 12 12 AT_SETUP([Tesselation - Convex Envelope]) 13 13 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/2/pre/* .], 0) 14 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -o0 --convex-file ConvexEnvelope --nonconvex-file NonConvexEnvelope], 0, [stdout], [stderr])14 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ --convex-envelope 0 --convex-file ConvexEnvelope --nonconvex-file NonConvexEnvelope], 0, [stdout], [stderr]) 15 15 AT_CHECK([file=ConvexEnvelope.dat; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/2/post/$file], 0, [ignore], [ignore]) 16 16 #AT_CHECK([file=ConvexEnvelope.r3d; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/2/post/$file], 0, [ignore], [ignore]) … … 22 22 AT_SETUP([Tesselation - Big non-Convex Envelope]) 23 23 AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/3/pre/* .], 0) 24 AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -N 0 --sphere-radius 4. --nonconvex-file NonConvexEnvelope], 0, [stdout], [stderr])24 AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ -N 0 --sphere-radius 4. --nonconvex-file NonConvexEnvelope], 0, [stdout], [stderr]) 25 25 AT_CHECK([file=NonConvexEnvelope.dat; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/3/post/$file], 0, [ignore], [ignore]) 26 26 #AT_CHECK([file=NonConvexEnvelope.r3d; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/3/post/$file], 0, [ignore], [ignore]) … … 30 30 #AT_SETUP([Tesselation - big convex Envelope]) 31 31 #AT_CHECK([/bin/cp -f ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/4/pre/* .], 0) 32 #AT_CHECK([../../molecuilder test.conf -e ${abs_top_srcdir}/src/ -oConvexEnvelope NonConvexEnvelope], 0, [stdout], [stderr])32 #AT_CHECK([../../molecuilder -i test.conf -e ${abs_top_srcdir}/src/ --convex-envelope ConvexEnvelope NonConvexEnvelope], 0, [stdout], [stderr]) 33 33 #AT_CHECK([file=ConvexEnvelope.dat; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/4/post/$file], 0, [ignore], [ignore]) 34 34 #AT_CHECK([file=ConvexEnvelope.r3d; diff $file ${abs_top_srcdir}/${AUTOTEST_PATH}/Tesselation/4/post/$file], 0, [ignore], [ignore])
Note:
See TracChangeset
for help on using the changeset viewer.