示例#1
0
static void make_2nd_level_image_menu(){
	int iflag_draw_m = send_iflag_draw_mesh();
	int iflag_draw_p = send_iflag_draw_current_psf();
	int iflag_draw_f = send_iflag_draw_fline();
	int iflag_axis =       send_object_property_flags(AXIS_TOGGLE);
	int iflag_draw_coast = send_object_property_flags(COASTLINE_SWITCH);
	int iflag_draw_sph =   send_object_property_flags(SPHEREGRID_SWITCH);
	
	glut_menu_id->color_mode_menu = glutCreateMenu(color_mode_handler);
	glut_color_mode_menu_item();
	
	glut_menu_id->polygon_id_menu = glutCreateMenu(object_property_handler);
	
	glut_draw_axis_menu_item(iflag_axis);
	glut_draw_coast_menu_item(iflag_draw_coast);
	glut_draw_sph_grid_menu_item(iflag_draw_sph);
	if ( (iflag_draw_coast != 0) || (iflag_draw_sph != 0)) {
		glutAddMenuEntry("Set Coastline radius",SET_COAST_RADIUS);
	};
	
	glut_drawing_select();
	if ( (iflag_draw_m > 0) && (iflag_draw_p == 0) && (iflag_draw_f == 0) ) {
		glutAddMenuEntry("Object distance",SET_DISTANCE_DOMAIN);
	};
	glutAddMenuEntry("Output transfer matrices",OUTPUT_V_MATRIX);
	glutAddMenuEntry("Load transfer matrices",INPUT_V_MATRIX);
	
	glut_menu_id->draw_rot_image_menu = glutCreateMenu(draw_rot_image_handler);
	glutAddMenuEntry("x-axis",ROTATE_X);
	glutAddMenuEntry("y-axis",ROTATE_Y);
	glutAddMenuEntry("z-axis",ROTATE_Z);
	return;
};
示例#2
0
void glut_drawing_select() {
	int iflag_shade = send_object_property_flags(SHADING_SWITCH);
	int iflag_polygon = send_object_property_flags(POLYGON_SWITCH);
	
	if(iflag_shade == FLAT_SHADE ){
		glutAddMenuEntry("flat => smooth",SHADING_SWITCH);
	}
	else{
		glutAddMenuEntry("smooth => flat",SHADING_SWITCH);
	};
	if(iflag_polygon== NORMAL_POLYGON ){
		glutAddMenuEntry("normal => reverse",POLYGON_SWITCH);
	}
	else{
		glutAddMenuEntry("reverse => normal",POLYGON_SWITCH);
	};
	glutAddMenuEntry("size of node", SET_NODE_SIZE);
	
	return;
}