| 129 |  |  | 
| 130 |  | // atom bookkeeping | 
| 131 |  | virtual int getNAtomsInRow() = 0; | 
| 132 | < | virtual vector<int> getSkipsForAtom(int atom1) = 0; | 
| 132 | > | virtual vector<int> getExcludesForAtom(int atom1) = 0; | 
| 133 |  | virtual bool skipAtomPair(int atom1, int atom2) = 0; | 
| 134 | + | virtual bool excludeAtomPair(int atom1, int atom2) = 0; | 
| 135 | + | virtual int getTopologicalDistance(int atom1, int atom2) = 0; | 
| 136 |  | virtual void addForceToAtomRow(int atom1, Vector3d fg) = 0; | 
| 137 |  | virtual void addForceToAtomColumn(int atom2, Vector3d fg) = 0; | 
| 136 | – | virtual int getTopologicalDistance(int atom1, int atom2) = 0; | 
| 138 |  |  | 
| 139 | + |  | 
| 140 |  | // filling interaction blocks with pointers | 
| 141 |  | virtual void fillInteractionData(InteractionData &idat, int atom1, int atom2) = 0; | 
| 142 |  | virtual void unpackInteractionData(InteractionData &idat, int atom1, int atom2) = 0; | 
| 143 |  |  | 
| 142 | – | virtual void fillSkipData(InteractionData &idat, int atom1, int atom2) = 0; | 
| 143 | – | virtual void unpackSkipData(InteractionData &idat, int atom1, int atom2) = 0; | 
| 144 |  | virtual void fillSelfData(SelfData &sdat, int atom1); | 
| 145 |  |  | 
| 146 |  | protected: | 
| 168 |  | */ | 
| 169 |  | vector<vector<int> > toposForAtom; | 
| 170 |  | vector<vector<int> > topoDist; | 
| 171 | < | vector<vector<int> > skipsForAtom; | 
| 171 | > | vector<vector<int> > excludesForAtom; | 
| 172 |  | vector<vector<int> > groupList_; | 
| 173 |  | vector<RealType> massFactors; | 
| 174 | + | vector<AtomType*> atypesLocal; | 
| 175 |  |  | 
| 176 |  | vector<Vector3i> cellOffsets_; | 
| 177 |  | Vector3i nCells_; |