--- trunk/OOPSE/libBASS/MakeStamps.cpp 2004/01/27 20:34:11 993 +++ trunk/OOPSE/libBASS/MakeStamps.cpp 2004/01/29 23:01:17 998 @@ -258,6 +258,26 @@ int MakeStamps::rigidBodyAssign( event* the_event ){ break; } return 0; +} + +int MakeStamps::rigidBodyMembers( event* the_event ){ + + int i; + + if( the_event->evt.mbrs.nMembers > 0 ){ + + for (i = 0; i < the_event->evt.mbrs.nMembers; i++) { + current_rigidbody->addMember( the_event->evt.mbrs.memberList[i]); + } + + return 1; + + } else { + the_event->err_msg = strdup( "MakeStamp error. No members in memberList " + " for this rigidBody."); + return 0; + + } } int MakeStamps::rigidBodyEnd( event* the_event ){ @@ -290,9 +310,9 @@ int MakeStamps::atomOrientation( event* the_event ){ int MakeStamps::atomOrientation( event* the_event ){ - current_atom->setOrientation( the_event->evt.ornt.x, - the_event->evt.ornt.y, - the_event->evt.ornt.z ); + current_atom->setOrientation( the_event->evt.ornt.phi, + the_event->evt.ornt.theta, + the_event->evt.ornt.psi ); return 1; } @@ -384,10 +404,20 @@ int MakeStamps::bondMembers( event* the_event ){ } int MakeStamps::bondMembers( event* the_event ){ + + if( the_event->evt.mbrs.nMembers == 2 ){ + + current_bond->members( the_event->evt.mbrs.memberList[0], + the_event->evt.mbrs.memberList[1] ); + return 1; - current_bond->members( the_event->evt.mbrs.a, - the_event->evt.mbrs.b ); - return 1; + } else { + the_event->err_msg = strdup( "MakeStamp error. Wrong number of members " + " in bond"); + return 0; + + } + } int MakeStamps::bondConstraint( event* the_event ){ @@ -448,10 +478,27 @@ int MakeStamps::bendMembers( event* the_event ){ int MakeStamps::bendMembers( event* the_event ){ - current_bend->members( the_event->evt.mbrs.a, - the_event->evt.mbrs.b, - the_event->evt.mbrs.c ); - return 1; + + switch( the_event->evt.mbrs.nMembers ) { + case 3: + current_bend->members( the_event->evt.mbrs.memberList[0], + the_event->evt.mbrs.memberList[1], + the_event->evt.mbrs.memberList[2]); + return 1; + break; + case 2: + current_bend->members( the_event->evt.mbrs.memberList[0], + the_event->evt.mbrs.memberList[1], + 0 ); + return 1; + break; + default: + the_event->err_msg = strdup( "MakeStamp error. Wrong number of members " + "in bend."); + return 0; + break; + } + return 0; } int MakeStamps::bendConstraint( event* the_event ){ @@ -512,11 +559,20 @@ int MakeStamps::torsionMembers( event* the_event ){ int MakeStamps::torsionMembers( event* the_event ){ - current_torsion->members( the_event->evt.mbrs.a, - the_event->evt.mbrs.b, - the_event->evt.mbrs.c, - the_event->evt.mbrs.d ); - return 1; + if( the_event->evt.mbrs.nMembers == 4 ){ + + current_torsion->members( the_event->evt.mbrs.memberList[0], + the_event->evt.mbrs.memberList[1], + the_event->evt.mbrs.memberList[2], + the_event->evt.mbrs.memberList[3]); + return 1; + + } else { + the_event->err_msg = strdup( "MakeStamp error. Wrong number of members " + " in torsion"); + return 0; + + } } int MakeStamps::torsionConstraint( event* the_event ){ @@ -532,53 +588,3 @@ int MakeStamps::torsionEnd( event* the_event ){ return 1; } - -int MakeStamps::newMember( event* the_event ){ - - current_member = new MemberStamp; - - the_event->err_msg = current_rigidbody->addMember( current_member, - the_event->evt.blk_index ); - if( the_event->err_msg != NULL ) return 0; - - return 1; -} - -int MakeStamps::memberAssign( event* the_event ){ - - switch( the_event->evt.asmt.asmt_type ){ - - case STRING: - current_member->assignString( the_event->evt.asmt.lhs, - the_event->evt.asmt.rhs.sval ); - return 1; - break; - - case DOUBLE: - current_member->assignDouble( the_event->evt.asmt.lhs, - the_event->evt.asmt.rhs.dval ); - return 1; - break; - - case INT: - current_member->assignInt( the_event->evt.asmt.lhs, - the_event->evt.asmt.rhs.ival ); - return 1; - break; - - default: - the_event->err_msg = strdup( "MakeStamp error. Invalid member" - " assignment type" ); - return 0; - break; - } - return 0; -} - -int MakeStamps::memberEnd( event* the_event ){ - - the_event->err_msg = current_member->checkMe(); - if( the_event->err_msg != NULL ) return 0; - - return 1; -}