Re: XForms: xyplot limit

moini@eleceng.adelaide.edu.au
Thu, 23 Jul 1998 10:44:50 +0930 (CST)

# To subscribers of the xforms list from moini@eleceng.adelaide.edu.au :

> No. The buffers are dynamically allocated and there is no limit other
> than that imposed by the memory available on the system. I just tried
> it with 128K points and got the expected result.
>
> Can you provide a simple piece of example code which exhibits this
> behavior?
This is just the xyplotover in the DEMOS.
One thing that I found was that this effect happens only for lines (normal,
dashed, dotted, ...) , but for other types of xyplot (square, circle,
impulse, ...) the plot seems ok.

Thanks
Ali
/***********************************************************************/
/*
* Demo showing the use of xyplot overlay, plot key and
* PostScript output.
*
* This file is part of xforms package
* T.C. Zhao and M. Overmars
*/

#include "forms.h"
#include <stdlib.h>
#include <math.h>

#define N 130000

/**** Forms and Objects ****/
typedef struct
{
FL_FORM *fff;
void *vdata;
long ldata;
FL_OBJECT *xyplot;
} FD_fff;

extern FD_fff *create_form_fff(void);
extern void init_xyplot(FD_fff *);

int
main(int argc, char *argv[])
{
FD_fff *fd_fff;

fl_initialize(&argc, argv, "FormDemo", 0, 0);

fd_fff = create_form_fff();

/* fill-in form initialization code */
init_xyplot(fd_fff);

/* show the first form */
fl_show_form(fd_fff->fff, FL_PLACE_MOUSE, FL_TRANSIENT, "XYPlot Overlay");

fl_do_forms();

return 0;
}

void
init_xyplot(FD_fff * fd_fff)
{
int i,n;
float xx[N], yy[N];

for(i=0;i<N;i++){
xx[i]=i;
yy[i]=i;
}

fl_set_xyplot_data(fd_fff->xyplot, xx, yy, N, "Plot Title", "X-Axis", "Y|Axis");
fl_get_xyplot_data(fd_fff->xyplot, xx, yy, &n);
fl_set_xyplot_ybounds(fd_fff->xyplot, 0, N);
fl_set_xyplot_xbounds(fd_fff->xyplot, 0, N);

}

FD_fff *
create_form_fff(void)
{
FL_OBJECT *obj;
FD_fff *fdui = (FD_fff *) fl_calloc(1, sizeof(*fdui));

fdui->fff = fl_bgn_form(FL_NO_BOX, 370, 310);
obj = fl_add_box(FL_UP_BOX, 0, 0, 370, 310, "");
fdui->xyplot = obj = fl_add_xyplot(FL_NORMAL_XYPLOT, 10, 20, 350, 260,
"An XYPlot with overlay");
fl_set_object_lalign(obj, FL_ALIGN_BOTTOM | FL_ALIGN_INSIDE);
fl_set_object_lsize(obj, FL_NORMAL_SIZE);
fl_set_object_boxtype(obj, FL_DOWN_BOX);
fl_set_object_color(obj, FL_BLACK, FL_GREEN);
obj = fl_add_button(FL_HIDDEN_BUTTON, 10, 10, 350, 290, "");
fl_set_button_shortcut(obj,"qQ", 0);
fl_end_form();

return fdui;
}

/*---------------------------------------*/
_________________________________________________
To unsubscribe, send the message "unsubscribe" to
xforms-request@bob.usuf2.usuhs.mil or see
http://bob.usuf2.usuhs.mil/mailserv/xforms.html
XForms Home Page: http://bragg.phys.uwm.edu/xforms
List Archive: http://bob.usuf2.usuhs.mil/mailserv/list-archives/