72 virtual void elements(
int& _nx,
int& _ny ) = 0;
141 const char *driver = NULL,
const char *file = NULL );
143 const char *driver = NULL,
const char *file = NULL );
153 void adv(
PLINT page );
164 void svect(
const PLFLT *arrow_x = NULL,
const PLFLT *arrow_y = NULL,
PLINT npts = 0,
bool fill =
false );
182 void box(
const char *xopt,
PLFLT xtick,
PLINT nxsub,
187 void box3(
const char *xopt,
const char *xlabel,
PLFLT xtick,
PLINT nsubx,
188 const char *yopt,
const char *ylabel,
PLFLT ytick,
PLINT nsuby,
189 const char *zopt,
const char *zlabel,
PLFLT ztick,
PLINT nsubz );
206 void col0(
PLINT icol0 );
215 void col1(
PLFLT c );
249 void cpstrm(
plstream &pls,
bool flags );
317 void font(
PLINT ifont );
321 void fontld(
PLINT fnt );
345 void gcompression(
PLINT& compression );
353 void gdiori(
PLFLT& rot );
369 void gfnam(
char *fnam );
377 void glevel(
PLINT &p_level );
410 void gver(
char *p_ver );
447 void lab(
const char *xlabel,
const char *ylabel,
const char *tlabel );
450 void legend(
PLFLT *p_legend_width,
PLFLT *p_legend_height,
456 PLFLT text_justification,
457 const PLINT *text_colors,
const char *
const *text,
458 const PLINT *box_colors,
const PLINT *box_patterns,
459 const PLFLT *box_scales,
const PLFLT *box_line_widths,
460 const PLINT *line_colors,
const PLINT *line_styles,
461 const PLFLT *line_widths,
462 const PLINT *symbol_colors,
const PLFLT *symbol_scales,
463 const PLINT *symbol_numbers,
const char *
const *symbols );
465 void colorbar(
PLFLT *p_colorbar_width,
PLFLT *p_colorbar_height,
471 PLINT n_labels,
PLINT *label_opts,
const char *
const *label,
472 PLINT n_axes,
const char *
const *axis_opts,
474 PLINT *n_values,
const PLFLT *
const *values );
490 void lsty(
PLINT lin );
501 const PLINT *plotentries,
PLINT nplotentries );
506 const char *name,
const char *
string,
508 const PLINT *plotentries,
PLINT nplotentries );
590 PLINT parseopts(
int *p_argc,
char **argv,
PLINT mode );
610 void poly3(
PLINT n,
const PLFLT *x,
const PLFLT *y,
const PLFLT *z,
const bool *draw,
bool ifcc );
618 void psty(
PLINT patt );
644 void scmap0n(
PLINT ncol0 );
648 void scmap1n(
PLINT ncol1 );
652 void scmap1_range(
PLFLT min_color,
PLFLT max_color );
656 void gcmap1_range(
PLFLT &min_color,
PLFLT &max_color );
677 void scmap1l(
bool itype,
PLINT npts,
const PLFLT *intensity,
678 const PLFLT *coord1,
const PLFLT *coord2,
const PLFLT *coord3,
const bool *alt_hue_path = NULL );
687 void scmap1la(
bool itype,
PLINT npts,
const PLFLT *intensity,
689 const bool *alt_hue_path = NULL );
709 void scolor(
PLINT color );
713 void scompression(
PLINT compression );
717 void sdev(
const char *devname );
721 void gdev(
char *devname );
736 void sdiori(
PLFLT rot );
748 void sesc(
char esc );
757 void setcontlabelformat(
PLINT lexp,
PLINT sigdig );
769 void sfnam(
const char *fnam );
773 void sdevdata(
void *data );
856 void smem(
PLINT maxx,
PLINT maxy,
void *plotmem );
860 void smema(
PLINT maxx,
PLINT maxy,
void *plotmem );
868 void sori(
PLINT ori );
877 void spause(
bool pause );
881 void spal0(
const char *filename );
885 void spal1(
const char *filename,
bool interpolate =
true );
889 void sstrm(
PLINT strm );
905 void start(
const char *devname,
PLINT nx,
PLINT ny );
917 void string(
PLINT n,
const PLFLT *x,
const PLFLT *y,
const char *
string );
929 void stripc(
PLINT *
id,
const char *xspec,
const char *yspec,
932 bool y_ascl,
bool acc,
934 const PLINT colline[],
const PLINT styline[],
const char *legline[],
935 const char *labx,
const char *laby,
const char *labtop );
943 void stripd(
PLINT id );
973 void sxwin(
PLINT window_id );
993 void timefmt(
const char *fmt );
998 void vasp(
PLFLT aspect );
1022 void width(
PLFLT width );
1029 void xormod(
bool mode,
bool *status );
1034 void seed(
unsigned int s );
1036 PLFLT randd(
void );
1043 void gFileDevs(
const char ***p_menustr,
const char ***p_devname,
1048 void sKeyEH(
void ( *KeyEH )(
PLGraphicsIn *,
void *,
int * ),
1053 void sbopH(
void ( *handler )(
void *,
int * ),
void *handlier_data );
1057 void seopH(
void ( *handler )(
void *,
int * ),
void *handlier_data );
1065 void sexit(
int ( *handler )(
const char * ) );
1135 void SetUsage(
char *program_string,
char *usage_string );
1139 PLINT setopt(
const char *opt,
const char *optarg );
1143 int SetOpt(
const char *opt,
const char *optarg );
1153 void gfile( FILE **p_file );
1157 void sfile( FILE *file );
1161 void gesc(
char *p_esc );
1178 void GetName(
char *dir,
char *subdir,
char *filename,
char **filespec );
1268 void stripc(
PLINT *
id,
const char *xspec,
const char *yspec,
1273 const PLINT colline[],
const PLINT styline[],
const char *legline[],
1274 const char *labx,
const char *laby,
const char *labtop );
virtual void elements(int &nx, int &ny) const
virtual ~Contourable_Data()
Contourable_Data(int nx, int ny)
virtual PLFLT operator()(int i, int j) const =0
virtual void min_max(PLFLT &_min, PLFLT &_max)=0
virtual PLFLT operator()(int ix, int iy) const =0
virtual void elements(int &_nx, int &_ny)=0
cxx_pltr2(Coord_2d &cx, Coord_2d &cy)
void xform(PLFLT x, PLFLT y, PLFLT &tx, PLFLT &ty) const
plstream & operator=(const plstream &)
void cmd(PLINT op, void *ptr)
PLINT setopt(const char *opt, const char *optarg)
void fill(PLINT n, const PLFLT *x, const PLFLT *y)
int SetOpt(const char *opt, const char *optarg)
PLINT GetCursor(PLGraphicsIn *plg)
char * FindCommand(char *fn)
virtual void set_stream(void)
void seopH(void(*handler)(void *, int *), void *handlier_data)
void fshade(PLFLT(*f2eval)(PLINT, PLINT, PLPointer), PLPointer f2eval_data, PLFLT(*c2eval)(PLINT, PLINT, PLPointer), PLPointer c2eval_data, PLINT nx, PLINT ny, PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, PLFILL_callback fill, bool rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
static PLINT active_streams
void plot3d(const PLFLT *x, const PLFLT *y, const PLFLT *const *z, PLINT nx, PLINT ny, PLINT opt, bool side)
void shade(const PLFLT *const *a, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT left, PLFLT right, PLFLT bottom, PLFLT top, PLFLT shade_min, PLFLT shade_max, PLINT sh_cmap, PLFLT sh_color, PLFLT sh_width, PLINT min_color, PLFLT min_width, PLINT max_color, PLFLT max_width, PLFILL_callback fill, bool rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
void Static2dGrid(PLFLT_NC_MATRIX zIliffe, PLFLT_VECTOR zStatic, PLINT nx, PLINT ny)
void Free2dGrid(PLFLT **f, PLINT nx, PLINT ny)
void scmap1l(bool itype, PLINT npts, const PLFLT *intensity, const PLFLT *coord1, const PLFLT *coord2, const PLFLT *coord3, const bool *alt_hue_path=NULL)
void GetName(char *dir, char *subdir, char *filename, char **filespec)
plstream(const plstream &)
void sexit(int(*handler)(const char *))
void Alloc2dGrid(PLFLT_NC_MATRIX *f, PLINT nx, PLINT ny)
void sError(PLINT *errcode, char *errmsg)
PLINT MergeOpts(PLOptionTable *options, const char *name, const char **notes)
void rgbhls(PLFLT r, PLFLT g, PLFLT b, PLFLT *p_h, PLFLT *p_l, PLFLT *p_s)
void cpstrm(plstream &pls, bool flags)
void xormod(bool mode, bool *status)
void hlsrgb(PLFLT h, PLFLT l, PLFLT s, PLFLT *p_r, PLFLT *p_g, PLFLT *p_b)
void gfile(FILE **p_file)
void svect(const PLFLT *arrow_x=NULL, const PLFLT *arrow_y=NULL, PLINT npts=0, bool fill=false)
void MinMax2dGrid(PLFLT_MATRIX f, PLINT nx, PLINT ny, PLFLT *fmax, PLFLT *fmin)
void stripc(PLINT *id, const char *xspec, const char *yspec, PLFLT xmin, PLFLT xmax, PLFLT xjump, PLFLT ymin, PLFLT ymax, PLFLT xlpos, PLFLT ylpos, bool y_ascl, bool acc, PLINT colbox, PLINT collab, const PLINT colline[], const PLINT styline[], const char *legline[], const char *labx, const char *laby, const char *labtop)
void poly3(PLINT n, const PLFLT *x, const PLFLT *y, const PLFLT *z, const bool *draw, bool ifcc)
void sbopH(void(*handler)(void *, int *), void *handlier_data)
void shades(const PLFLT *const *a, PLINT nx, PLINT ny, PLDEFINED_callback defined, PLFLT xmin, PLFLT xmax, PLFLT ymin, PLFLT ymax, const PLFLT *clevel, PLINT nlevel, PLFLT fill_width, PLINT cont_color, PLFLT cont_width, PLFILL_callback fill, bool rectangular, PLTRANSFORM_callback pltr, PLPointer pltr_data)
PLFLT f2evalr(PLINT ix, PLINT iy, PLPointer plf2eval_data)
PLFLT f2eval2(PLINT ix, PLINT iy, PLPointer plf2eval_data)
PLFLT f2eval(PLINT ix, PLINT iy, PLPointer plf2eval_data)
void SetUsage(char *program_string, char *usage_string)
PLDLLIMPEXP_CXX void tr2(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
PLDLLIMPEXP_CXX void tr2p(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
PLDLLIMPEXP_CXX void fill(PLINT n, const PLFLT *x, const PLFLT *y)
PLDLLIMPEXP_CXX void tr0(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
PLDLLIMPEXP_CXX void tr1(PLFLT x, PLFLT y, PLFLT *tx, PLFLT *ty, PLPointer pltr_data)
void c_plsstrm(PLINT strm)
void(*) PLMAPFORM_callback(PLINT n, PLFLT_NC_VECTOR x, PLFLT_NC_VECTOR y)
void(*) PLTRANSFORM_callback(PLFLT x, PLFLT y, PLFLT_NC_SCALAR xp, PLFLT_NC_SCALAR yp, PLPointer data)
const PLFLT * PLFLT_VECTOR
const PLFLT *const * PLFLT_MATRIX
void(*) PLFILL_callback(PLINT n, PLFLT_VECTOR x, PLFLT_VECTOR y)
PLINT(*) PLDEFINED_callback(PLFLT x, PLFLT y)
void(*) PLLABEL_FUNC_callback(PLINT axis, PLFLT value, PLCHAR_NC_VECTOR label, PLINT length, PLPointer data)
plgriddata(x, y, z, xg, yg, type, data)\n\ \n\ \n\ This function is used in example 21.\n\ \n\ \n\ \n\ SYNOPSIS:\n\ \n\ plgriddata(x, y, z, npts, xg, nptsx, yg, nptsy, zg, type, data)\n\ \n\ ARGUMENTS:\n\ \n\ x(PLFLT_VECTOR, input) : The input x vector.\n\ \n\ y(PLFLT_VECTOR, input) : The input y vector.\n\ \n\ z(PLFLT_VECTOR, input) : The input z vector. Each triple x[i],\n\ y[i], z[i] represents one data sample coordinate.\n\ \n\ npts(PLINT, input) : The number of data samples in the x, y and z\n\ vectors.\n\ \n\ xg(PLFLT_VECTOR, input) : A vector that specifies the grid spacing\n\ in the x direction. Usually xg has nptsx equally spaced values\n\ from the minimum to the maximum values of the x input vector.\n\ \n\ nptsx(PLINT, input) : The number of points in the xg vector.\n\ \n\ yg(PLFLT_VECTOR, input) : A vector that specifies the grid spacing\n\ in the y direction. Similar to the xg parameter.\n\ \n\ nptsy(PLINT, input) : The number of points in the yg vector.\n\ \n\ zg(PLFLT_NC_MATRIX, output) : The matrix of interpolated results\n\ where data lies in the grid specified by xg and yg. Therefore the\n\ zg matrix must be dimensioned\n\ nptsx by\n\ nptsy.\n\ \n\ type(PLINT, input) : The type of grid interpolation algorithm to\n\ use, which can be:GRID_CSA:Bivariate Cubic Spline approximation\n\ GRID_DTLI:Delaunay Triangulation Linear Interpolation\n\ GRID_NNI:Natural Neighbors Interpolation\n\ GRID_NNIDW:Nearest Neighbors Inverse Distance Weighted\n\ GRID_NNLI:Nearest Neighbors Linear Interpolation\n\ GRID_NNAIDW: Nearest Neighbors Around Inverse Distance\n\ Weighted\n\ For details of the algorithms read the source file plgridd.c.\n\ \n\ data(PLFLT, input) : Some gridding algorithms require extra data,\n\ which can be specified through this argument. Currently, for\n\ algorithm:GRID_NNIDW, data specifies the number of neighbors to\n\ use, the lower the value, the noisier(more local) the\n\ approximation is.\n\ GRID_NNLI, data specifies what a thin triangle is, in the\n\ range[1. .. 2.]. High values enable the usage of very thin\n\ triangles for interpolation, possibly resulting in error in\n\ the approximation.\n\ GRID_NNI, only weights greater than data will be accepted. If\n\ 0, all weights will be accepted.\n\ " zg
void(*) label_func(PLINT, PLFLT, char *, PLINT, PLPointer)
void Coord_Xform_evaluator(PLFLT ox, PLFLT oy, PLFLT *nx, PLFLT *ny, PLPointer p)
PLFLT Contourable_Data_evaluator(PLINT i, PLINT j, PLPointer p)
void mapform(PLINT n, PLFLT *x, PLFLT *y)