void build_example1(GtkWidget *active_plot,GtkPlotDT *data, gint num) { GdkColor color; gdouble *px1= (gdouble *)g_malloc(sizeof(gdouble)*num*3); gdouble *py1= (gdouble *)g_malloc(sizeof(gdouble)*num*3); gdouble *px2= (gdouble *)g_malloc(sizeof(gdouble)*num*3); gdouble *py2= (gdouble *)g_malloc(sizeof(gdouble)*num*3); gdouble ax,ay,bx,by,cx,cy; GtkPlotDTtriangle *t= NULL; GList *list = NULL; gint i = 0; list = data->triangles; while(list){ t = (GtkPlotDTtriangle *)list->data; ax= gtk_plot_dt_get_node(data,t->a)->x; ay= gtk_plot_dt_get_node(data,t->a)->y; bx= gtk_plot_dt_get_node(data,t->b)->x; by= gtk_plot_dt_get_node(data,t->b)->y; cx= gtk_plot_dt_get_node(data,t->c)->x; cy= gtk_plot_dt_get_node(data,t->c)->y; px1[i*3+0]= ax; py1[i*3+0]= ay; px2[i*3+0]= bx-ax; py2[i*3+0]= by-ay; px1[i*3+1]= bx; py1[i*3+1]= by; px2[i*3+1]= cx-bx; py2[i*3+1]= cy-by; px1[i*3+2]= cx; py1[i*3+2]= cy; px2[i*3+2]= ax-cx; py2[i*3+2]= ay-cy; i++; list = list->next; } fprintf(stderr,"%d triangles, %d points\n",num,num*3); dataset[0] = GTK_PLOT_DATA(gtk_plot_flux_new()); gtk_plot_add_data(GTK_PLOT(active_plot), dataset[0]); gtk_widget_show(GTK_WIDGET(dataset[0])); gtk_plot_data_set_points(dataset[0], px1, py1, px2, py2, num*3); gtk_plot_flux_center(GTK_PLOT_FLUX(dataset[0]), FALSE); gdk_color_parse("red", &color); gdk_color_alloc(gdk_colormap_get_system(), &color); gtk_plot_flux_set_arrow(GTK_PLOT_FLUX(dataset[0]), 0, 0, 0); gtk_plot_data_set_symbol(dataset[0], GTK_PLOT_SYMBOL_CIRCLE, GTK_PLOT_SYMBOL_OPAQUE, 0,1, &color, &color); gtk_plot_data_set_line_attributes(dataset[0], GTK_PLOT_LINE_NONE, 0, &color); gtk_plot_data_set_legend(dataset[0], "Delaunay triangulization"); }
void build_example1(GtkWidget *active_plot) { GdkColor color; static gdouble px1[]={0., 0.2, 0.4, 0.6, 0.8, 1.0}; static gdouble py1[]={.2, .4, .5, .35, .30, .40}; static gdouble px2[]={.12, .22, .27, .12, .052, .42}; static gdouble py2[]={.0, .05, .12, .22, .16, .1}; /* static gdouble px1[]={0., 0.2, 0.4, 0.6, 0.8, 1.0}; static gdouble py1[]={.2, .4, .5, .35, .30, .40}; static gdouble px2[]={.02, 0, -.02, 0, .052, .42}; static gdouble py2[]={.0, .05, .0, -0.02, .16, .1}; */ dataset[0] = GTK_PLOT_DATA(gtk_plot_flux_new()); gtk_plot_add_data(GTK_PLOT(active_plot), dataset[0]); gtk_widget_show(GTK_WIDGET(dataset[0])); gtk_plot_data_set_points(dataset[0], px1, py1, px2, py2, 6); gtk_plot_flux_set_size_max(GTK_PLOT_FLUX(dataset[0]), 50); gtk_plot_flux_set_scale_max(GTK_PLOT_FLUX(dataset[0]), 0.5); /* gtk_plot_flux_set_labels_prefix(GTK_PLOT_FLUX(dataset[0]), "A"); gtk_plot_flux_set_labels_suffix(GTK_PLOT_FLUX(dataset[0]), "B"); */ /* gtk_plot_flux_center(GTK_PLOT_FLUX(dataset[0]), FALSE); */ gdk_color_parse("red", &color); gdk_color_alloc(gdk_colormap_get_system(), &color); gtk_plot_data_set_symbol(dataset[0], GTK_PLOT_SYMBOL_NONE, GTK_PLOT_SYMBOL_OPAQUE, 10, 2, &color, &color); gtk_plot_data_set_line_attributes(dataset[0], GTK_PLOT_LINE_NONE, 0, 0, 1, &color); gtk_plot_data_set_legend(dataset[0], "Flux"); }