ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/primitives/Molecule.hpp
(Generate patch)

Comparing trunk/src/primitives/Molecule.hpp (file contents):
Revision 1211 by gezelter, Wed Jan 23 16:38:22 2008 UTC vs.
Revision 1275 by cli2, Fri Jul 4 20:54:29 2008 UTC

# Line 58 | Line 58
58   #include "primitives/Bond.hpp"
59   #include "primitives/Bend.hpp"
60   #include "primitives/Torsion.hpp"
61 + #include "primitives/Inversion.hpp"
62   #include "primitives/CutoffGroup.hpp"
63  
64   namespace oopse{
# Line 75 | Line 76 | namespace oopse{
76      typedef std::vector<Bond*>::iterator BondIterator;
77      typedef std::vector<Bend*>::iterator BendIterator;
78      typedef std::vector<Torsion*>::iterator TorsionIterator;
79 +    typedef std::vector<Inversion*>::iterator InversionIterator;
80      typedef std::vector<RigidBody*>::iterator RigidBodyIterator;
81      typedef std::vector<CutoffGroup*>::iterator CutoffGroupIterator;
82      typedef std::vector<StuntDouble*>::iterator IntegrableObjectIterator;
# Line 129 | Line 131 | namespace oopse{
131      
132      /** add a torsion into this molecule*/
133      void addTorsion(Torsion* torsion);
134 +
135 +    /** add an improper torsion into this molecule*/
136 +    void addInversion(Inversion* inversion);
137      
138      /** add a rigidbody into this molecule */
139      void addRigidBody(RigidBody *rb);
# Line 162 | Line 167 | namespace oopse{
167      unsigned int getNTorsions() {
168        return torsions_.size();
169      }
170 +
171 +    /** Returns the total number of improper torsions in this molecule */
172 +    unsigned int getNInversions() {
173 +      return inversions_.size();
174 +    }
175      
176      /** Returns the total number of rigid bodies in this molecule */        
177      unsigned int getNRigidBodies() {
# Line 233 | Line 243 | namespace oopse{
243        ++i;
244        return (i == torsions_.end()) ? NULL : *i;    
245      }    
246 +
247 +    Inversion* beginInversion(std::vector<Inversion*>::iterator& i) {
248 +      i = inversions_.begin();
249 +      return (i == inversions_.end()) ? NULL : *i;
250 +    }
251      
252 +    Inversion* nextInversion(std::vector<Inversion*>::iterator& i) {
253 +      ++i;
254 +      return (i == inversions_.end()) ? NULL : *i;    
255 +    }    
256 +    
257      RigidBody* beginRigidBody(std::vector<RigidBody*>::iterator& i) {
258        i = rigidBodies_.begin();
259        return (i == rigidBodies_.end()) ? NULL : *i;
# Line 316 | Line 336 | namespace oopse{
336      std::vector<Bond*> bonds_;
337      std::vector<Bend*> bends_;
338      std::vector<Torsion*> torsions_;
339 +    std::vector<Inversion*> inversions_;
340      std::vector<RigidBody*> rigidBodies_;
341      std::vector<StuntDouble*> integrableObjects_;
342      std::vector<CutoffGroup*> cutoffGroups_;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines