--- trunk/OOPSE/libBASS/BASS_interface.cpp 2004/01/19 16:08:21 957 +++ trunk/OOPSE/libBASS/BASS_interface.cpp 2004/01/27 20:34:11 993 @@ -16,7 +16,7 @@ typedef enum { GLOBAL_BLK, MOLECULE_BLK, ATOM_BLK, BON typedef enum { GLOBAL_BLK, MOLECULE_BLK, ATOM_BLK, BOND_BLK, BEND_BLK, TORSION_BLK, COMPONENT_BLK, ZCONSTRAINT_BLK, - RIGIDBODY_BLK } block_type; + RIGIDBODY_BLK, MEMBER_BLK } block_type; block_type current_block = GLOBAL_BLK; #define MAX_NEST 20 // the max number of nested blocks @@ -56,11 +56,6 @@ int event_handler( event* the_event ){ incr_block( ZCONSTRAINT_BLK ); handled = the_globals->newZconstraint( the_event ); break; - - case RIGIDBODY: - incr_block( RIGIDBODY_BLK ); - handled = the_stamps->newRigidBody( the_event ); - break; case COMPONENT: incr_block( COMPONENT_BLK ); @@ -132,36 +127,28 @@ int event_handler( event* the_event ){ switch( the_event->event_type ){ - case ATOM: - incr_block( ATOM_BLK ); - handled = the_stamps->newAtom( the_event ); - break; - - case POSITION: - handled = the_stamps->rigidBodyPosition( the_event ); - break; - - case ORIENTATION: - handled = the_stamps->rigidBodyOrientation( the_event ); - break; - case ASSIGNMENT: handled = the_stamps->rigidBodyAssign( the_event ); break; + case MEMBER: + incr_block( MEMBER_BLK ); + handled = the_stamps->newMember( the_event ); + break; + case BLOCK_END: decr_block(); handled = the_stamps->rigidBodyEnd( the_event ); break; - + default: the_event->err_msg = strdup( "Not a valid RigidBody event\n" ); return 0; } break; + - case ATOM_BLK: switch( the_event->event_type ){ @@ -198,8 +185,8 @@ int event_handler( event* the_event ){ handled = the_stamps->bondAssign( the_event ); break; - case MEMBER: - handled = the_stamps->bondMember( the_event ); + case MEMBERS: + handled = the_stamps->bondMembers( the_event ); break; case CONSTRAINT: @@ -226,8 +213,8 @@ int event_handler( event* the_event ){ handled = the_stamps->bendAssign( the_event ); break; - case MEMBER: - handled = the_stamps->bendMember( the_event ); + case MEMBERS: + handled = the_stamps->bendMembers( the_event ); break; case CONSTRAINT: @@ -254,8 +241,8 @@ int event_handler( event* the_event ){ handled = the_stamps->torsionAssign( the_event ); break; - case MEMBER: - handled = the_stamps->torsionMember( the_event ); + case MEMBERS: + handled = the_stamps->torsionMembers( the_event ); break; case CONSTRAINT: @@ -274,6 +261,26 @@ int event_handler( event* the_event ){ } break; + case MEMBER_BLK: + + switch( the_event->event_type ){ + + case ASSIGNMENT: + handled = the_stamps->memberAssign( the_event ); + break; + + case BLOCK_END: + decr_block(); + handled = the_stamps->memberEnd(the_event ); + break; + + default: + the_event->err_msg = + strdup( "not a valid member event\n" ); + return 0; + } + break; + case ZCONSTRAINT_BLK: switch( the_event->event_type ){