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

Comparing branches/new_design/OOPSE-2.0/src/primitives/Molecule.cpp (file contents):
Revision 1906 by tim, Tue Jan 4 22:18:36 2005 UTC vs.
Revision 1907 by tim, Thu Jan 6 22:31:07 2005 UTC

# Line 51 | Line 51 | Molecule::~Molecule() {
51      MemoryUtils::deleteVectorOfPointer(torsions_);
52      MemoryUtils::deleteVectorOfPointer(rigidBodies_);
53      MemoryUtils::deleteVectorOfPointer(cutoffGroups_);
54 <
54 >    MemoryUtils::deleteVectorOfPointer(constraintPairs_);
55 >    MemoryUtils::deleteVectorOfPointer(constraintElems_);
56      //integrableObjects_ don't own the objects
57      integrableObjects_.clear();
58      
# Line 101 | Line 102 | void Molecule::addConstraintPair(ConstraintPair* cp) {
102  
103   }
104  
105 + void Molecule::addConstraintElem(ConstraintElem* cp) {
106 +    if (std::find(constraintElems_.begin(), constraintElems_.end(), cp) == constraintElems_.end()) {
107 +        constraintElems_.push_back(cp);
108 +    }
109  
110 + }
111 +
112   void Molecule::complete() {
113      
114      std::set<Atom*> rigidAtoms;
# Line 141 | Line 148 | Atom* Molecule::beginAtom(std::vector<Atom*>::iterator
148      integrableObjects_.insert(integrableObjects_.end(), rigidBodies_.begin(), rigidBodies_.end());
149   }
150  
144 Atom* Molecule::beginAtom(std::vector<Atom*>::iterator& i) {
145    i = atoms_.begin();
146    return (i == atoms_.end()) ? NULL : *i;
147 }
148
149 Atom* Molecule::nextAtom(std::vector<Atom*>::iterator& i) {
150    ++i;
151    return (i == atoms_.end()) ? NULL : *i;    
152 }
153
154 Bond* Molecule::beginBond(std::vector<Bond*>::iterator& i) {
155    i = bonds_.begin();
156    return (i == bonds_.end()) ? NULL : *i;
157 }
158
159 Bond* Molecule::nextBond(std::vector<Bond*>::iterator& i) {
160    ++i;
161    return (i == bonds_.end()) ? NULL : *i;    
162
163 }
164
165
166 Bend* Molecule::beginBend(std::vector<Bend*>::iterator& i) {
167    i = bends_.begin();
168    return (i == bends_.end()) ? NULL : *i;
169 }
170
171 Bend* Molecule::nextBend(std::vector<Bend*>::iterator& i) {
172    ++i;
173    return (i == bends_.end()) ? NULL : *i;    
174 }
175
176 Torsion* Molecule::beginTorsion(std::vector<Torsion*>::iterator& i) {
177    i = torsions_.begin();
178    return (i == torsions_.end()) ? NULL : *i;
179 }
180
181 Torsion* Molecule::nextTorsion(std::vector<Torsion*>::iterator& i) {
182    ++i;
183    return (i == torsions_.end()) ? NULL : *i;    
184 }    
185
186 RigidBody* Molecule::beginRigidBody(std::vector<RigidBody*>::iterator& i) {
187    i = rigidBodies_.begin();
188    return (i == rigidBodies_.end()) ? NULL : *i;
189 }
190
191 RigidBody* Molecule::nextRigidBody(std::vector<RigidBody*>::iterator& i) {
192    ++i;
193    return (i == rigidBodies_.end()) ? NULL : *i;    
194 }
195
196 StuntDouble* Molecule::beginIntegrableObject(std::vector<StuntDouble*>::iterator& i) {
197    i = integrableObjects_.begin();
198    return (i == integrableObjects_.end()) ? NULL : *i;
199 }
200
201 StuntDouble* Molecule::nextIntegrableObject(std::vector<StuntDouble*>::iterator& i) {
202    ++i;
203    return (i == integrableObjects_.end()) ? NULL : *i;    
204 }    
205
206 CutoffGroup* Molecule::beginCutoffGroup(std::vector<CutoffGroup*>::iterator& i) {
207    i = cutoffGroups_.begin();
208    return (i == cutoffGroups_.end()) ? NULL : *i;
209 }
210
211 CutoffGroup* Molecule::nextCutoffGroup(std::vector<CutoffGroup*>::iterator& i) {            
212    ++i;
213    return (i == cutoffGroups_.end()) ? NULL : *i;    
214 }
215
216 ConstraintPair* Molecule::beginConstraintPair(std::vector<ConstraintPair*>::iterator& i) {
217    i = constraintPairs_.begin();
218    return (i == constraintPairs_.end()) ? NULL : *i;
219 }
220
221 ConstraintPair* Molecule::nextConstraintPair(std::vector<ConstraintPair*>::iterator& i) {            
222    ++i;
223    return (i == constraintPairs_.end()) ? NULL : *i;    
224 }
225
151   double Molecule::getMass() {
152      StuntDouble* sd;
153      std::vector<StuntDouble*>::iterator i;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines