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

Comparing branches/new_design/OOPSE-3.0/src/primitives/Molecule.hpp (file contents):
Revision 1692 by tim, Mon Nov 1 20:15:58 2004 UTC vs.
Revision 1719 by tim, Fri Nov 5 23:38:27 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"
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 48 | Line 55 | class Molecule {
55   class Molecule {
56      public:
57  
58 <        Molecule();
58 >        Molecule(int stampId, int globalIndex);
59          virtual ~Molecule();
60  
61          /**
# Line 63 | Line 70 | class Molecule {
70           * Sets the global index of this molecule.
71           * @param new global index to be set
72           */
73 <        void setGlobalIndex(int index) {
73 >        int setGlobalIndex(int index) {
74              return globalIndex_;
75          }
76          
# Line 131 | Line 138 | class Molecule {
138              return cutoffGroups_.size();
139          }
140  
141 +        /** Returns the total number of constraints in this molecule */
142 +        unsigned int getNConstraints() {
143 +            return constraints_.size();
144 +        }
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 198 | Line 214 | class Molecule {
214           */        
215          CutoffGroup* nextCutoffGroup(std::vector<CutoffGroup*>::iterator& i);
216  
217 +        Constraint* beginConstraint(std::vector<Constraint*>::iterator& i);
218 +
219 +        Constraint* nextConstraint(std::vector<Constraint*>::iterator& i);
220 +        
221          //void setStampID( int info ) {stampID = info;}
222  
223          void calcForces( void );
# Line 212 | Line 232 | class Molecule {
232          Vector3d getCom();
233  
234          /** Moves the center of this molecule */
235 <        void moveCom(const Vetor3d& delta);
235 >        void moveCom(const Vector3d& delta);
236  
237          /** Returns the velocity of center of mass of this molecule */
238          Vector3d getComVel();
# Line 220 | Line 240 | class Molecule {
240          /** Returns the total mass of this molecule */
241          double getTotalMass();
242  
243 <        friend std::ostream& operator <<(std::ostream& o, const Molecule& mol);
243 >        friend std::ostream& operator <<(std::ostream& o, Molecule& mol);
244          
245      private:
246          int localIndex_;
# Line 233 | Line 253 | class Molecule {
253          std::vector<RigidBody*> rigidBodies_;
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