本文整理汇总了C++中Mol::AddNewAtom方法的典型用法代码示例。如果您正苦于以下问题:C++ Mol::AddNewAtom方法的具体用法?C++ Mol::AddNewAtom怎么用?C++ Mol::AddNewAtom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mol
的用法示例。
在下文中一共展示了Mol::AddNewAtom方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ftell
Mol *read_atomic_coordinates(const char *file)
{
long fpos;
float x, y, z;
int ord, natoms;
free_dyna();
if(find_string("Standard orientation")) {
do {
fpos = ftell(fp);
natoms = addTrajectoryStep();
} while(find_string("Standard orientation"));
}
else {
rewind(fp);
if(find_string("Z-Matrix orientation")) {
do {
fpos = ftell(fp);
natoms = addTrajectoryStep();
} while(find_string("Z-Matrix orientation"));
}
else {
rewind(fp);
if(find_string("Input orientation")) {
do {
fpos = ftell(fp);
natoms = addTrajectoryStep();
} while(find_string("Input orientation"));
}
}
}
Mol *mol = add_mol(file);
dynamics.molecule = mol;
dynamics.current = dynamics.ntotalsteps - 1;
fseek(fp, fpos, SEEK_SET);
if(!find_string("Coordinates (Angstroms)")) return 0;
if(!find_string("-----")) return 0;
fgets(line, 255, fp);
do {
if(flagG9803) {
if(sscanf(line, "%*d %d %*d %f %f %f", &ord, &x, &y, &z) != 4) return 0;
}
else {
if(sscanf(line, "%*d %d %f %f %f", &ord, &x, &y, &z) != 4) return 0;
}
if(ord >= 0) mol->AddNewAtom(ord, x, y, z);
fgets(line, 255, fp);
} while(!strstr(line, "------"));
return mol;
}