--- trunk/OOPSE/libBASS/interface.c 2004/01/19 16:08:21 957 +++ trunk/OOPSE/libBASS/interface.c 2004/01/29 23:01:17 998 @@ -155,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 = MEMBER; + the_event->event_type = MEMBERS; the_event->err_msg = NULL; - the_event->evt.mbr.a = the_node->the_data.mbr.a; - the_event->evt.mbr.b = the_node->the_data.mbr.b; - the_event->evt.mbr.c = the_node->the_data.mbr.c; - the_event->evt.mbr.d = the_node->the_data.mbr.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 ); } @@ -256,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