Пример #1
0
void MolconvWindow::newGroup()
{
    std::string newGroupName = d->m_NewGroupDialog->groupName();
    std::vector<bool> members = d->m_NewGroupDialog->molecules();

    if (d->m_NewGroupDialog->isStack())
    {
        d->m_MoleculeGroups.push_back(new molconv::MoleculeStack(newGroupName));
        for (int i = 0; i < nMolecules(); i++)
            if (members.at(i))
            {
                static_cast<molconv::MoleculeStack*>(d->m_MoleculeGroups.back())->addMolecule(getMol(i), molconv::zVec);
                getMol(i)->addToGroup(d->m_MoleculeGroups.back());
            }
    }
    else
    {
        d->m_MoleculeGroups.push_back(new molconv::MoleculeGroup(newGroupName));
        for (int i = 0; i < nMolecules(); i++)
            if (members.at(i))
            {
                d->m_MoleculeGroups.back()->addMolecule(getMol(i));
                getMol(i)->addToGroup(d->m_MoleculeGroups.back());
            }
    }

    d->m_ListOfMolecules->insertGroup(d->m_MoleculeGroups.back());
}
Пример #2
0
int MolInst::getNumRes() const {
  return getMol()->getNumRes()
    * getNum();
}
Пример #3
0
int MolInst::getNumDihedrals() const {
  return getMol()->getNumDihedrals() * getNum();
}