1 |
/* |
2 |
* General Plot Functions |
3 |
* Interface pointer functions for Ascend |
4 |
* Version: $Revision: 1.1 $ |
5 |
* Version control file: $RCSfile: plot.h,v $ |
6 |
* Date last modified: $Date: 1997/07/18 11:47:38 $ |
7 |
* Last modified by: $Author: mthomas $ |
8 |
* Part of Ascend |
9 |
* |
10 |
* This file is part of the Ascend Programming System. |
11 |
* |
12 |
* Copyright (C) 1990 Thomas Guthrie Epperly, Karl Michael Westerberg |
13 |
* Copyright (C) 1994 Kirk Andre Abbott, Benjamin Andrew Allan |
14 |
* |
15 |
* The Ascend Programming System is free software; you can redistribute |
16 |
* it and/or modify it under the terms of the GNU General Public License as |
17 |
* published by the Free Software Foundation; either version 2 of the |
18 |
* License, or (at your option) any later version. |
19 |
* |
20 |
* ASCEND is distributed in hope that it will be |
21 |
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of |
22 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
23 |
* General Public License for more details. |
24 |
* |
25 |
* You should have received a copy of the GNU General Public License |
26 |
* along with the program; if not, write to the Free Software Foundation, |
27 |
* Inc., 675 Mass Ave, Cambridge, MA 02139 USA. Check the file named |
28 |
* COPYING. |
29 |
*/ |
30 |
|
31 |
/** @file |
32 |
* This module defines the plot generation auxillaries for Ascend. |
33 |
* <pre> |
34 |
* Requires: #include "utilities/ascConfig.h" |
35 |
* #include "compiler/instance_enum.h" |
36 |
* </pre> |
37 |
*/ |
38 |
|
39 |
#ifndef plot__already_included |
40 |
#define plot__already_included |
41 |
|
42 |
/** Plot types. */ |
43 |
enum PlotTypes { |
44 |
PLAIN_PLOT, |
45 |
GNU_PLOT, |
46 |
XGRAPH_PLOT |
47 |
}; |
48 |
|
49 |
extern enum PlotTypes g_plot_type; |
50 |
/**< |
51 |
* These are the plot types recognized by the code in plot.c |
52 |
* Parameterized equivalents are also recognized. |
53 |
* <pre> |
54 |
* MODEL plt_point; |
55 |
* x, y IS_A real; |
56 |
* END plt_point; |
57 |
* |
58 |
* MODEL plt_curve; |
59 |
* npnts IS_A set of integer_constant; |
60 |
* pnt[npnts] IS_A plt_point; |
61 |
* legend IS_A symbol; (* or symbol_constant *) |
62 |
* END plt_curve; |
63 |
* |
64 |
* MODEL plt_plot_symbol; |
65 |
* curve_set IS_A set OF symbol_constant; |
66 |
* curve[curve_set] IS_A plt_curve; |
67 |
* |
68 |
* title, XLabel, YLabel IS_A symbol; (* or symbol_constant *) |
69 |
* Xlow,Xhigh,Ylow,Yhigh IS_A real; |
70 |
* Xlog, Ylog IS_A boolean; |
71 |
* END plt_plot_symbol; |
72 |
* |
73 |
* MODEL plt_plot_integer; |
74 |
* curve_set IS_A set of integer_constant; |
75 |
* curve[curve_set] IS_A plt_curve; |
76 |
* |
77 |
* title, XLabel, YLabel IS_A symbol; (* or symbol_constant *) |
78 |
* Xlow,Xhigh,Ylow,Yhigh IS_A real; |
79 |
* Xlog, Ylog IS_A boolean; |
80 |
* END plt_plot_integer; |
81 |
* </pre> |
82 |
* @todo Support for all the attributes of a plt_plot_* |
83 |
* is good only for xgraph. gnuplot has been neglected. |
84 |
*/ |
85 |
|
86 |
extern void plot_prepare_file(struct Instance *inst, char *plotfilename); |
87 |
/**< |
88 |
* <!-- plot_prepare_file(inst,plotfilename) --> |
89 |
* <!-- struct Instance *inst; --> |
90 |
* <!-- char *plotfilename; --> |
91 |
* |
92 |
* Writes data points for the given plot instance to the given plot file. |
93 |
*/ |
94 |
|
95 |
extern boolean plot_allowed(struct Instance *inst); |
96 |
/**< |
97 |
* <!-- allowed = plot_allowed(inst) --> |
98 |
* <!-- boolean allowed; --> |
99 |
* <!-- struct Instance *inst; --> |
100 |
* |
101 |
* Determines whether or not the given instance is allowed to be plotted |
102 |
* (i.e. whether it is a refinement of plt_plot). |
103 |
*/ |
104 |
|
105 |
#endif /* plot__already_included */ |
106 |
|