--- trunk/OOPSE/libBASS/interface.c 2004/01/27 19:37:48 988 +++ trunk/OOPSE/libBASS/interface.c 2004/01/29 23:01:17 998 @@ -130,23 +130,6 @@ void init_torsion( int torsion_index ){ free( the_event ); } -void init_member( int member_index ){ - event* the_event; - - the_event = (event* )malloc( sizeof( event ) ); - - the_event->event_type = MEMBER; - the_event->err_msg = NULL; - the_event->evt.blk_index = member_index; - - if( !event_handler( the_event ) ) interface_error( the_event ); -#ifdef IS_MPI - throwMPIEvent(the_event); -#endif - - free( the_event ); -} - void init_zconstraint( int zconstraint_index ){ event* the_event; @@ -172,21 +155,28 @@ void init_members( struct node_tag* the_node, void init_members( struct node_tag* the_node, struct namespc the_namespc ){ event* the_event; + int i; the_event = (event* )malloc( sizeof( event ) ); the_event->event_type = MEMBERS; the_event->err_msg = NULL; - the_event->evt.mbrs.a = the_node->the_data.mbrs.a; - the_event->evt.mbrs.b = the_node->the_data.mbrs.b; - the_event->evt.mbrs.c = the_node->the_data.mbrs.c; - the_event->evt.mbrs.d = the_node->the_data.mbrs.d; + + the_event->evt.mbrs.nMembers = the_node->the_data.mbrs.nMembers; + the_event->evt.mbrs.memberList = (int *) calloc(the_node->the_data.mbrs.nMembers, + sizeof(int)); + + for (i = 0; i < the_node->the_data.mbrs.nMembers; i++) { + the_event->evt.mbrs.memberList[i] = the_node->the_data.mbrs.memberList[i]; + } + if( !event_handler( the_event ) ) interface_error( the_event ); #ifdef IS_MPI throwMPIEvent(the_event); #endif + free( the_event->evt.mbrs.memberList ); free( the_event ); } @@ -273,9 +263,9 @@ void init_orientation( struct node_tag* the_node, the_event->event_type = ORIENTATION; the_event->err_msg = NULL; - the_event->evt.ornt.x = the_node->the_data.ort.x; - the_event->evt.ornt.y = the_node->the_data.ort.y; - the_event->evt.ornt.z = the_node->the_data.ort.z; + the_event->evt.ornt.phi = the_node->the_data.ort.phi; + the_event->evt.ornt.theta = the_node->the_data.ort.theta; + the_event->evt.ornt.psi = the_node->the_data.ort.psi; if( !event_handler( the_event ) ) interface_error( the_event ); #ifdef IS_MPI