ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-4/src/primitives/Molecule.hpp
(Generate patch)

Comparing branches/new_design/OOPSE-4/src/primitives/Molecule.hpp (file contents):
Revision 1696 by tim, Tue Nov 2 15:23:46 2004 UTC vs.
Revision 1725 by tim, Wed Nov 10 22:01:06 2004 UTC

# Line 38 | Line 38
38   #include "math/Vector3.hpp"
39   #include "primitives/Atom.hpp"
40   #include "primitives/RigidBody.hpp"
41 < #include "primitives/Bond.hpp"
42 < #include "primitives/Bend.hpp"
43 < #include "primitives/Torsion.hpp"
41 > //#include "primitives/Bond.hpp"
42 > //#include "primitives/Bend.hpp"
43 > //#include "primitives/Torsion.hpp"
44 > #include "primitives/SRI.hpp"
45   #include "primitives/CutoffGroup.hpp"
46  
47   namespace oopse{
48  
49 + class Constraint;
50 +
51   /**
52   * @class Molecule Molecule.hpp "primitives/Molecule.hpp"
53   * @brief
# Line 52 | Line 55 | class Molecule {
55   class Molecule {
56      public:
57  
58 <        Molecule();
58 >        typedef std::vector<Atom*>::iterator AtomIterator;
59 >        typedef std::vector<Bond*>::iterator BondIterator;
60 >        typedef std::vector<Bend*>::iterator BendIterator;
61 >        typedef std::vector<Torsion*>::iterator TorsionIterator;
62 >        typedef std::vector<RigidBody*>::iterator RigidBodyIterator;
63 >        typedef std::vector<CutoffGroup*>::iterator CutoffGroupIterator;
64 >        typedef std::vector<StuntDouble*>::iterator IntegrableObjectIterator;        
65 >
66 >        Molecule(int stampId, int globalIndex);
67          virtual ~Molecule();
68  
69          /**
# Line 70 | Line 81 | class Molecule {
81          int setGlobalIndex(int index) {
82              return globalIndex_;
83          }
73        
74        /**
75         * Returns the local index of this molecule
76         * @return the local index of this molecule
77         */
78        int getLocalIndex() {
79            return localIndex_;
80        }
84  
85          /** add an atom into this molecule */
86          void addAtom(Atom* atom);
# Line 139 | Line 142 | class Molecule {
142          unsigned int getNConstraints() {
143              return constraints_.size();
144          }
145 <        
145 >
146 >        Atom* getAtomAt(unsigned int i) {
147 >            assert(i < atoms_.size());
148 >            return atoms_[i];
149 >        }
150          /**
151           * Returns the first atom in this molecule and initialize the iterator.
152           * @return the first atom, return NULL if there is not cut off group in this molecule
# Line 236 | Line 243 | class Molecule {
243          friend std::ostream& operator <<(std::ostream& o, Molecule& mol);
244          
245      private:
246 <        int localIndex_;
246 >        
247          int globalIndex_;
248  
249          std::vector<Atom*> atoms_;
# Line 247 | Line 254 | class Molecule {
254          std::vector<StuntDouble*> integrableObjects_;
255          std::vector<CutoffGroup*> cutoffGroups_;
256          std::vector<Constraint*> constraints_;
257 +
258 +        int stampID;
259   };
260  
261   } //namespace oopse

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines