bool MopacAux::read(std::istream &in, Core::Molecule &molecule) { // Read the log file line by line, most sections are terminated by an empty // line, so they should be retained. while (!in.eof()) processLine(in); SlaterSet *basis = new SlaterSet; for (unsigned int i = 0; i < m_atomPos.size(); ++i) { Atom a = molecule.addAtom(static_cast<unsigned char>(m_atomNums[i])); a.setPosition3d(m_atomPos[i]); } // Do simple bond perception. molecule.perceiveBondsSimple(); molecule.setBasisSet(basis); basis->setMolecule(&molecule); load(basis); return true; }
bool MoldenFile::read(std::istream &in, Core::Molecule &molecule) { // Read the log file line by line, most sections are terminated by an empty // line, so they should be retained. while (!in.eof()) processLine(in); GaussianSet *basis = new GaussianSet; int nAtom = 0; for (unsigned int i = 0; i < m_aPos.size(); i += 3) { Atom a = molecule.addAtom(static_cast<unsigned char>(m_aNums[nAtom++])); a.setPosition3d(Vector3(m_aPos[i ], m_aPos[i + 1], m_aPos[i + 2])); } // Do simple bond perception. molecule.perceiveBondsSimple(); molecule.setBasisSet(basis); basis->setMolecule(&molecule); load(basis); return true; }