当前位置: 首页>>代码示例>>C++>>正文


C++ Mol::AddNewAtom方法代码示例

本文整理汇总了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;
}
开发者ID:carlfahl,项目名称:molekel,代码行数:58,代码来源:readgauss.cpp


注:本文中的Mol::AddNewAtom方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。