void load_header( void ) { Group group; load_group( &group ); while( strcmp( group.value, "ENDSEC" ) ) { if( strcmp( group.value, "$CECOLOR" ) == 0 ) set_entity_color(); else if( strcmp( group.value, "$EXTMAX" ) == 0 ) set_extent_max(); else if( strcmp( group.value, "$EXTMIN" ) == 0 ) set_extent_min(); else if( strcmp( group.value, "$SHADEEDGE" ) == 0 ) set_face_shading(); else if( strcmp( group.value, "$UCSORG" ) == 0 ) set_ucs_origin(); else if( strcmp( group.value, "$UCSXDIR" ) == 0 ) set_ucs_x_dir(); else if( strcmp( group.value, "$UCSYDIR" ) == 0 ) set_ucs_y_dir(); else if( setup.verbose && IS_VARIABLE( group ) ) message( " Skipping unsupported variable: %s", group.value ); load_group( &group ); } }
void load_groups( void ) { FILE *fp; int i; fp = fopen( GROUP_FILE, "r" ); if ( !fp ) { bug( "No se pudo leer " GROUP_FILE " para cargar grupos.", 0 ); exit(1); } fscanf( fp, "%d\n", &MAX_GROUP ); group_table = malloc( sizeof(struct group_type) * (MAX_GROUP + 1) ); if ( !group_table ) { bug( "Error! Group_table == NULL, MAX_GROUP : %d", MAX_GROUP ); exit(1); } for ( i = 0; i < MAX_GROUP; ++i ) load_group (fp, &group_table[i] ); group_table[MAX_GROUP].name = NULL; fclose(fp); }
/* ARGSUSED */ void AddGpList_Callback ( Widget w, long which, XtPointer call ) /************************************************************************ * * Callback function of add group list. * * AddGpList_Callback ( W, which, CALL ) * ***********************************************************************/ { /*--------------------------------------------------------------------*/ switch( which ) { case 0: /* add to group list */ if ( get_group(w) ) { XmListDeselectAllItems(gframe_listW); XmTextSetString(group_nameW, ""); } break; case 1: /* add to group list and display */ if (get_group(w)) { MpanelMode = 0; SelectGroupNo = GroupNo; GroupLoadFlag = 1; XmListDeselectAllItems(gframe_listW); XmTextSetString(group_nameW, ""); XtUnmanageChild(group_panel_toplevel); load_group(GroupNo); } break; } }
static void set_entity_color( void ) { Group group; load_group( &group ); if( IS_COLOR( group ) ) header.color = atoi( group.value ); else error( "Bad color group" ); if( setup.verbose ) message( " ENTITY color: %hu", header.color ); }
static void set_face_shading( void ) { Group group; STRPTR shading[ NUM_SHADES ] = { "Faces shaded, edges entity color", "Faces shaded, edges black", "Faces transparent, edges entity color", "Faces entity color, edges black" }; load_group( &group ); if( IS_INTEGER( group ) ) header.shade = atoi( group.value ); else error( "Bad integer group" ); if( setup.verbose ) message( " Face shading: %s", shading[ header.shade ] ); }