--- trunk/OOPSE/libmdtools/ConstraintAlgorithm.cpp 2004/06/21 18:52:21 1284 +++ trunk/OOPSE/libmdtools/ConstraintAlgorithm.cpp 2004/08/23 15:11:36 1452 @@ -3,14 +3,15 @@ #include "SimInfo.hpp" #include "ConstraintManager.hpp" #include "simError.h" +#include "Vector3d.hpp" //////////////////////////////////////////////////////////////////////////////// //Implementation of ConstraintAlgorithm //////////////////////////////////////////////////////////////////////////////// ConstraintAlgorithm::ConstraintAlgorithm(SimInfo* rhs){ info = rhs; - cpIter = info->consMan->creatPairIterator(); - ceIter = info->consMan->creatElementIterator(); + cpIter = info->consMan->createPairIterator(); + ceIter = info->consMan->createElementIterator(); } ConstraintAlgorithm::~ConstraintAlgorithm(){ @@ -28,7 +29,7 @@ void ConstraintAlgorithm::doConstrain(){ } void ConstraintAlgorithm::doConstrain(){ - const int maxConsIteration = 1; + const int maxConsIteration = 20; bool done; int iteration; int maxIteration; @@ -37,7 +38,6 @@ void ConstraintAlgorithm::doConstrain(){ ConstraintPair* consPair; int exeStatus; - error = false; for(ceIter->first(); !ceIter->isEnd(); ceIter->next()){ @@ -160,7 +160,7 @@ ConsAlgoFramework::ConsAlgoFramework(SimInfo* rhs){ //Implementation of ConsAlgoFramework //////////////////////////////////////////////////////////////////////////////// ConsAlgoFramework::ConsAlgoFramework(SimInfo* rhs){ - ceIter = rhs->consMan->creatElementIterator(); + ceIter = rhs->consMan->createElementIterator(); } ConsAlgoFramework::~ConsAlgoFramework(){ @@ -169,9 +169,12 @@ void ConsAlgoFramework::doPreConstraint(){ void ConsAlgoFramework::doPreConstraint(){ ConstraintElement* consElem; + Vector3d zeroVector(0.0, 0.0, 0.0); for(ceIter->first(); !ceIter->isEnd(); ceIter->next()){ consElem = ceIter->currentItem(); consElem->saveOldState(); + consElem->setConsForce(zeroVector); + consElem->setConsTorque(zeroVector); } }