--- trunk/src/utils/ElementsTable.cpp 2008/09/18 21:51:20 1296 +++ trunk/src/utils/ElementsTable.cpp 2015/03/09 17:10:26 2077 @@ -1,7 +1,7 @@ This basic Periodic Table class was originally taken f /********************************************************************** This basic Periodic Table class was originally taken from the data.cpp -file in OpenBabel. The code has been modified to match the OOPSE coding style. +file in OpenBabel. The code has been modified to match the OpenMD coding style. We have retained the OpenBabel copyright and GPL license on this class: @@ -25,24 +25,20 @@ GNU General Public License for more details. * @file ElementsTable.cpp * @author gezelter * @date 12/21/2007 - * @time 11:30am * @version 1.0 */ -#include #include "config.h" + +#include #include #include #include #include #include "utils/ElementsTable.hpp" #include "utils/simError.h" -#include "io/basic_ifstrstream.hpp" +#include "io/ifstrstream.hpp" -#if !HAVE_STRNCASECMP -extern "C" int strncasecmp(const char *s1, const char *s2, size_t n); -#endif - #ifdef WIN32 #define FILE_SEP_CHAR "\\" #else @@ -53,26 +49,26 @@ extern "C" int strncasecmp(const char *s1, const char #define BUFF_SIZE 32768 #endif -namespace oopse { +namespace OpenMD { ElementsTable etab; ElementsTable::ElementsTable() { init_ = false; - STR_DEFINE(dir_, FRC_PATH ); + dir_ = std::string("TO_STRING(FRC_PATH)"); envvar_ = "FORCE_PARAM_PATH"; filename_ = "element.txt"; } ElementsTable::~ElementsTable() { std::vector::iterator i; - for (i = elements_.begin(); i != elements_.end(); i++) + for (i = elements_.begin(); i != elements_.end(); ++i) delete *i; } void ElementsTable::ParseLine(const char *line) { int num, maxbonds; - char symbol[5]; + char symbol[6]; char name[256]; RealType Rcov,Rvdw,mass, elNeg, ionize, elAffin; RealType red, green, blue; @@ -109,7 +105,7 @@ namespace oopse { return elements_.size(); } - char *ElementsTable::GetSymbol(int atomicnum) { + const char *ElementsTable::GetSymbol(int atomicnum) { if (!init_) Init(); @@ -267,7 +263,7 @@ namespace oopse { Init(); std::vector::iterator i; - for (i = elements_.begin();i != elements_.end();i++) + for (i = elements_.begin();i != elements_.end(); ++i) if (!strncasecmp(sym,(*i)->GetSymbol(),2)) return((*i)->GetAtomicNum()); @@ -324,11 +320,12 @@ namespace oopse { simError(); } - char charBuffer[BUFF_SIZE]; + if ((*ifsP)) { + char charBuffer[BUFF_SIZE]; while(ifsP->getline(charBuffer,BUFF_SIZE)) ParseLine(charBuffer); - + if (ifs1) ifs1.close(); if (ifs2)