--- branches/new_design/OOPSE-2.0/src/primitives/Molecule.hpp 2004/11/01 22:52:57 1695 +++ branches/new_design/OOPSE-2.0/src/primitives/Molecule.hpp 2004/11/05 02:56:22 1713 @@ -38,13 +38,16 @@ #include "math/Vector3.hpp" #include "primitives/Atom.hpp" #include "primitives/RigidBody.hpp" -#include "primitives/Bond.hpp" -#include "primitives/Bend.hpp" -#include "primitives/Torsion.hpp" +//#include "primitives/Bond.hpp" +//#include "primitives/Bend.hpp" +//#include "primitives/Torsion.hpp" +#include "primitives/SRI.hpp" #include "primitives/CutoffGroup.hpp" namespace oopse{ +class Constraint; + /** * @class Molecule Molecule.hpp "primitives/Molecule.hpp" * @brief @@ -135,6 +138,11 @@ class Molecule { return cutoffGroups_.size(); } + /** Returns the total number of constraints in this molecule */ + unsigned int getNConstraints() { + return constraints_.size(); + } + /** * Returns the first atom in this molecule and initialize the iterator. * @return the first atom, return NULL if there is not cut off group in this molecule @@ -202,6 +210,10 @@ class Molecule { */ CutoffGroup* nextCutoffGroup(std::vector::iterator& i); + Constraint* beginConstraint(std::vector::iterator& i); + + Constraint* nextConstraint(std::vector::iterator& i); + //void setStampID( int info ) {stampID = info;} void calcForces( void ); @@ -237,6 +249,9 @@ class Molecule { std::vector rigidBodies_; std::vector integrableObjects_; std::vector cutoffGroups_; + std::vector constraints_; + + int stampID; }; } //namespace oopse