--- trunk/OOPSE/libmdtools/StuntDouble.cpp 2004/04/19 03:52:27 1118 +++ trunk/OOPSE/libmdtools/StuntDouble.cpp 2004/05/22 18:16:18 1187 @@ -520,9 +520,87 @@ void StuntDouble::getEulerAngles(double eulers[3]){ objType ); painCave.isFatal = 1; simError(); + } +} + +double StuntDouble::getZangle(){ + switch (objType) + { + case OT_ATOM: + sprintf( painCave.errMsg, + "StuntDouble::getZangle was called for a regular atom.\n" + "\tRegular Atoms don't have zAngles. Be smarter.\n"); + painCave.isFatal = 0; + simError(); + // Return zeros. + return 0; + break; + case OT_DATOM: + return ((DirectionalAtom*)this)->getZangle(); + break; + case OT_RIGIDBODY: + return ((RigidBody*)this)->getZangle(); + break; + default: + sprintf( painCave.errMsg, + "Unrecognized ObjType (%d) in StuntDouble::getZangle.\n", + objType ); + painCave.isFatal = 1; + simError(); + return 0; } +} + +void StuntDouble::setZangle(double zAngle){ + switch (objType) + { + case OT_ATOM: + sprintf( painCave.errMsg, + "StuntDouble::setZangle was called for a regular atom.\n" + "\tRegular Atoms don't have zAngles. Be smarter.\n"); + painCave.isFatal = 1; + simError(); + break; + case OT_DATOM: + ((DirectionalAtom*)this)->setZangle(zAngle); + break; + case OT_RIGIDBODY: + ((RigidBody*)this)->setZangle(zAngle); + break; + default: + sprintf( painCave.errMsg, + "Unrecognized ObjType (%d) in StuntDouble::setZangle.\n", + objType ); + painCave.isFatal = 1; + simError(); + } } +void StuntDouble::addZangle(double zAngle){ + switch (objType) + { + case OT_ATOM: + sprintf( painCave.errMsg, + "StuntDouble::addZangle was called for a regular atom.\n" + "\tRegular Atoms don't have zAngles. Be smarter.\n"); + painCave.isFatal = 1; + simError(); + break; + case OT_DATOM: + ((DirectionalAtom*)this)->addZangle(zAngle); + break; + case OT_RIGIDBODY: + ((RigidBody*)this)->addZangle(zAngle); + break; + default: + sprintf( painCave.errMsg, + "Unrecognized ObjType (%d) in StuntDouble::addZangle.\n", + objType ); + painCave.isFatal = 1; + simError(); + } +} + void StuntDouble::addProperty(GenericData* data){ map::iterator result; result = properties.find(data->getID()); @@ -558,4 +636,4 @@ GenericData* StuntDouble::getProperty(const string& pr return (*result).second; else return NULL; -} \ No newline at end of file +}