--- trunk/OOPSE/libmdtools/Molecule.cpp 2003/07/15 14:28:54 607 +++ trunk/OOPSE/libmdtools/Molecule.cpp 2003/07/15 15:50:55 610 @@ -121,19 +121,18 @@ void Molecule::moveCOM(double delta[3]){ } void Molecule::moveCOM(double delta[3]){ - double x, y, z; - int i; + double aPos[3]; + int i, j; for(i=0; igetPos( aPos ); + + for (j=0; j< 3; j++) + aPos[j] += delta[j]; - x = myAtoms[i]->getX() + delta[0]; - y = myAtoms[i]->getY() + delta[1]; - z = myAtoms[i]->getZ() + delta[2]; - - myAtoms[i]->setX(x); - myAtoms[i]->setY(y); - myAtoms[i]->setZ(z); + myAtoms[i]->setPos( aPos ); } } } @@ -141,11 +140,12 @@ void Molecule::getCOM( double COM[3] ) { void Molecule::getCOM( double COM[3] ) { double mass, mtot; - int i; + double aPos[3]; + int i, j; - COM[0] = 0.0; - COM[1] = 0.0; - COM[2] = 0.0; + for (j=0; j<3; j++) + COM[j] = 0.0; + mtot = 0.0; for (i=0; i < nAtoms; i++) { @@ -153,17 +153,17 @@ void Molecule::getCOM( double COM[3] ) { mass = myAtoms[i]->getMass(); mtot += mass; - COM[0] += myAtoms[i]->getX() * mass; - COM[1] += myAtoms[i]->getY() * mass; - COM[2] += myAtoms[i]->getZ() * mass; + + myAtoms[i]->getPos( aPos ); + for( j = 0; j < 3; j++) + COM[j] += aPos[j] * mass; + } } - COM[0] /= mtot; - COM[1] /= mtot; - COM[2] /= mtot; - + for (j = 0; j < 3; j++) + COM[j] /= mtot; } double Molecule::getCOMvel( double COMvel[3] ) {