annotate src/pt-plot.h @ 3503:d14c483b3c12

[project @ 2000-02-01 04:06:07 by jwe]
author jwe
date Tue, 01 Feb 2000 04:06:39 +0000
parents e4bbfc196e53
children b80bbb43a1a9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
1 /*
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
2
2847
8b262e771614 [project @ 1997-03-27 16:18:26 by jwe]
jwe
parents: 2543
diff changeset
3 Copyright (C) 1996, 1997 John W. Eaton
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
4
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
6
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
9 Free Software Foundation; either version 2, or (at your option) any
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
10 later version.
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
11
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
15 for more details.
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
16
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, write to the Free
1315
611d403c7f3d [project @ 1995-06-25 19:56:32 by jwe]
jwe
parents: 1297
diff changeset
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
20
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
21 */
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
22
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
23 #if !defined (octave_tree_plot_h)
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
24 #define octave_tree_plot_h 1
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
25
1297
12ecc2ecf0e3 [project @ 1995-05-01 18:39:43 by jwe]
jwe
parents: 1227
diff changeset
26 #if defined (__GNUG__)
12ecc2ecf0e3 [project @ 1995-05-01 18:39:43 by jwe]
jwe
parents: 1227
diff changeset
27 #pragma interface
12ecc2ecf0e3 [project @ 1995-05-01 18:39:43 by jwe]
jwe
parents: 1227
diff changeset
28 #endif
12ecc2ecf0e3 [project @ 1995-05-01 18:39:43 by jwe]
jwe
parents: 1227
diff changeset
29
3503
d14c483b3c12 [project @ 2000-02-01 04:06:07 by jwe]
jwe
parents: 3165
diff changeset
30 #include <iostream>
d14c483b3c12 [project @ 2000-02-01 04:06:07 by jwe]
jwe
parents: 3165
diff changeset
31 #include <strstream>
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 578
diff changeset
32
2878
55cca18e943a [project @ 1997-04-24 09:19:43 by jwe]
jwe
parents: 2847
diff changeset
33 class tree_expression;
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
34 class tree_plot_command;
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
35 class plot_limits;
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
36 class plot_range;
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
37 class subplot_using;
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
38 class subplot_style;
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
39 class subplot_axes;
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
40 class subplot;
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
41 class subplot_list;
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
42
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
43 class tree_walker;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
44
2220
fd8d48295891 [project @ 1996-05-17 06:55:07 by jwe]
jwe
parents: 2175
diff changeset
45 #include <csignal>
fd8d48295891 [project @ 1996-05-17 06:55:07 by jwe]
jwe
parents: 2175
diff changeset
46
1745
fa3e6cf13745 [project @ 1996-01-13 07:33:24 by jwe]
jwe
parents: 1740
diff changeset
47 #include <string>
fa3e6cf13745 [project @ 1996-01-13 07:33:24 by jwe]
jwe
parents: 1740
diff changeset
48
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
49 #include <SLList.h>
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
50
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
51 #include "dColVector.h"
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
52
1740
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
53 #include "pt-cmd.h"
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
54
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
55 class
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
56 tree_plot_command : public tree_command
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
57 {
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
58 public:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
59
1740
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
60 tree_plot_command (subplot_list *plt = 0, plot_limits *rng = 0, int nd = 0)
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
61 : tree_command (), ndim (nd), range (rng), plot_list (plt) { }
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
62
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
63 ~tree_plot_command (void);
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
64
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
65 void eval (void);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
66
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
67 int num_dimensions (void) { return ndim; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
68
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
69 plot_limits *limits (void) { return range; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
70
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
71 subplot_list *subplots (void) { return plot_list; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
72
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
73 void accept (tree_walker& tw);
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 578
diff changeset
74
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
75 private:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
76
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
77 // The number of dimensions. 1 indicates a replot command.
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
78 int ndim;
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
79
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
80 // The data ranges for the plot.
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
81 plot_limits *range;
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
82
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
83 // The list of plots for this plot command. For example, the
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
84 // command "plot sin(x), cos(x)" has two subplot commands.
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
85 subplot_list *plot_list;
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
86
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
87 // No copying!
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
88
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
89 tree_plot_command (const tree_plot_command&);
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
90
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
91 tree_plot_command& operator = (const tree_plot_command&);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
92 };
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
93
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
94 class
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
95 plot_limits
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
96 {
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
97 public:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
98
1740
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
99 plot_limits (plot_range *xlim = 0, plot_range *ylim = 0,
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
100 plot_range *zlim = 0)
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
101 : x_range (xlim), y_range (ylim), z_range (zlim) { }
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
102
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
103 ~plot_limits (void);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
104
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1755
diff changeset
105 void print (int ndim, ostrstream& plot_buf);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
106
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
107 plot_range *x_limits (void) { return x_range; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
108 plot_range *y_limits (void) { return y_range; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
109 plot_range *z_limits (void) { return z_range; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
110
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
111 void accept (tree_walker& tw);
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
112
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
113 private:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
114
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
115 // Specified limits of the x, y, and z axes we should display for
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
116 // this plot.
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
117 plot_range *x_range;
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
118 plot_range *y_range;
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
119 plot_range *z_range;
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
120
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
121 // No copying!
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
122
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
123 plot_limits (const plot_limits&);
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
124
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
125 plot_limits& operator = (const plot_limits&);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
126 };
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
127
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
128 class
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
129 plot_range
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
130 {
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
131 public:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
132
1740
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
133 plot_range (tree_expression *l = 0, tree_expression *u = 0)
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
134 : lower (l), upper (u) { }
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
135
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
136 ~plot_range (void);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
137
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
138 void print (ostrstream& plot_buf);
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
139
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
140 tree_expression *lower_bound (void) { return lower; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
141
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
142 tree_expression *upper_bound (void) { return upper; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
143
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
144 void accept (tree_walker& tw);
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
145
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
146 private:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
147
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
148 // A range can specify a lower or upper bound or both. If neither
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
149 // is specified, the range to display is determined from the data.
491
2d7f9d72170c [project @ 1994-07-06 14:50:43 by jwe]
jwe
parents: 454
diff changeset
150 tree_expression *lower;
2d7f9d72170c [project @ 1994-07-06 14:50:43 by jwe]
jwe
parents: 454
diff changeset
151 tree_expression *upper;
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
152
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
153 // No copying!
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
154
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
155 plot_range (const plot_range&);
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
156
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
157 plot_range& operator = (const plot_range&);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
158 };
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
159
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
160 class
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
161 subplot_using
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
162 {
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
163 public:
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
164
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
165 subplot_using (tree_expression *fmt = 0)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
166 : qual_count (0), scanf_fmt (fmt), val (4, -1)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
167 {
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
168 x[0] = x[1] = x[2] = x[3] = 0;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
169 }
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
170
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
171 ~subplot_using (void);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
172
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
173 subplot_using *set_format (tree_expression *fmt)
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
174 {
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
175 scanf_fmt = fmt;
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
176 return this;
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
177 }
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
178
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
179 subplot_using *add_qualifier (tree_expression *t)
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
180 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
181 if (qual_count < 4)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
182 x[qual_count] = t;
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
183
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
184 qual_count++;
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
185
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
186 return this;
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
187 }
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
188
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
189 int eval (int ndim, int n_max);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
190
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
191 ColumnVector values (int ndim, int n_max = 0);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
192
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
193 int print (int ndim, int n_max, ostrstream& plot_buf);
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
194
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
195 int qualifier_count (void) { return qual_count; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
196
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
197 tree_expression **qualifiers (void) { return x; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
198
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
199 tree_expression *scanf_format (void) { return scanf_fmt; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
200
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
201 void accept (tree_walker& tw);
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
202
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
203 private:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
204
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
205 // The number of using qualifiers (in "using 1:2", 1 and 2 are the
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
206 // qualifiers).
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
207 int qual_count;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
208
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
209 // An optional scanf-style format. This is parsed and stored but
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
210 // not currently used.
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
211 tree_expression *scanf_fmt;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
212
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
213 // This is a cache for evaluated versions of the qualifiers stored
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
214 // in x.
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
215 ColumnVector val;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
216
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
217 // A vector to hold using qualifiers.
491
2d7f9d72170c [project @ 1994-07-06 14:50:43 by jwe]
jwe
parents: 454
diff changeset
218 tree_expression *x[4];
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
219
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
220 // No copying!
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
221
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
222 subplot_using (const subplot_using&);
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
223
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
224 subplot_using& operator = (const subplot_using&);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
225 };
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
226
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
227 class
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
228 subplot_style
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
229 {
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
230 public:
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
231
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
232 subplot_style (const string& s = string (),
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
233 tree_expression *lt = 0, tree_expression *pt = 0)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
234 : sp_style (s), sp_linetype (lt), sp_pointtype (pt) { }
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
235
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
236 ~subplot_style (void);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
237
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
238 int print (ostrstream& plot_buf);
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
239
2543
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2220
diff changeset
240 bool columns_ok (int nc);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
241
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
242 string style (void) { return sp_style; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
243
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
244 tree_expression *linetype (void) { return sp_linetype; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
245
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
246 tree_expression *pointtype (void) { return sp_pointtype; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
247
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
248 void accept (tree_walker& tw);
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
249
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
250 private:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
251
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
252 // The style we are using: `lines', `points', etc.
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
253 string sp_style;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
254
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
255 // The number of the line type to use.
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
256 tree_expression *sp_linetype;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
257
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
258 // The number of the point type to use.
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
259 tree_expression *sp_pointtype;
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
260
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
261 // No copying!
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
262
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
263 subplot_style (const subplot_style&);
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
264
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
265 subplot_style& operator = (const subplot_style&);
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
266 };
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
267
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
268 class
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
269 subplot_axes
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
270 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
271 public:
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
272
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
273 subplot_axes (const string& s = string ())
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
274 : sp_axes (s) { }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
275
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
276 ~subplot_axes (void) { }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
277
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
278 int print (ostrstream& plot_buf);
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
279
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
280 string axes (void) { return sp_axes; }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
281
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
282 void accept (tree_walker& tw);
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
283
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
284 private:
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
285
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
286 // The axes we are using: `x1y1', `x1y2', etc.
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
287 string sp_axes;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
288
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
289 // No copying!
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
290
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
291 subplot_axes (const subplot_axes&);
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
292
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
293 subplot_axes& operator = (const subplot_axes&);
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
294 };
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
295
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
296 class
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
297 subplot
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
298 {
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
299 public:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
300
1740
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
301 subplot (tree_expression *data = 0)
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
302 : sp_plot_data (data), sp_using_clause (0), sp_title_clause (0),
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
303 sp_style_clause (0), sp_axes_clause (0) { }
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
304
878
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
305 ~subplot (void);
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
306
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
307 subplot *add_data (tree_expression *data)
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
308 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
309 sp_plot_data = data;
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
310 return this;
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
311 }
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
312
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
313 subplot *add_clause (subplot_using *u)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
314 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
315 if (! sp_using_clause)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
316 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
317 sp_using_clause = u;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
318 return this;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
319 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
320 else
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
321 return 0;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
322 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
323
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
324 subplot *add_clause (tree_expression *t)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
325 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
326 if (! sp_title_clause)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
327 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
328 sp_title_clause = t;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
329 return this;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
330 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
331 else
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
332 return 0;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
333 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
334
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
335 subplot *add_clause (subplot_style *s)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
336 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
337 if (! sp_style_clause)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
338 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
339 sp_style_clause = s;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
340 return this;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
341 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
342 else
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
343 return 0;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
344 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
345
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
346 subplot *add_clause (subplot_axes *a)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
347 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
348 if (! sp_axes_clause)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
349 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
350 sp_axes_clause = a;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
351 return this;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
352 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
353 else
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
354 return 0;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
355 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
356
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
357 octave_value extract_plot_data (int ndim, octave_value& data);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
358
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
359 int handle_plot_data (int ndim, ostrstream& plot_buf);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 596
diff changeset
360
878
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
361 int print (int ndim, ostrstream& plot_buf);
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
362
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
363 tree_expression *plot_data (void) { return sp_plot_data; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
364
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
365 subplot_using *using_clause (void) { return sp_using_clause; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
366
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
367 tree_expression *title_clause (void) { return sp_title_clause; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
368
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
369 subplot_style *style_clause (void) { return sp_style_clause; }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
370
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
371 subplot_axes *axes_clause (void) { return sp_axes_clause; }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
372
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
373 void accept (tree_walker& tw);
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
374
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
375 private:
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
376
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
377 // The data to plot.
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
378 tree_expression *sp_plot_data;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
379
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
380 // The `using' option
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
381 subplot_using *sp_using_clause;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
382
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
383 // The `title' option
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
384 tree_expression *sp_title_clause;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
385
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
386 // The `style' option
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
387 subplot_style *sp_style_clause;
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
388
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
389 // The `axes' option
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
390 subplot_axes *sp_axes_clause;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 2988
diff changeset
391
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
392 // No copying!
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
393
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
394 subplot (const subplot&);
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
395
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
396 subplot& operator = (const subplot&);
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
397 };
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
398
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
399 class
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
400 subplot_list : public SLList<subplot *>
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
401 {
1740
fe9d3b2ded26 [project @ 1996-01-12 11:03:26 by jwe]
jwe
parents: 1622
diff changeset
402 public:
878
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
403
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
404 subplot_list (void)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
405 : SLList<subplot *> () { }
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
406
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
407 subplot_list (subplot *t)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
408 : SLList<subplot *> () { append (t); }
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
409
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1328
diff changeset
410 ~subplot_list (void);
593
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
411
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
412 int print (int ndim, ostrstream& plot_buf);
6f948c6251a9 [project @ 1994-08-09 04:29:10 by jwe]
jwe
parents: 584
diff changeset
413
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
414 void accept (tree_walker& tw);
2988
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
415
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
416 private:
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
417
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
418 // No copying!
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
419
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
420 subplot_list (const subplot_list&);
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
421
daa1ed1f5462 [project @ 1997-05-16 07:23:15 by jwe]
jwe
parents: 2907
diff changeset
422 subplot_list& operator = (const subplot_list&);
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
423 };
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 524
diff changeset
424
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
425 extern string save_in_tmp_file (octave_value& t, int ndim = 2,
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1755
diff changeset
426 bool parametric = false);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 499
diff changeset
427
1745
fa3e6cf13745 [project @ 1996-01-13 07:33:24 by jwe]
jwe
parents: 1740
diff changeset
428 extern void mark_for_deletion (const string&);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 499
diff changeset
429
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 499
diff changeset
430 extern void cleanup_tmp_files (void);
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 499
diff changeset
431
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 499
diff changeset
432 extern void close_plot_stream (void);
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 499
diff changeset
433
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1745
diff changeset
434 extern void do_external_plotter_cd (const string& newdir);
1328
ec2ab864e8eb [project @ 1995-08-22 22:32:34 by jwe]
jwe
parents: 1315
diff changeset
435
454
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
436 #endif
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
437
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
438 /*
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
439 ;;; Local Variables: ***
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
440 ;;; mode: C++ ***
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
441 ;;; End: ***
94cc7b5fc789 [project @ 1994-06-06 00:15:43 by jwe]
jwe
parents:
diff changeset
442 */