00001 /* 00002 LoopTK: Protein Loop Kinematic Toolkit 00003 Copyright (C) 2007 Stanford University 00004 00005 This program is free software; you can redistribute it and/or modify 00006 it under the terms of the GNU General Public License as published by 00007 the Free Software Foundation; either version 2 of the License, or 00008 (at your option) any later version. 00009 00010 This program is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 GNU General Public License for more details. 00014 00015 You should have received a copy of the GNU General Public License along 00016 with this program; if not, write to the Free Software Foundation, Inc., 00017 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 00018 */ 00019 00020 #ifndef __P_ATOM_POSITIONS_SPEC 00021 #define __P_ATOM_POSITIONS_SPEC 00022 00028 class PAtomPositionsSpec { 00029 public: 00030 00035 void addAtom(const string &id, const Vector3 &position); 00036 00041 int size() const { return m_atomPositions.size(); } 00042 00046 void clear() { m_atomPositions.clear(); } 00047 00052 bool contains(const string &id) const { 00053 return m_atomPositions.find(id) != m_atomPositions.end(); 00054 } 00055 00061 Vector3 getAtomPosition(const string &id) const; 00062 00063 private: 00064 AtomPositions m_atomPositions; 00065 }; 00066 00067 #endif // __P_ATOM_POSITIONS_SPEC