1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 """Module for generating OpenDX files."""
24
25
26
27 from numpy import ceil, median
28
29
30 from lib.io import open_write_file
31
32
34 """Creating the OpenDX .cfg program configuration file.
35
36 @keyword file_prefix: The base part of the file name without extension.
37 @type file_prefix: str
38 @keyword dir: The directory to place the file in.
39 @type dir: str or None
40 @keyword date: The date string to include in the configuration.
41 @type date: str
42 """
43
44
45 print("\nCreating the OpenDX .cfg program configuration file.")
46
47
48 file = open_write_file(file_name=file_prefix+".cfg", dir=dir, force=True)
49
50
51 file.write("//\n")
52 file.write("//\n")
53 file.write("// time: %s\n" % date)
54 file.write("//\n")
55 file.write("// version: 3.2.0 (format), 4.3.2 (DX)\n")
56 file.write("//\n")
57 file.write("//\n")
58 file.write("// panel[0]: position = (0.0164,0.0000), size = 0.2521x0.1933, startup = 1, devstyle = 1\n")
59 file.write("// title: value = Control Panel\n")
60 file.write("//\n")
61 file.write("// workspace: width = 251, height = 142\n")
62 file.write("// layout: snap = 0, width = 50, height = 50, align = NN\n")
63 file.write("//\n")
64 file.write("// interactor Selector[1]: num_components = 1, value = 1 \n")
65 file.write("// selections: maximum = 2, current = 0 \n")
66 file.write("// option[0]: name = \"Colour\", value = 1\n")
67 file.write("// option[1]: name = \"Grey\", value = 2\n")
68 file.write("// instance: panel = 0, x = 81, y = 6, style = Scrolled List, vertical = 1, size = 170x136\n")
69 file.write("// label: value = Colour Selector\n")
70 file.write("//\n")
71 file.write("// node Image[3]:\n")
72 file.write("// title: value = Surface\n")
73 file.write("// depth: value = 24\n")
74 file.write("// window: position = (0.0000,0.0400), size = 0.9929x0.9276\n")
75
76
77 file.close()
78
79
81 """Create the OpenDX .general file for a 3D map.
82
83 @keyword file_prefix: The base part of the file name without extension.
84 @type file_prefix: str
85 @keyword dir: The directory to place the file in.
86 @type dir: str or None
87 @keyword inc: The number of increments in the 3D map.
88 @type inc: int
89 """
90
91
92 print("\nCreating the OpenDX .general file.")
93
94
95 file = open_write_file(file_name=file_prefix+".general", dir=dir, force=True)
96
97
98 file.write("file = %s\n" % file_prefix)
99 file.write("grid = %s x %s x %s\n" % (inc+1, inc+1, inc+1))
100 file.write("format = ascii\n")
101 file.write("interleaving = field\n")
102 file.write("majority = row\n")
103 file.write("field = data\n")
104 file.write("structure = scalar\n")
105 file.write("type = float\n")
106 file.write("dependency = positions\n")
107 file.write("positions = regular, regular, regular, 0, 1, 0, 1, 0, 1\n\n")
108 file.write("end\n")
109
110
111 file.close()
112
113
114 -def write_point(file_prefix=None, dir=None, inc=None, point=None, num_points=None, bounds=None, N=None):
115 """Creating a sphere at a given position within the map.
116
117 The formula used to calculate the coordinate position is::
118
119 V - L
120 coord = Inc * -----
121 U - L
122
123 where:
124 - V is the coordinate or parameter value.
125 - L is the lower bound value.
126 - U is the upper bound value.
127 - Inc is the number of increments.
128
129 Both a data file and .general file will be created.
130
131
132 @keyword file_prefix: The base part of the file name without extension.
133 @type file_prefix: str
134 @keyword dir: The directory to place the file in.
135 @type dir: str or None
136 @keyword inc: The number of increments in the map.
137 @type inc: int
138 @keyword point: The list of coordinates of the point.
139 @type point: numpy rank-1 float array or list of numpy rank-1 float array.
140 @keyword num_points: The number of points.
141 @type num_points: int
142 @keyword bounds: The bounds of the map.
143 @type bounds: numpy rank-2 float array
144 @keyword N: The dimension of the map.
145 @type N: int
146 """
147
148
149 print("\nCreating the OpenDX .general and data files for the point %s." % point)
150
151
152 point_file = open_write_file(file_name=file_prefix, dir=dir, force=True)
153 point_file_general = open_write_file(file_name=file_prefix+".general", dir=dir, force=True)
154
155
156 if num_points > 1:
157 for i in range(num_points):
158 i_point = point[i]
159
160 coords = inc * (i_point - bounds[:, 0]) / (bounds[:, 1] - bounds[:, 0])
161 for i in range(N):
162 point_file.write("%-15.5g" % coords[i])
163 point_file.write("1\n")
164 else:
165 i_point = point
166
167 coords = inc * (i_point - bounds[:, 0]) / (bounds[:, 1] - bounds[:, 0])
168 for i in range(N):
169 point_file.write("%-15.5g" % coords[i])
170 point_file.write("1\n")
171
172
173 point_file_general.write("file = %s\n" % file_prefix)
174 point_file_general.write("points = %s\n" % num_points)
175 point_file_general.write("format = ascii\n")
176 point_file_general.write("interleaving = field\n")
177 point_file_general.write("field = locations, field0\n")
178 point_file_general.write("structure = 3-vector, scalar\n")
179 point_file_general.write("type = float, float\n\n")
180 point_file_general.write("end\n")
181
182
183 point_file.close()
184 point_file_general.close()
185
186
187 -def write_program(file_prefix=None, point_file=None, dir=None, inc=None, N=None, num_points=None, labels=None, tick_locations=None, tick_values=None, date=None, chi_surface=[7.0, 20.0, 100.0, 500.0]):
188 """Create the OpenDX .net program file.
189
190 @keyword file_prefix: The base part of the file name without extension.
191 @type file_prefix: str
192 @keyword point_file: The name of the point file to be displayed by the program.
193 @type point_file: str or None
194 @keyword dir: The directory to place the file in.
195 @type dir: str or None
196 @keyword inc: The number of increments in the map.
197 @type inc: int
198 @keyword N: The dimension of the map.
199 @type N: int
200 @keyword num_points: The number of points to be displayed by the program.
201 @type num_points: int
202 @keyword labels: The strings associated with the map axes, as an OpenDX string.
203 @type labels: str
204 @keyword tick_locations: The locations of the tick marks, as an OpenDX string.
205 @type tick_locations: str
206 @keyword tick_values: The values of the tick marks, as an OpenDX string.
207 @type tick_values: str
208 @keyword date: The date string to include in the configuration.
209 @type date: str
210 @keyword chi_surface: Chi2 surface level for the Innermost, Inner, Middle and Outer Isosurface.
211 @type chi_surface: list of 4 floats
212 """
213
214
215 print("\nCreating the OpenDX .net program file.")
216
217
218 file = open_write_file(file_name=file_prefix+".net", dir=dir, force=True)
219
220
221 corners = "{[0"
222 for i in range(N - 1):
223 corners += " 0"
224 corners += "] [%s" % inc
225 for i in range(N - 1):
226 corners += " %s" % inc
227 corners += "]}"
228
229
230 sphere_size = repr(0.025 * (inc + 1.0))
231
232
233 image_array1 = "[%s %s %s]" % (0.6 * (inc + 1.0), 0.3 * (inc + 1.0), 0.6 * (inc + 1.0))
234 image_array2 = "[%s %s %s]" % (0.6 * (inc + 1.0), 0.3 * (inc + 1.0), 6.0 * (inc + 1.0))
235 image_val = repr(3.0 * (inc + 1.0))
236
237
238 innermost_isosurface_value, inner_isosurface_value, middle_isosurface_value, outer_isosurface_value = chi_surface
239
240
241
242
243 file.write("//\n")
244 file.write("// time: %s\n" % date)
245 file.write("//\n")
246 file.write("// version: 3.2.0 (format), 4.3.2 (DX)\n")
247 file.write("//\n")
248 file.write("//\n")
249 file.write("// MODULE main\n")
250
251
252 if num_points > 0:
253 file.write("\n")
254 file.write("// page assignment: Colour Space\torder=3, windowed=0, showing=0\n")
255 file.write("// page assignment: ColourScene\t\torder=5, windowed=0, showing=0\n")
256 file.write("// page assignment: Glyph\t\torder=2, windowed=0, showing=0\n")
257 file.write("// page assignment: Grey Space\t\torder=4, windowed=0, showing=0\n")
258 file.write("// page assignment: GreyScene\t\torder=6, windowed=0, showing=0\n")
259 file.write("// page assignment: Image\t\t\torder=7, windowed=0, showing=0\n")
260 file.write("// page assignment: Isosurfaces\t\torder=1, windowed=0, showing=1\n")
261
262
263 else:
264 file.write("\n")
265 file.write("// page assignment: Colour Space\torder=4, windowed=0, showing=0\n")
266 file.write("// page assignment: ColourScene\t\torder=6, windowed=0, showing=0\n")
267 file.write("// page assignment: Grey Space\t\torder=5, windowed=0, showing=0\n")
268 file.write("// page assignment: GreyScene\t\torder=7, windowed=0, showing=0\n")
269 file.write("// page assignment: Image\t\t\torder=8, windowed=0, showing=0\n")
270 file.write("// page assignment: Isosurfaces\t\torder=2, windowed=0, showing=1\n")
271
272
273 file.write("\n")
274 file.write("// workspace: width = 474, height = 354\n")
275 file.write("// layout: snap = 0, width = 50, height = 50, align = NN\n")
276 file.write("//\n")
277 file.write("macro main(\n")
278 file.write(") -> (\n")
279 file.write(") {\n")
280 file.write(" // \n")
281
282
283 if num_points > 0:
284 file.write("\n")
285 file.write(" // node Import[4]: x = 177, y = 62, inputs = 6, label = %s\n" % point_file)
286 file.write(" // input[1]: defaulting = 0, visible = 1, type = 32, value = \"%s.general\"\n" % point_file)
287 file.write(" // input[3]: defaulting = 1, visible = 1, type = 32, value = \"general\"\n")
288 file.write(" // page group: Glyph\n")
289 file.write(" //\n")
290 file.write("main_Import_4_out_1 = \n")
291 file.write(" Import(\n")
292 file.write(" main_Import_4_in_1,\n")
293 file.write(" main_Import_4_in_2,\n")
294 file.write(" main_Import_4_in_3,\n")
295 file.write(" main_Import_4_in_4,\n")
296 file.write(" main_Import_4_in_5,\n")
297 file.write(" main_Import_4_in_6\n")
298 file.write(" ) [instance: 4, cache: 1];\n")
299 file.write(" // \n")
300 file.write(" // node Glyph[2]: x = 201, y = 182, inputs = 7, label = Glyph\n")
301 file.write(" // input[2]: defaulting = 0, visible = 1, type = 32, value = \"sphere\"\n")
302 file.write(" // input[3]: defaulting = 1, visible = 1, type = 5, value = 10.0\n")
303 file.write(" // input[4]: defaulting = 0, visible = 1, type = 5, value = %s\n" % sphere_size)
304 file.write(" // input[5]: defaulting = 0, visible = 1, type = 5, value = 0.0\n")
305 file.write(" // page group: Glyph\n")
306 file.write(" //\n")
307 file.write("main_Glyph_2_out_1 = \n")
308 file.write(" Glyph(\n")
309 file.write(" main_Import_4_out_1,\n")
310 file.write(" main_Glyph_2_in_2,\n")
311 file.write(" main_Glyph_2_in_3,\n")
312 file.write(" main_Glyph_2_in_4,\n")
313 file.write(" main_Glyph_2_in_5,\n")
314 file.write(" main_Glyph_2_in_6,\n")
315 file.write(" main_Glyph_2_in_7\n")
316 file.write(" ) [instance: 2, cache: 1];\n")
317 file.write(" // \n")
318 file.write(" // node Color[10]: x = 357, y = 278, inputs = 5, label = Color\n")
319 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [0 0 0]\n")
320 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 1.0\n")
321 file.write(" // page group: Glyph\n")
322 file.write(" //\n")
323 file.write("main_Color_10_out_1 = \n")
324 file.write(" Color(\n")
325 file.write(" main_Glyph_2_out_1,\n")
326 file.write(" main_Color_10_in_2,\n")
327 file.write(" main_Color_10_in_3,\n")
328 file.write(" main_Color_10_in_4,\n")
329 file.write(" main_Color_10_in_5\n")
330 file.write(" ) [instance: 10, cache: 1];\n")
331 file.write(" // \n")
332 file.write(" // node Transmitter[1]: x = 352, y = 386, inputs = 1, label = GreySphere\n")
333 file.write(" // page group: Glyph\n")
334 file.write(" //\n")
335 file.write("GreySphere = main_Color_10_out_1;\n")
336 file.write(" // \n")
337 file.write(" // node Receiver[2]: x = 190, y = 350, inputs = 1, label = GreySphere\n")
338 file.write(" // page group: Grey Space\n")
339 file.write(" //\n")
340 file.write("main_Receiver_2_out_1[cache: 0] = GreySphere;\n")
341
342
343 file.write("\n")
344 file.write(" // \n")
345 file.write(" // node Import[3]: x = 225, y = 84, inputs = 6, label = %s\n" % file_prefix)
346 file.write(" // input[1]: defaulting = 0, visible = 1, type = 32, value = \"%s.general\"\n" % file_prefix)
347 file.write(" // input[3]: defaulting = 1, visible = 1, type = 32, value = \"general\"\n")
348 file.write(" // page group: Isosurfaces\n")
349 file.write(" //\n")
350 file.write("main_Import_3_out_1 = \n")
351 file.write(" Import(\n")
352 file.write(" main_Import_3_in_1,\n")
353 file.write(" main_Import_3_in_2,\n")
354 file.write(" main_Import_3_in_3,\n")
355 file.write(" main_Import_3_in_4,\n")
356 file.write(" main_Import_3_in_5,\n")
357 file.write(" main_Import_3_in_6\n")
358 file.write(" ) [instance: 3, cache: 1];\n")
359 file.write(" // \n")
360 file.write(" // node Isosurface[5]: x = 102, y = 191, inputs = 6, label = Outer Isosurface\n")
361 file.write(" // input[2]: defaulting = 0, visible = 1, type = 5, value = %.1f\n"%(outer_isosurface_value))
362 file.write(" // page group: Isosurfaces\n")
363 file.write(" //\n")
364 file.write("main_Isosurface_5_out_1 = \n")
365 file.write(" Isosurface(\n")
366 file.write(" main_Import_3_out_1,\n")
367 file.write(" main_Isosurface_5_in_2,\n")
368 file.write(" main_Isosurface_5_in_3,\n")
369 file.write(" main_Isosurface_5_in_4,\n")
370 file.write(" main_Isosurface_5_in_5,\n")
371 file.write(" main_Isosurface_5_in_6\n")
372 file.write(" ) [instance: 5, cache: 1];\n")
373 file.write(" // \n")
374 file.write(" // node Transmitter[7]: x = 110, y = 292, inputs = 1, label = Surface4\n")
375 file.write(" // page group: Isosurfaces\n")
376 file.write(" //\n")
377 file.write("Surface4 = main_Isosurface_5_out_1;\n")
378 file.write(" // \n")
379 file.write(" // node Receiver[14]: x = 123, y = 51, inputs = 1, label = Surface4\n")
380 file.write(" // page group: Grey Space\n")
381 file.write(" //\n")
382 file.write("main_Receiver_14_out_1[cache: 0] = Surface4;\n")
383 file.write(" // \n")
384 file.write(" // node Color[6]: x = 142, y = 145, inputs = 5, label = Color\n")
385 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [0 0 0]\n")
386 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.2\n")
387 file.write(" // page group: Grey Space\n")
388 file.write(" //\n")
389 file.write("main_Color_6_out_1 = \n")
390 file.write(" Color(\n")
391 file.write(" main_Receiver_14_out_1,\n")
392 file.write(" main_Color_6_in_2,\n")
393 file.write(" main_Color_6_in_3,\n")
394 file.write(" main_Color_6_in_4,\n")
395 file.write(" main_Color_6_in_5\n")
396 file.write(" ) [instance: 6, cache: 1];\n")
397 file.write(" // \n")
398 file.write(" // node Isosurface[6]: x = 200, y = 191, inputs = 6, label = Middle Isosurface\n")
399 file.write(" // input[2]: defaulting = 0, visible = 1, type = 5, value = %.1f\n"%(middle_isosurface_value))
400 file.write(" // page group: Isosurfaces\n")
401 file.write(" //\n")
402 file.write("main_Isosurface_6_out_1 = \n")
403 file.write(" Isosurface(\n")
404 file.write(" main_Import_3_out_1,\n")
405 file.write(" main_Isosurface_6_in_2,\n")
406 file.write(" main_Isosurface_6_in_3,\n")
407 file.write(" main_Isosurface_6_in_4,\n")
408 file.write(" main_Isosurface_6_in_5,\n")
409 file.write(" main_Isosurface_6_in_6\n")
410 file.write(" ) [instance: 6, cache: 1];\n")
411 file.write(" // \n")
412 file.write(" // node Transmitter[8]: x = 208, y = 292, inputs = 1, label = Surface3\n")
413 file.write(" // page group: Isosurfaces\n")
414 file.write(" //\n")
415 file.write("Surface3 = main_Isosurface_6_out_1;\n")
416 file.write(" // \n")
417 file.write(" // node Receiver[13]: x = 227, y = 51, inputs = 1, label = Surface3\n")
418 file.write(" // page group: Grey Space\n")
419 file.write(" //\n")
420 file.write("main_Receiver_13_out_1[cache: 0] = Surface3;\n")
421 file.write(" // \n")
422 file.write(" // node Color[7]: x = 246, y = 145, inputs = 5, label = Color\n")
423 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [0.2 0.2 0.2]\n")
424 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.4\n")
425 file.write(" // page group: Grey Space\n")
426 file.write(" //\n")
427 file.write("main_Color_7_out_1 = \n")
428 file.write(" Color(\n")
429 file.write(" main_Receiver_13_out_1,\n")
430 file.write(" main_Color_7_in_2,\n")
431 file.write(" main_Color_7_in_3,\n")
432 file.write(" main_Color_7_in_4,\n")
433 file.write(" main_Color_7_in_5\n")
434 file.write(" ) [instance: 7, cache: 1];\n")
435 file.write(" // \n")
436 file.write(" // node Collect[5]: x = 203, y = 236, inputs = 2, label = Collect\n")
437 file.write(" // page group: Grey Space\n")
438 file.write(" //\n")
439 file.write("main_Collect_5_out_1 = \n")
440 file.write(" Collect(\n")
441 file.write(" main_Color_6_out_1,\n")
442 file.write(" main_Color_7_out_1\n")
443 file.write(" ) [instance: 5, cache: 1];\n")
444 file.write(" // \n")
445 file.write(" // node Isosurface[7]: x = 298, y = 191, inputs = 6, label = Inner Isosurface\n")
446 file.write(" // input[2]: defaulting = 0, visible = 1, type = 5, value = %.1f\n"%(inner_isosurface_value))
447 file.write(" // page group: Isosurfaces\n")
448 file.write(" //\n")
449 file.write("main_Isosurface_7_out_1 = \n")
450 file.write(" Isosurface(\n")
451 file.write(" main_Import_3_out_1,\n")
452 file.write(" main_Isosurface_7_in_2,\n")
453 file.write(" main_Isosurface_7_in_3,\n")
454 file.write(" main_Isosurface_7_in_4,\n")
455 file.write(" main_Isosurface_7_in_5,\n")
456 file.write(" main_Isosurface_7_in_6\n")
457 file.write(" ) [instance: 7, cache: 1];\n")
458 file.write(" // \n")
459 file.write(" // node Transmitter[9]: x = 306, y = 292, inputs = 1, label = Surface2\n")
460 file.write(" // page group: Isosurfaces\n")
461 file.write(" //\n")
462 file.write("Surface2 = main_Isosurface_7_out_1;\n")
463 file.write(" // \n")
464 file.write(" // node Receiver[12]: x = 331, y = 51, inputs = 1, label = Surface2\n")
465 file.write(" // page group: Grey Space\n")
466 file.write(" //\n")
467 file.write("main_Receiver_12_out_1[cache: 0] = Surface2;\n")
468 file.write(" // \n")
469 file.write(" // node Color[8]: x = 350, y = 145, inputs = 5, label = Color\n")
470 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [0.5 0.5 0.5]\n")
471 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.5\n")
472 file.write(" // page group: Grey Space\n")
473 file.write(" //\n")
474 file.write("main_Color_8_out_1 = \n")
475 file.write(" Color(\n")
476 file.write(" main_Receiver_12_out_1,\n")
477 file.write(" main_Color_8_in_2,\n")
478 file.write(" main_Color_8_in_3,\n")
479 file.write(" main_Color_8_in_4,\n")
480 file.write(" main_Color_8_in_5\n")
481 file.write(" ) [instance: 8, cache: 1];\n")
482 file.write(" // \n")
483 file.write(" // node Isosurface[8]: x = 396, y = 191, inputs = 6, label = Innermost Isosurface\n")
484 file.write(" // input[2]: defaulting = 0, visible = 1, type = 5, value = %.1f\n"%(innermost_isosurface_value))
485 file.write(" // page group: Isosurfaces\n")
486 file.write(" //\n")
487 file.write("main_Isosurface_8_out_1 = \n")
488 file.write(" Isosurface(\n")
489 file.write(" main_Import_3_out_1,\n")
490 file.write(" main_Isosurface_8_in_2,\n")
491 file.write(" main_Isosurface_8_in_3,\n")
492 file.write(" main_Isosurface_8_in_4,\n")
493 file.write(" main_Isosurface_8_in_5,\n")
494 file.write(" main_Isosurface_8_in_6\n")
495 file.write(" ) [instance: 8, cache: 1];\n")
496 file.write(" // \n")
497 file.write(" // node Transmitter[10]: x = 404, y = 292, inputs = 1, label = Surface1\n")
498 file.write(" // page group: Isosurfaces\n")
499 file.write(" //\n")
500 file.write("Surface1 = main_Isosurface_8_out_1;\n")
501 file.write(" // \n")
502 file.write(" // node Receiver[11]: x = 434, y = 51, inputs = 1, label = Surface1\n")
503 file.write(" // page group: Grey Space\n")
504 file.write(" //\n")
505 file.write("main_Receiver_11_out_1[cache: 0] = Surface1;\n")
506 file.write(" // \n")
507 file.write(" // node Color[9]: x = 453, y = 145, inputs = 5, label = Color\n")
508 file.write(" // input[2]: defaulting = 0, visible = 1, type = 32, value = \"white\"\n")
509 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.7\n")
510 file.write(" // page group: Grey Space\n")
511 file.write(" //\n")
512 file.write("main_Color_9_out_1 = \n")
513 file.write(" Color(\n")
514 file.write(" main_Receiver_11_out_1,\n")
515 file.write(" main_Color_9_in_2,\n")
516 file.write(" main_Color_9_in_3,\n")
517 file.write(" main_Color_9_in_4,\n")
518 file.write(" main_Color_9_in_5\n")
519 file.write(" ) [instance: 9, cache: 1];\n")
520 file.write(" // \n")
521 file.write(" // node Collect[6]: x = 409, y = 236, inputs = 2, label = Collect\n")
522 file.write(" // page group: Grey Space\n")
523 file.write(" //\n")
524 file.write("main_Collect_6_out_1 = \n")
525 file.write(" Collect(\n")
526 file.write(" main_Color_8_out_1,\n")
527 file.write(" main_Color_9_out_1\n")
528 file.write(" ) [instance: 6, cache: 1];\n")
529 file.write(" // \n")
530 file.write(" // node Collect[7]: x = 307, y = 327, inputs = 2, label = Collect\n")
531 file.write(" // page group: Grey Space\n")
532 file.write(" //\n")
533 file.write("main_Collect_7_out_1 = \n")
534 file.write(" Collect(\n")
535 file.write(" main_Collect_5_out_1,\n")
536 file.write(" main_Collect_6_out_1\n")
537 file.write(" ) [instance: 7, cache: 1];\n")
538 file.write(" // \n")
539
540
541 if num_points > 0:
542 file.write("\n")
543 file.write(" // node Collect[8]: x = 293, y = 431, inputs = 2, label = Collect\n")
544 file.write(" // page group: Grey Space\n")
545 file.write(" //\n")
546 file.write("main_Collect_8_out_1 = \n")
547 file.write(" Collect(\n")
548 file.write(" main_Receiver_2_out_1,\n")
549 file.write(" main_Collect_7_out_1\n")
550 file.write(" ) [instance: 8, cache: 1];\n")
551 file.write(" // \n")
552 file.write(" // node Transmitter[4]: x = 282, y = 517, inputs = 1, label = GreySpace\n")
553
554
555 else:
556 file.write("\n")
557 file.write(" // node Transmitter[4]: x = 296, y = 439, inputs = 1, label = GreySpace\n")
558
559
560 file.write("\n")
561 file.write(" // page group: Grey Space\n")
562 file.write(" // \n")
563
564
565 if num_points > 0:
566 file.write("\n")
567 file.write("GreySpace = main_Collect_8_out_1;\n")
568
569
570 else:
571 file.write("\n")
572 file.write("GreySpace = main_Collect_7_out_1;\n")
573
574
575 file.write("\n")
576 file.write(" // \n")
577 file.write(" // node Receiver[3]: x = 137, y = 57, inputs = 1, label = GreySpace\n")
578 file.write(" // page group: GreyScene\n")
579 file.write(" //\n")
580 file.write("main_Receiver_3_out_1[cache: 0] = GreySpace;\n")
581 file.write(" // \n")
582 file.write(" // node Scale[3]: x = 163, y = 159, inputs = 2, label = Scale\n")
583 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [1 1 1]\n")
584 file.write(" // page group: GreyScene\n")
585 file.write(" //\n")
586 file.write("main_Scale_3_out_1 = \n")
587 file.write(" Scale(\n")
588 file.write(" main_Receiver_3_out_1,\n")
589 file.write(" main_Scale_3_in_2\n")
590 file.write(" ) [instance: 3, cache: 1];\n")
591 file.write(" // \n")
592 file.write(" // node AutoCamera[2]: x = 273, y = 264, inputs = 9, label = AutoCamera\n")
593 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [1 -1 1]\n")
594 file.write(" // input[3]: defaulting = 1, visible = 1, type = 5, value = 500.0\n")
595 file.write(" // input[4]: defaulting = 0, visible = 0, type = 1, value = 640\n")
596 file.write(" // input[5]: defaulting = 0, visible = 0, type = 5, value = .75\n")
597 file.write(" // input[6]: defaulting = 0, visible = 0, type = 8, value = [-1 1 0 ]\n")
598 file.write(" // input[7]: defaulting = 0, visible = 0, type = 3, value = 0\n")
599 file.write(" // input[8]: defaulting = 0, visible = 0, type = 5, value = 30.0\n")
600 file.write(" // input[9]: defaulting = 0, visible = 1, type = 32, value = \"white\"\n")
601 file.write(" // page group: GreyScene\n")
602 file.write(" //\n")
603 file.write("main_AutoCamera_2_out_1 = \n")
604 file.write(" AutoCamera(\n")
605 file.write(" main_Scale_3_out_1,\n")
606 file.write(" main_AutoCamera_2_in_2,\n")
607 file.write(" main_AutoCamera_2_in_3,\n")
608 file.write(" main_AutoCamera_2_in_4,\n")
609 file.write(" main_AutoCamera_2_in_5,\n")
610 file.write(" main_AutoCamera_2_in_6,\n")
611 file.write(" main_AutoCamera_2_in_7,\n")
612 file.write(" main_AutoCamera_2_in_8,\n")
613 file.write(" main_AutoCamera_2_in_9\n")
614 file.write(" ) [instance: 2, cache: 1];\n")
615 file.write(" // \n")
616 file.write(" // node AutoAxes[2]: x = 175, y = 379, inputs = 19, label = AutoAxes\n")
617 file.write(" // input[3]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % labels)
618 file.write(" // input[4]: defaulting = 0, visible = 0, type = 1, value = 30\n")
619 file.write(" // input[5]: defaulting = 0, visible = 1, type = 16777224, value = %s\n" % corners)
620 file.write(" // input[6]: defaulting = 0, visible = 1, type = 3, value = 1\n")
621 file.write(" // input[7]: defaulting = 1, visible = 0, type = 3, value = 1\n")
622 file.write(" // input[9]: defaulting = 0, visible = 1, type = 3, value = 1\n")
623 file.write(" // input[10]: defaulting = 0, visible = 1, type = 16777224, value = {[1 1 1] [0.1 0.1 0.1] [0 0 0] [0 0 0]}\n")
624 file.write(" // input[11]: defaulting = 0, visible = 1, type = 16777248, value = {\"background\" \"grid\" \"labels\" \"ticks\"}\n")
625 file.write(" // input[12]: defaulting = 1, visible = 0, type = 5, value = 0.4\n")
626 file.write(" // input[13]: defaulting = 0, visible = 0, type = 32, value = \"area\"\n")
627 file.write(" // input[14]: defaulting = 0, visible = 1, type = 16777221, value = %s\n" % tick_locations[0])
628 file.write(" // input[15]: defaulting = 0, visible = 1, type = 16777221, value = %s\n" % tick_locations[1])
629 file.write(" // input[16]: defaulting = 0, visible = 1, type = 16777221, value = %s\n" % tick_locations[2])
630 file.write(" // input[17]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % tick_values[0])
631 file.write(" // input[18]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % tick_values[1])
632 file.write(" // input[19]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % tick_values[2])
633 file.write(" // page group: GreyScene\n")
634 file.write(" //\n")
635 file.write("main_AutoAxes_2_out_1 = \n")
636 file.write(" AutoAxes(\n")
637 file.write(" main_Scale_3_out_1,\n")
638 file.write(" main_AutoCamera_2_out_1,\n")
639 file.write(" main_AutoAxes_2_in_3,\n")
640 file.write(" main_AutoAxes_2_in_4,\n")
641 file.write(" main_AutoAxes_2_in_5,\n")
642 file.write(" main_AutoAxes_2_in_6,\n")
643 file.write(" main_AutoAxes_2_in_7,\n")
644 file.write(" main_AutoAxes_2_in_8,\n")
645 file.write(" main_AutoAxes_2_in_9,\n")
646 file.write(" main_AutoAxes_2_in_10,\n")
647 file.write(" main_AutoAxes_2_in_11,\n")
648 file.write(" main_AutoAxes_2_in_12,\n")
649 file.write(" main_AutoAxes_2_in_13,\n")
650 file.write(" main_AutoAxes_2_in_14,\n")
651 file.write(" main_AutoAxes_2_in_15,\n")
652 file.write(" main_AutoAxes_2_in_16,\n")
653 file.write(" main_AutoAxes_2_in_17,\n")
654 file.write(" main_AutoAxes_2_in_18,\n")
655 file.write(" main_AutoAxes_2_in_19\n")
656 file.write(" ) [instance: 2, cache: 1];\n")
657 file.write(" // \n")
658
659
660 if num_points > 0:
661 file.write("\n")
662 file.write(" // node Color[11]: x = 133, y = 278, inputs = 5, label = Color\n")
663 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [1 0 0]\n")
664 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 1.0\n")
665 file.write(" // page group: Glyph\n")
666 file.write(" //\n")
667 file.write("main_Color_11_out_1 = \n")
668 file.write(" Color(\n")
669 file.write(" main_Glyph_2_out_1,\n")
670 file.write(" main_Color_11_in_2,\n")
671 file.write(" main_Color_11_in_3,\n")
672 file.write(" main_Color_11_in_4,\n")
673 file.write(" main_Color_11_in_5\n")
674 file.write(" ) [instance: 11, cache: 1];\n")
675 file.write(" // \n")
676 file.write(" // node Transmitter[2]: x = 122, y = 386, inputs = 1, label = ColourSphere\n")
677 file.write(" // page group: Glyph\n")
678 file.write(" //\n")
679 file.write("ColourSphere = main_Color_11_out_1;\n")
680 file.write(" // \n")
681 file.write(" // node Receiver[1]: x = 179, y = 349, inputs = 1, label = ColourSphere\n")
682 file.write(" // page group: Colour Space\n")
683 file.write(" //\n")
684 file.write("main_Receiver_1_out_1[cache: 0] = ColourSphere;\n")
685
686
687 file.write("\n")
688 file.write(" // \n")
689 file.write(" // node Receiver[10]: x = 123, y = 51, inputs = 1, label = Surface4\n")
690 file.write(" // page group: Colour Space\n")
691 file.write(" //\n")
692 file.write("main_Receiver_10_out_1[cache: 0] = Surface4;\n")
693 file.write(" // \n")
694 file.write(" // node Color[12]: x = 142, y = 145, inputs = 5, label = Color\n")
695 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [0 0 0.2]\n")
696 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.3\n")
697 file.write(" // input[4]: defaulting = 1, visible = 0, type = 32, value = NULL\n")
698 file.write(" // input[5]: defaulting = 1, visible = 0, type = 3, value = NULL\n")
699 file.write(" // page group: Colour Space\n")
700 file.write(" //\n")
701 file.write("main_Color_12_out_1 = \n")
702 file.write(" Color(\n")
703 file.write(" main_Receiver_10_out_1,\n")
704 file.write(" main_Color_12_in_2,\n")
705 file.write(" main_Color_12_in_3,\n")
706 file.write(" main_Color_12_in_4,\n")
707 file.write(" main_Color_12_in_5\n")
708 file.write(" ) [instance: 12, cache: 1];\n")
709 file.write(" // \n")
710 file.write(" // node Receiver[9]: x = 227, y = 51, inputs = 1, label = Surface3\n")
711 file.write(" // page group: Colour Space\n")
712 file.write(" //\n")
713 file.write("main_Receiver_9_out_1[cache: 0] = Surface3;\n")
714 file.write(" // \n")
715 file.write(" // node Color[13]: x = 246, y = 145, inputs = 5, label = Color\n")
716 file.write(" // input[2]: defaulting = 0, visible = 1, type = 32, value = \"blue\"\n")
717 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.3\n")
718 file.write(" // page group: Colour Space\n")
719 file.write(" //\n")
720 file.write("main_Color_13_out_1 = \n")
721 file.write(" Color(\n")
722 file.write(" main_Receiver_9_out_1,\n")
723 file.write(" main_Color_13_in_2,\n")
724 file.write(" main_Color_13_in_3,\n")
725 file.write(" main_Color_13_in_4,\n")
726 file.write(" main_Color_13_in_5\n")
727 file.write(" ) [instance: 13, cache: 1];\n")
728 file.write(" // \n")
729 file.write(" // node Collect[9]: x = 203, y = 236, inputs = 2, label = Collect\n")
730 file.write(" // page group: Colour Space\n")
731 file.write(" //\n")
732 file.write("main_Collect_9_out_1 = \n")
733 file.write(" Collect(\n")
734 file.write(" main_Color_12_out_1,\n")
735 file.write(" main_Color_13_out_1\n")
736 file.write(" ) [instance: 9, cache: 1];\n")
737 file.write(" // \n")
738 file.write(" // node Receiver[8]: x = 331, y = 51, inputs = 1, label = Surface2\n")
739 file.write(" // page group: Colour Space\n")
740 file.write(" //\n")
741 file.write("main_Receiver_8_out_1[cache: 0] = Surface2;\n")
742 file.write(" // \n")
743 file.write(" // node Color[14]: x = 350, y = 145, inputs = 5, label = Color\n")
744 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [0.5 0.5 1]\n")
745 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.2\n")
746 file.write(" // page group: Colour Space\n")
747 file.write(" //\n")
748 file.write("main_Color_14_out_1 = \n")
749 file.write(" Color(\n")
750 file.write(" main_Receiver_8_out_1,\n")
751 file.write(" main_Color_14_in_2,\n")
752 file.write(" main_Color_14_in_3,\n")
753 file.write(" main_Color_14_in_4,\n")
754 file.write(" main_Color_14_in_5\n")
755 file.write(" ) [instance: 14, cache: 1];\n")
756 file.write(" // \n")
757 file.write(" // node Receiver[7]: x = 434, y = 51, inputs = 1, label = Surface1\n")
758 file.write(" // page group: Colour Space\n")
759 file.write(" //\n")
760 file.write("main_Receiver_7_out_1[cache: 0] = Surface1;\n")
761 file.write(" // \n")
762 file.write(" // node Color[15]: x = 453, y = 145, inputs = 5, label = Color\n")
763 file.write(" // input[2]: defaulting = 0, visible = 1, type = 32, value = \"white\"\n")
764 file.write(" // input[3]: defaulting = 0, visible = 1, type = 5, value = 0.55\n")
765 file.write(" // input[4]: defaulting = 1, visible = 0, type = 32, value = \"positions\"\n")
766 file.write(" // page group: Colour Space\n")
767 file.write(" //\n")
768 file.write("main_Color_15_out_1 = \n")
769 file.write(" Color(\n")
770 file.write(" main_Receiver_7_out_1,\n")
771 file.write(" main_Color_15_in_2,\n")
772 file.write(" main_Color_15_in_3,\n")
773 file.write(" main_Color_15_in_4,\n")
774 file.write(" main_Color_15_in_5\n")
775 file.write(" ) [instance: 15, cache: 1];\n")
776 file.write(" // \n")
777 file.write(" // node Collect[10]: x = 409, y = 236, inputs = 2, label = Collect\n")
778 file.write(" // page group: Colour Space\n")
779 file.write(" //\n")
780 file.write("main_Collect_10_out_1 = \n")
781 file.write(" Collect(\n")
782 file.write(" main_Color_14_out_1,\n")
783 file.write(" main_Color_15_out_1\n")
784 file.write(" ) [instance: 10, cache: 1];\n")
785 file.write(" // \n")
786 file.write(" // node Collect[11]: x = 307, y = 327, inputs = 2, label = Collect\n")
787 file.write(" // page group: Colour Space\n")
788 file.write(" //\n")
789 file.write("main_Collect_11_out_1 = \n")
790 file.write(" Collect(\n")
791 file.write(" main_Collect_9_out_1,\n")
792 file.write(" main_Collect_10_out_1\n")
793 file.write(" ) [instance: 11, cache: 1];\n")
794 file.write(" // \n")
795
796
797 if num_points > 0:
798 file.write("\n")
799 file.write(" // node Collect[12]: x = 293, y = 431, inputs = 2, label = Collect\n")
800 file.write(" // page group: Colour Space\n")
801 file.write(" //\n")
802 file.write("main_Collect_12_out_1 = \n")
803 file.write(" Collect(\n")
804 file.write(" main_Receiver_1_out_1,\n")
805 file.write(" main_Collect_11_out_1\n")
806 file.write(" ) [instance: 12, cache: 1];\n")
807 file.write(" // \n")
808 file.write(" // node Transmitter[3]: x = 276, y = 517, inputs = 1, label = ColourSpace\n")
809
810
811 else:
812 file.write("\n")
813 file.write(" // node Transmitter[3]: x = 290, y = 440, inputs = 1, label = ColourSpace\n")
814
815
816 file.write("\n")
817 file.write(" // page group: Colour Space\n")
818 file.write(" // \n")
819
820
821 if num_points > 0:
822 file.write("\n")
823 file.write("ColourSpace = main_Collect_12_out_1;\n")
824
825
826 else:
827 file.write("\n")
828 file.write("ColourSpace = main_Collect_11_out_1;\n")
829
830
831 file.write("\n")
832 file.write(" // \n")
833 file.write(" // node Receiver[4]: x = 131, y = 58, inputs = 1, label = ColourSpace\n")
834 file.write(" // page group: ColourScene\n")
835 file.write(" //\n")
836 file.write("main_Receiver_4_out_1[cache: 0] = ColourSpace;\n")
837 file.write(" // \n")
838 file.write(" // node Scale[5]: x = 163, y = 159, inputs = 2, label = Scale\n")
839 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [1 1 1]\n")
840 file.write(" // page group: ColourScene\n")
841 file.write(" //\n")
842 file.write("main_Scale_5_out_1 = \n")
843 file.write(" Scale(\n")
844 file.write(" main_Receiver_4_out_1,\n")
845 file.write(" main_Scale_5_in_2\n")
846 file.write(" ) [instance: 5, cache: 1];\n")
847 file.write(" // \n")
848 file.write(" // node AutoCamera[4]: x = 273, y = 264, inputs = 9, label = AutoCamera\n")
849 file.write(" // input[2]: defaulting = 0, visible = 1, type = 8, value = [1 -1 1]\n")
850 file.write(" // input[3]: defaulting = 1, visible = 1, type = 5, value = 500.0\n")
851 file.write(" // input[5]: defaulting = 0, visible = 0, type = 5, value = .75\n")
852 file.write(" // input[6]: defaulting = 0, visible = 0, type = 8, value = [-1 1 0 ]\n")
853 file.write(" // input[7]: defaulting = 0, visible = 0, type = 3, value = 0\n")
854 file.write(" // input[8]: defaulting = 0, visible = 0, type = 5, value = 30.0\n")
855 file.write(" // input[9]: defaulting = 0, visible = 1, type = 32, value = \"black\"\n")
856 file.write(" // page group: ColourScene\n")
857 file.write(" //\n")
858 file.write("main_AutoCamera_4_out_1 = \n")
859 file.write(" AutoCamera(\n")
860 file.write(" main_Scale_5_out_1,\n")
861 file.write(" main_AutoCamera_4_in_2,\n")
862 file.write(" main_AutoCamera_4_in_3,\n")
863 file.write(" main_AutoCamera_4_in_4,\n")
864 file.write(" main_AutoCamera_4_in_5,\n")
865 file.write(" main_AutoCamera_4_in_6,\n")
866 file.write(" main_AutoCamera_4_in_7,\n")
867 file.write(" main_AutoCamera_4_in_8,\n")
868 file.write(" main_AutoCamera_4_in_9\n")
869 file.write(" ) [instance: 4, cache: 1];\n")
870 file.write(" // \n")
871 file.write(" // node AutoAxes[4]: x = 175, y = 379, inputs = 19, label = AutoAxes\n")
872 file.write(" // input[3]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % labels)
873 file.write(" // input[4]: defaulting = 0, visible = 0, type = 1, value = 30\n")
874 file.write(" // input[5]: defaulting = 0, visible = 1, type = 16777224, value = %s\n" % corners)
875 file.write(" // input[6]: defaulting = 0, visible = 1, type = 3, value = 1\n")
876 file.write(" // input[7]: defaulting = 1, visible = 0, type = 3, value = 1\n")
877 file.write(" // input[9]: defaulting = 0, visible = 1, type = 3, value = 1\n")
878 file.write(" // input[10]: defaulting = 0, visible = 1, type = 16777224, value = {[0.05 0.05 0.05] [0.3 0.3 0.3] [1 1 1] [1 1 0]}\n")
879 file.write(" // input[11]: defaulting = 0, visible = 1, type = 16777248, value = {\"background\" \"grid\" \"labels\" \"ticks\"}\n")
880 file.write(" // input[12]: defaulting = 1, visible = 0, type = 5, value = 0.4\n")
881 file.write(" // input[13]: defaulting = 0, visible = 0, type = 32, value = \"area\"\n")
882 file.write(" // input[14]: defaulting = 0, visible = 1, type = 16777221, value = %s\n" % tick_locations[0])
883 file.write(" // input[15]: defaulting = 0, visible = 1, type = 16777221, value = %s\n" % tick_locations[1])
884 file.write(" // input[16]: defaulting = 0, visible = 1, type = 16777221, value = %s\n" % tick_locations[2])
885 file.write(" // input[17]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % tick_values[0])
886 file.write(" // input[18]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % tick_values[1])
887 file.write(" // input[19]: defaulting = 0, visible = 1, type = 16777248, value = %s\n" % tick_values[2])
888 file.write(" // page group: ColourScene\n")
889 file.write(" //\n")
890 file.write("main_AutoAxes_4_out_1 = \n")
891 file.write(" AutoAxes(\n")
892 file.write(" main_Scale_5_out_1,\n")
893 file.write(" main_AutoCamera_4_out_1,\n")
894 file.write(" main_AutoAxes_4_in_3,\n")
895 file.write(" main_AutoAxes_4_in_4,\n")
896 file.write(" main_AutoAxes_4_in_5,\n")
897 file.write(" main_AutoAxes_4_in_6,\n")
898 file.write(" main_AutoAxes_4_in_7,\n")
899 file.write(" main_AutoAxes_4_in_8,\n")
900 file.write(" main_AutoAxes_4_in_9,\n")
901 file.write(" main_AutoAxes_4_in_10,\n")
902 file.write(" main_AutoAxes_4_in_11,\n")
903 file.write(" main_AutoAxes_4_in_12,\n")
904 file.write(" main_AutoAxes_4_in_13,\n")
905 file.write(" main_AutoAxes_4_in_14,\n")
906 file.write(" main_AutoAxes_4_in_15,\n")
907 file.write(" main_AutoAxes_4_in_16,\n")
908 file.write(" main_AutoAxes_4_in_17,\n")
909 file.write(" main_AutoAxes_4_in_18,\n")
910 file.write(" main_AutoAxes_4_in_19\n")
911 file.write(" ) [instance: 4, cache: 1];\n")
912 file.write(" // \n")
913 file.write(" // node Selector[1]: x = 245, y = 66, inputs = 7, label = Selector\n")
914 file.write(" // input[1]: defaulting = 0, visible = 0, type = 32, value = \"Selector_1\"\n")
915 file.write(" // input[2]: defaulting = 0, visible = 0, type = 32, value = \"Colour\" \n")
916 file.write(" // input[3]: defaulting = 0, visible = 0, type = 29, value = 1 \n")
917 file.write(" // input[4]: defaulting = 1, visible = 1, type = 16777248, value = { \"Colour\" \"Grey\" }\n")
918 file.write(" // input[5]: defaulting = 1, visible = 0, type = 16777245, value = { 1 2 }\n")
919 file.write(" // output[1]: visible = 1, type = 29, value = 1 \n")
920 file.write(" // output[2]: visible = 1, type = 32, value = \"Colour\" \n")
921 file.write(" // page group: Image\n")
922 file.write(" //\n")
923 file.write(" // \n")
924 file.write(" // node Transmitter[6]: x = 299, y = 487, inputs = 1, label = ColourImage\n")
925 file.write(" // page group: ColourScene\n")
926 file.write(" //\n")
927 file.write("ColourImage = main_AutoAxes_4_out_1;\n")
928 file.write(" // \n")
929 file.write(" // node Receiver[5]: x = 76, y = 190, inputs = 1, label = ColourImage\n")
930 file.write(" // page group: Image\n")
931 file.write(" //\n")
932 file.write("main_Receiver_5_out_1[cache: 0] = ColourImage;\n")
933 file.write(" // \n")
934 file.write(" // node Transmitter[5]: x = 305, y = 489, inputs = 1, label = GreyImage\n")
935 file.write(" // page group: GreyScene\n")
936 file.write(" //\n")
937 file.write("GreyImage = main_AutoAxes_2_out_1;\n")
938 file.write(" // \n")
939 file.write(" // node Receiver[6]: x = 199, y = 190, inputs = 1, label = GreyImage\n")
940 file.write(" // page group: Image\n")
941 file.write(" //\n")
942 file.write("main_Receiver_6_out_1[cache: 0] = GreyImage;\n")
943 file.write(" // \n")
944 file.write(" // node Switch[1]: x = 177, y = 293, inputs = 3, label = Switch\n")
945 file.write(" // page group: Image\n")
946 file.write(" //\n")
947 file.write("main_Switch_1_out_1 = \n")
948 file.write(" Switch(\n")
949 file.write(" main_Selector_1_out_1,\n")
950 file.write(" main_Receiver_5_out_1,\n")
951 file.write(" main_Receiver_6_out_1\n")
952 file.write(" ) [instance: 1, cache: 1];\n")
953 file.write(" // \n")
954 file.write(" // node Switch[14]: x = 325, y = 293, inputs = 3, label = Switch\n")
955 file.write(" // input[2]: defaulting = 0, visible = 1, type = 67108863, value = \"black\"\n")
956 file.write(" // input[3]: defaulting = 0, visible = 1, type = 67108863, value = \"white\"\n")
957 file.write(" // page group: Image\n")
958 file.write(" //\n")
959 file.write("main_Switch_14_out_1 = \n")
960 file.write(" Switch(\n")
961 file.write(" main_Selector_1_out_1,\n")
962 file.write(" main_Switch_14_in_2,\n")
963 file.write(" main_Switch_14_in_3\n")
964 file.write(" ) [instance: 14, cache: 1];\n")
965 file.write(" // \n")
966 file.write(" // node Image[3]: x = 252, y = 424, inputs = 49, label = Image\n")
967 file.write(" // input[1]: defaulting = 0, visible = 0, type = 67108863, value = \"Image_3\"\n")
968 file.write(" // input[4]: defaulting = 0, visible = 0, type = 1, value = 1\n")
969 file.write(" // input[5]: defaulting = 0, visible = 0, type = 8, value = %s\n" % image_array1)
970 file.write(" // input[6]: defaulting = 0, visible = 0, type = 8, value = %s\n" % image_array2)
971 file.write(" // input[7]: defaulting = 0, visible = 0, type = 5, value = %s\n" % image_val)
972 file.write(" // input[8]: defaulting = 0, visible = 0, type = 1, value = 1376\n")
973 file.write(" // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.678\n")
974 file.write(" // input[10]: defaulting = 0, visible = 0, type = 8, value = [-0.109685 0.243133 0.963772]\n")
975 file.write(" // input[11]: defaulting = 1, visible = 0, type = 5, value = 30.9877\n")
976 file.write(" // input[12]: defaulting = 0, visible = 0, type = 1, value = 0\n")
977 file.write(" // input[14]: defaulting = 0, visible = 0, type = 1, value = 1\n")
978 file.write(" // input[15]: defaulting = 0, visible = 0, type = 32, value = \"none\"\n")
979 file.write(" // input[16]: defaulting = 0, visible = 0, type = 32, value = \"none\"\n")
980 file.write(" // input[17]: defaulting = 1, visible = 0, type = 1, value = 1\n")
981 file.write(" // input[18]: defaulting = 1, visible = 0, type = 1, value = 1\n")
982 file.write(" // input[19]: defaulting = 0, visible = 0, type = 1, value = 0\n")
983 file.write(" // input[22]: defaulting = 1, visible = 1, type = 32, value = \"black\"\n")
984 file.write(" // input[25]: defaulting = 0, visible = 0, type = 32, value = \"iso\"\n")
985 file.write(" // input[26]: defaulting = 0, visible = 0, type = 32, value = \"tiff\"\n")
986 file.write(" // input[29]: defaulting = 0, visible = 0, type = 3, value = 0\n")
987 file.write(" // input[30]: defaulting = 1, visible = 0, type = 16777248, value = %s\n" % labels)
988 file.write(" // input[32]: defaulting = 1, visible = 0, type = 16777224, value = %s\n" % corners)
989 file.write(" // input[33]: defaulting = 0, visible = 0, type = 3, value = 1\n")
990 file.write(" // input[34]: defaulting = 0, visible = 0, type = 3, value = 0\n")
991 file.write(" // input[36]: defaulting = 0, visible = 0, type = 3, value = 1\n")
992 file.write(" // input[41]: defaulting = 0, visible = 0, type = 32, value = \"rotate\"\n")
993 file.write(" // input[42]: defaulting = 0, visible = 0, type = 32, value = \"Surface\"\n")
994 file.write(" // page group: Image\n")
995 file.write(" // title: value = Surface\n")
996 file.write(" // depth: value = 24\n")
997 file.write(" // window: position = (0.0000,0.0400), size = 0.9929x0.9276\n")
998 file.write(" // internal caching: 1\n")
999 file.write(" //\n")
1000 file.write("main_Image_3_out_1,\n")
1001 file.write("main_Image_3_out_2,\n")
1002 file.write("main_Image_3_out_3 = \n")
1003 file.write(" Image(\n")
1004 file.write(" main_Image_3_in_1,\n")
1005 file.write(" main_Switch_1_out_1,\n")
1006 file.write(" main_Image_3_in_3,\n")
1007 file.write(" main_Image_3_in_4,\n")
1008 file.write(" main_Image_3_in_5,\n")
1009 file.write(" main_Image_3_in_6,\n")
1010 file.write(" main_Image_3_in_7,\n")
1011 file.write(" main_Image_3_in_8,\n")
1012 file.write(" main_Image_3_in_9,\n")
1013 file.write(" main_Image_3_in_10,\n")
1014 file.write(" main_Image_3_in_11,\n")
1015 file.write(" main_Image_3_in_12,\n")
1016 file.write(" main_Image_3_in_13,\n")
1017 file.write(" main_Image_3_in_14,\n")
1018 file.write(" main_Image_3_in_15,\n")
1019 file.write(" main_Image_3_in_16,\n")
1020 file.write(" main_Image_3_in_17,\n")
1021 file.write(" main_Image_3_in_18,\n")
1022 file.write(" main_Image_3_in_19,\n")
1023 file.write(" main_Image_3_in_20,\n")
1024 file.write(" main_Image_3_in_21,\n")
1025 file.write(" main_Switch_14_out_1,\n")
1026 file.write(" main_Image_3_in_23,\n")
1027 file.write(" main_Image_3_in_24,\n")
1028 file.write(" main_Image_3_in_25,\n")
1029 file.write(" main_Image_3_in_26,\n")
1030 file.write(" main_Image_3_in_27,\n")
1031 file.write(" main_Image_3_in_28,\n")
1032 file.write(" main_Image_3_in_29,\n")
1033 file.write(" main_Image_3_in_30,\n")
1034 file.write(" main_Image_3_in_31,\n")
1035 file.write(" main_Image_3_in_32,\n")
1036 file.write(" main_Image_3_in_33,\n")
1037 file.write(" main_Image_3_in_34,\n")
1038 file.write(" main_Image_3_in_35,\n")
1039 file.write(" main_Image_3_in_36,\n")
1040 file.write(" main_Image_3_in_37,\n")
1041 file.write(" main_Image_3_in_38,\n")
1042 file.write(" main_Image_3_in_39,\n")
1043 file.write(" main_Image_3_in_40,\n")
1044 file.write(" main_Image_3_in_41,\n")
1045 file.write(" main_Image_3_in_42,\n")
1046 file.write(" main_Image_3_in_43,\n")
1047 file.write(" main_Image_3_in_44,\n")
1048 file.write(" main_Image_3_in_45,\n")
1049 file.write(" main_Image_3_in_46,\n")
1050 file.write(" main_Image_3_in_47,\n")
1051 file.write(" main_Image_3_in_48,\n")
1052 file.write(" main_Image_3_in_49\n")
1053 file.write(" ) [instance: 3, cache: 1];\n")
1054 file.write("// network: end of macro body\n")
1055 file.write("CacheScene(main_Image_3_in_1, main_Image_3_out_1, main_Image_3_out_2);\n")
1056 file.write("}\n")
1057
1058
1059 if num_points > 0:
1060 file.write("\n")
1061 file.write("main_Import_4_in_1 = \"%s.general\";\n" % point_file)
1062 file.write("main_Import_4_in_2 = NULL;\n")
1063 file.write("main_Import_4_in_3 = NULL;\n")
1064 file.write("main_Import_4_in_4 = NULL;\n")
1065 file.write("main_Import_4_in_5 = NULL;\n")
1066 file.write("main_Import_4_in_6 = NULL;\n")
1067 file.write("main_Import_4_out_1 = NULL;\n")
1068 file.write("main_Glyph_2_in_2 = \"sphere\";\n")
1069 file.write("main_Glyph_2_in_3 = NULL;\n")
1070 file.write("main_Glyph_2_in_4 = %s;\n" % sphere_size)
1071 file.write("main_Glyph_2_in_5 = 0.0;\n")
1072 file.write("main_Glyph_2_in_6 = NULL;\n")
1073 file.write("main_Glyph_2_in_7 = NULL;\n")
1074 file.write("main_Glyph_2_out_1 = NULL;\n")
1075 file.write("main_Color_10_in_2 = [0 0 0];\n")
1076 file.write("main_Color_10_in_3 = 1.0;\n")
1077 file.write("main_Color_10_in_4 = NULL;\n")
1078 file.write("main_Color_10_in_5 = NULL;\n")
1079 file.write("main_Color_10_out_1 = NULL;\n")
1080 file.write("main_Transmitter_1_out_1 = NULL;\n")
1081 file.write("main_Receiver_2_out_1 = NULL;\n")
1082
1083
1084 file.write("\n")
1085 file.write("main_Import_3_in_1 = \"%s.general\";\n" % file_prefix)
1086 file.write("main_Import_3_in_2 = NULL;\n")
1087 file.write("main_Import_3_in_3 = NULL;\n")
1088 file.write("main_Import_3_in_4 = NULL;\n")
1089 file.write("main_Import_3_in_5 = NULL;\n")
1090 file.write("main_Import_3_in_6 = NULL;\n")
1091 file.write("main_Import_3_out_1 = NULL;\n")
1092 file.write("main_Isosurface_5_in_2 = 500.0;\n")
1093 file.write("main_Isosurface_5_in_3 = NULL;\n")
1094 file.write("main_Isosurface_5_in_4 = NULL;\n")
1095 file.write("main_Isosurface_5_in_5 = NULL;\n")
1096 file.write("main_Isosurface_5_in_6 = NULL;\n")
1097 file.write("main_Isosurface_5_out_1 = NULL;\n")
1098 file.write("main_Transmitter_7_out_1 = NULL;\n")
1099 file.write("main_Receiver_14_out_1 = NULL;\n")
1100 file.write("main_Color_6_in_2 = [0 0 0];\n")
1101 file.write("main_Color_6_in_3 = 0.2;\n")
1102 file.write("main_Color_6_in_4 = NULL;\n")
1103 file.write("main_Color_6_in_5 = NULL;\n")
1104 file.write("main_Color_6_out_1 = NULL;\n")
1105 file.write("main_Isosurface_6_in_2 = 100.0;\n")
1106 file.write("main_Isosurface_6_in_3 = NULL;\n")
1107 file.write("main_Isosurface_6_in_4 = NULL;\n")
1108 file.write("main_Isosurface_6_in_5 = NULL;\n")
1109 file.write("main_Isosurface_6_in_6 = NULL;\n")
1110 file.write("main_Isosurface_6_out_1 = NULL;\n")
1111 file.write("main_Transmitter_8_out_1 = NULL;\n")
1112 file.write("main_Receiver_13_out_1 = NULL;\n")
1113 file.write("main_Color_7_in_2 = [0.2 0.2 0.2];\n")
1114 file.write("main_Color_7_in_3 = 0.4;\n")
1115 file.write("main_Color_7_in_4 = NULL;\n")
1116 file.write("main_Color_7_in_5 = NULL;\n")
1117 file.write("main_Color_7_out_1 = NULL;\n")
1118 file.write("main_Collect_5_out_1 = NULL;\n")
1119 file.write("main_Isosurface_7_in_2 = 20.0;\n")
1120 file.write("main_Isosurface_7_in_3 = NULL;\n")
1121 file.write("main_Isosurface_7_in_4 = NULL;\n")
1122 file.write("main_Isosurface_7_in_5 = NULL;\n")
1123 file.write("main_Isosurface_7_in_6 = NULL;\n")
1124 file.write("main_Isosurface_7_out_1 = NULL;\n")
1125 file.write("main_Transmitter_9_out_1 = NULL;\n")
1126 file.write("main_Receiver_12_out_1 = NULL;\n")
1127 file.write("main_Color_8_in_2 = [0.5 0.5 0.5];\n")
1128 file.write("main_Color_8_in_3 = 0.5;\n")
1129 file.write("main_Color_8_in_4 = NULL;\n")
1130 file.write("main_Color_8_in_5 = NULL;\n")
1131 file.write("main_Color_8_out_1 = NULL;\n")
1132 file.write("main_Isosurface_8_in_2 = 7.0;\n")
1133 file.write("main_Isosurface_8_in_3 = NULL;\n")
1134 file.write("main_Isosurface_8_in_4 = NULL;\n")
1135 file.write("main_Isosurface_8_in_5 = NULL;\n")
1136 file.write("main_Isosurface_8_in_6 = NULL;\n")
1137 file.write("main_Isosurface_8_out_1 = NULL;\n")
1138 file.write("main_Transmitter_10_out_1 = NULL;\n")
1139 file.write("main_Receiver_11_out_1 = NULL;\n")
1140 file.write("main_Color_9_in_2 = \"white\";\n")
1141 file.write("main_Color_9_in_3 = 0.7;\n")
1142 file.write("main_Color_9_in_4 = NULL;\n")
1143 file.write("main_Color_9_in_5 = NULL;\n")
1144 file.write("main_Color_9_out_1 = NULL;\n")
1145 file.write("main_Collect_6_out_1 = NULL;\n")
1146 file.write("main_Collect_7_out_1 = NULL;\n")
1147
1148
1149 if num_points > 0:
1150 file.write("\n")
1151 file.write("main_Collect_8_out_1 = NULL;\n")
1152
1153
1154 file.write("\n")
1155 file.write("main_Transmitter_4_out_1 = NULL;\n")
1156 file.write("main_Receiver_3_out_1 = NULL;\n")
1157 file.write("main_Scale_3_in_2 = [1 1 1];\n")
1158 file.write("main_Scale_3_out_1 = NULL;\n")
1159 file.write("main_AutoCamera_2_in_2 = [1 -1 1];\n")
1160 file.write("main_AutoCamera_2_in_3 = NULL;\n")
1161 file.write("main_AutoCamera_2_in_4 = 640;\n")
1162 file.write("main_AutoCamera_2_in_5 = .75;\n")
1163 file.write("main_AutoCamera_2_in_6 = [-1 1 0 ];\n")
1164 file.write("main_AutoCamera_2_in_7 = 0;\n")
1165 file.write("main_AutoCamera_2_in_8 = 30.0;\n")
1166 file.write("main_AutoCamera_2_in_9 = \"white\";\n")
1167 file.write("main_AutoCamera_2_out_1 = NULL;\n")
1168 file.write("main_AutoAxes_2_in_3 = %s;\n" % labels)
1169 file.write("main_AutoAxes_2_in_4 = 30;\n")
1170 file.write("main_AutoAxes_2_in_5 = %s;\n" % corners)
1171 file.write("main_AutoAxes_2_in_6 = 1;\n")
1172 file.write("main_AutoAxes_2_in_7 = NULL;\n")
1173 file.write("main_AutoAxes_2_in_8 = NULL;\n")
1174 file.write("main_AutoAxes_2_in_9 = 1;\n")
1175 file.write("main_AutoAxes_2_in_10 = {[1 1 1] [0.1 0.1 0.1] [0 0 0] [0 0 0]};\n")
1176 file.write("main_AutoAxes_2_in_11 = {\"background\" \"grid\" \"labels\" \"ticks\"};\n")
1177 file.write("main_AutoAxes_2_in_12 = NULL;\n")
1178 file.write("main_AutoAxes_2_in_13 = \"area\";\n")
1179 file.write("main_AutoAxes_2_in_14 = %s;\n" % tick_locations[0])
1180 file.write("main_AutoAxes_2_in_15 = %s;\n" % tick_locations[1])
1181 file.write("main_AutoAxes_2_in_16 = %s;\n" % tick_locations[2])
1182 file.write("main_AutoAxes_2_in_17 = %s;\n" % tick_values[0])
1183 file.write("main_AutoAxes_2_in_18 = %s;\n" % tick_values[1])
1184 file.write("main_AutoAxes_2_in_19 = %s;\n" % tick_values[2])
1185 file.write("main_AutoAxes_2_out_1 = NULL;\n")
1186
1187
1188 if num_points > 0:
1189 file.write("\n")
1190 file.write("main_Color_11_in_2 = [1 0 0];\n")
1191 file.write("main_Color_11_in_3 = 1.0;\n")
1192 file.write("main_Color_11_in_4 = NULL;\n")
1193 file.write("main_Color_11_in_5 = NULL;\n")
1194 file.write("main_Color_11_out_1 = NULL;\n")
1195 file.write("main_Transmitter_2_out_1 = NULL;\n")
1196 file.write("main_Receiver_1_out_1 = NULL;\n")
1197
1198
1199 file.write("\n")
1200 file.write("main_Receiver_10_out_1 = NULL;\n")
1201 file.write("main_Color_12_in_2 = [0 0 0.2];\n")
1202 file.write("main_Color_12_in_3 = 0.3;\n")
1203 file.write("main_Color_12_in_4 = NULL;\n")
1204 file.write("main_Color_12_in_5 = NULL;\n")
1205 file.write("main_Color_12_out_1 = NULL;\n")
1206 file.write("main_Receiver_9_out_1 = NULL;\n")
1207 file.write("main_Color_13_in_2 = \"blue\";\n")
1208 file.write("main_Color_13_in_3 = 0.3;\n")
1209 file.write("main_Color_13_in_4 = NULL;\n")
1210 file.write("main_Color_13_in_5 = NULL;\n")
1211 file.write("main_Color_13_out_1 = NULL;\n")
1212 file.write("main_Collect_9_out_1 = NULL;\n")
1213 file.write("main_Receiver_8_out_1 = NULL;\n")
1214 file.write("main_Color_14_in_2 = [0.5 0.5 1];\n")
1215 file.write("main_Color_14_in_3 = 0.2;\n")
1216 file.write("main_Color_14_in_4 = NULL;\n")
1217 file.write("main_Color_14_in_5 = NULL;\n")
1218 file.write("main_Color_14_out_1 = NULL;\n")
1219 file.write("main_Receiver_7_out_1 = NULL;\n")
1220 file.write("main_Color_15_in_2 = \"white\";\n")
1221 file.write("main_Color_15_in_3 = 0.55;\n")
1222 file.write("main_Color_15_in_4 = NULL;\n")
1223 file.write("main_Color_15_in_5 = NULL;\n")
1224 file.write("main_Color_15_out_1 = NULL;\n")
1225 file.write("main_Collect_10_out_1 = NULL;\n")
1226 file.write("main_Collect_11_out_1 = NULL;\n")
1227
1228
1229 if num_points > 0:
1230 file.write("\n")
1231 file.write("main_Collect_12_out_1 = NULL;\n")
1232
1233
1234 file.write("\n")
1235 file.write("main_Transmitter_3_out_1 = NULL;\n")
1236 file.write("main_Receiver_4_out_1 = NULL;\n")
1237 file.write("main_Scale_5_in_2 = [1 1 1];\n")
1238 file.write("main_Scale_5_out_1 = NULL;\n")
1239 file.write("main_AutoCamera_4_in_2 = [1 -1 1];\n")
1240 file.write("main_AutoCamera_4_in_3 = NULL;\n")
1241 file.write("main_AutoCamera_4_in_4 = NULL;\n")
1242 file.write("main_AutoCamera_4_in_5 = .75;\n")
1243 file.write("main_AutoCamera_4_in_6 = [-1 1 0 ];\n")
1244 file.write("main_AutoCamera_4_in_7 = 0;\n")
1245 file.write("main_AutoCamera_4_in_8 = 30.0;\n")
1246 file.write("main_AutoCamera_4_in_9 = \"black\";\n")
1247 file.write("main_AutoCamera_4_out_1 = NULL;\n")
1248 file.write("main_AutoAxes_4_in_3 = %s;\n" % labels)
1249 file.write("main_AutoAxes_4_in_4 = 30;\n")
1250 file.write("main_AutoAxes_4_in_5 = %s;\n" % corners)
1251 file.write("main_AutoAxes_4_in_6 = 1;\n")
1252 file.write("main_AutoAxes_4_in_7 = NULL;\n")
1253 file.write("main_AutoAxes_4_in_8 = NULL;\n")
1254 file.write("main_AutoAxes_4_in_9 = 1;\n")
1255 file.write("main_AutoAxes_4_in_10 = {[0.05 0.05 0.05] [0.3 0.3 0.3] [1 1 1] [1 1 0]};\n")
1256 file.write("main_AutoAxes_4_in_11 = {\"background\" \"grid\" \"labels\" \"ticks\"};\n")
1257 file.write("main_AutoAxes_4_in_12 = NULL;\n")
1258 file.write("main_AutoAxes_4_in_13 = \"area\";\n")
1259 file.write("main_AutoAxes_4_in_14 = %s;\n" % tick_locations[0])
1260 file.write("main_AutoAxes_4_in_15 = %s;\n" % tick_locations[1])
1261 file.write("main_AutoAxes_4_in_16 = %s;\n" % tick_locations[2])
1262 file.write("main_AutoAxes_4_in_17 = %s;\n" % tick_values[0])
1263 file.write("main_AutoAxes_4_in_18 = %s;\n" % tick_values[1])
1264 file.write("main_AutoAxes_4_in_19 = %s;\n" % tick_values[2])
1265 file.write("main_AutoAxes_4_out_1 = NULL;\n")
1266 file.write("main_Selector_1_in_1 = \"Selector_1\";\n")
1267 file.write("main_Selector_1_in_2 = \"Colour\" ;\n")
1268 file.write("main_Selector_1_in_3 = 1 ;\n")
1269 file.write("main_Selector_1_in_4 = NULL;\n")
1270 file.write("main_Selector_1_in_5 = NULL;\n")
1271 file.write("main_Selector_1_in_6 = NULL;\n")
1272 file.write("main_Selector_1_in_7 = NULL;\n")
1273 file.write("main_Selector_1_out_1 = 1 ;\n")
1274 file.write("main_Transmitter_6_out_1 = NULL;\n")
1275 file.write("main_Receiver_5_out_1 = NULL;\n")
1276 file.write("main_Transmitter_5_out_1 = NULL;\n")
1277 file.write("main_Receiver_6_out_1 = NULL;\n")
1278 file.write("main_Switch_1_out_1 = NULL;\n")
1279 file.write("main_Switch_14_in_2 = \"black\";\n")
1280 file.write("main_Switch_14_in_3 = \"white\";\n")
1281 file.write("main_Switch_14_out_1 = NULL;\n")
1282 file.write("macro Image(\n")
1283 file.write(" id,\n")
1284 file.write(" object,\n")
1285 file.write(" where,\n")
1286 file.write(" useVector,\n")
1287 file.write(" to,\n")
1288 file.write(" from,\n")
1289 file.write(" width,\n")
1290 file.write(" resolution,\n")
1291 file.write(" aspect,\n")
1292 file.write(" up,\n")
1293 file.write(" viewAngle,\n")
1294 file.write(" perspective,\n")
1295 file.write(" options,\n")
1296 file.write(" buttonState = 1,\n")
1297 file.write(" buttonUpApprox = \"none\",\n")
1298 file.write(" buttonDownApprox = \"none\",\n")
1299 file.write(" buttonUpDensity = 1,\n")
1300 file.write(" buttonDownDensity = 1,\n")
1301 file.write(" renderMode = 0,\n")
1302 file.write(" defaultCamera,\n")
1303 file.write(" reset,\n")
1304 file.write(" backgroundColor,\n")
1305 file.write(" throttle,\n")
1306 file.write(" RECenable = 0,\n")
1307 file.write(" RECfile,\n")
1308 file.write(" RECformat,\n")
1309 file.write(" RECresolution,\n")
1310 file.write(" RECaspect,\n")
1311 file.write(" AAenable = 0,\n")
1312 file.write(" AAlabels,\n")
1313 file.write(" AAticks,\n")
1314 file.write(" AAcorners,\n")
1315 file.write(" AAframe,\n")
1316 file.write(" AAadjust,\n")
1317 file.write(" AAcursor,\n")
1318 file.write(" AAgrid,\n")
1319 file.write(" AAcolors,\n")
1320 file.write(" AAannotation,\n")
1321 file.write(" AAlabelscale,\n")
1322 file.write(" AAfont,\n")
1323 file.write(" interactionMode,\n")
1324 file.write(" title,\n")
1325 file.write(" AAxTickLocs,\n")
1326 file.write(" AAyTickLocs,\n")
1327 file.write(" AAzTickLocs,\n")
1328 file.write(" AAxTickLabels,\n")
1329 file.write(" AAyTickLabels,\n")
1330 file.write(" AAzTickLabels,\n")
1331 file.write(" webOptions) -> (\n")
1332 file.write(" object,\n")
1333 file.write(" camera,\n")
1334 file.write(" where)\n")
1335 file.write("{\n")
1336 file.write(" ImageMessage(\n")
1337 file.write(" id,\n")
1338 file.write(" backgroundColor,\n")
1339 file.write(" throttle,\n")
1340 file.write(" RECenable,\n")
1341 file.write(" RECfile,\n")
1342 file.write(" RECformat,\n")
1343 file.write(" RECresolution,\n")
1344 file.write(" RECaspect,\n")
1345 file.write(" AAenable,\n")
1346 file.write(" AAlabels,\n")
1347 file.write(" AAticks,\n")
1348 file.write(" AAcorners,\n")
1349 file.write(" AAframe,\n")
1350 file.write(" AAadjust,\n")
1351 file.write(" AAcursor,\n")
1352 file.write(" AAgrid,\n")
1353 file.write(" AAcolors,\n")
1354 file.write(" AAannotation,\n")
1355 file.write(" AAlabelscale,\n")
1356 file.write(" AAfont,\n")
1357 file.write(" AAxTickLocs,\n")
1358 file.write(" AAyTickLocs,\n")
1359 file.write(" AAzTickLocs,\n")
1360 file.write(" AAxTickLabels,\n")
1361 file.write(" AAyTickLabels,\n")
1362 file.write(" AAzTickLabels,\n")
1363 file.write(" interactionMode,\n")
1364 file.write(" title,\n")
1365 file.write(" renderMode,\n")
1366 file.write(" buttonUpApprox,\n")
1367 file.write(" buttonDownApprox,\n")
1368 file.write(" buttonUpDensity,\n")
1369 file.write(" buttonDownDensity) [instance: 1, cache: 1];\n")
1370 file.write(" autoCamera =\n")
1371 file.write(" AutoCamera(\n")
1372 file.write(" object,\n")
1373 file.write(" \"front\",\n")
1374 file.write(" object,\n")
1375 file.write(" resolution,\n")
1376 file.write(" aspect,\n")
1377 file.write(" [0,1,0],\n")
1378 file.write(" perspective,\n")
1379 file.write(" viewAngle,\n")
1380 file.write(" backgroundColor) [instance: 1, cache: 1];\n")
1381 file.write(" realCamera =\n")
1382 file.write(" Camera(\n")
1383 file.write(" to,\n")
1384 file.write(" from,\n")
1385 file.write(" width,\n")
1386 file.write(" resolution,\n")
1387 file.write(" aspect,\n")
1388 file.write(" up,\n")
1389 file.write(" perspective,\n")
1390 file.write(" viewAngle,\n")
1391 file.write(" backgroundColor) [instance: 1, cache: 1];\n")
1392 file.write(" coloredDefaultCamera = \n")
1393 file.write(" UpdateCamera(defaultCamera,\n")
1394 file.write(" background=backgroundColor) [instance: 1, cache: 1];\n")
1395 file.write(" nullDefaultCamera =\n")
1396 file.write(" Inquire(defaultCamera,\n")
1397 file.write(" \"is null + 1\") [instance: 1, cache: 1];\n")
1398 file.write(" resetCamera =\n")
1399 file.write(" Switch(\n")
1400 file.write(" nullDefaultCamera,\n")
1401 file.write(" coloredDefaultCamera,\n")
1402 file.write(" autoCamera) [instance: 1, cache: 1];\n")
1403 file.write(" resetNull = \n")
1404 file.write(" Inquire(\n")
1405 file.write(" reset,\n")
1406 file.write(" \"is null + 1\") [instance: 2, cache: 1];\n")
1407 file.write(" reset =\n")
1408 file.write(" Switch(\n")
1409 file.write(" resetNull,\n")
1410 file.write(" reset,\n")
1411 file.write(" 0) [instance: 2, cache: 1];\n")
1412 file.write(" whichCamera =\n")
1413 file.write(" Compute(\n")
1414 file.write(" \"($0 != 0 || $1 == 0) ? 1 : 2\",\n")
1415 file.write(" reset,\n")
1416 file.write(" useVector) [instance: 1, cache: 1];\n")
1417 file.write(" camera = Switch(\n")
1418 file.write(" whichCamera,\n")
1419 file.write(" resetCamera,\n")
1420 file.write(" realCamera) [instance: 3, cache: 1];\n")
1421 file.write(" AAobject =\n")
1422 file.write(" AutoAxes(\n")
1423 file.write(" object,\n")
1424 file.write(" camera,\n")
1425 file.write(" AAlabels,\n")
1426 file.write(" AAticks,\n")
1427 file.write(" AAcorners,\n")
1428 file.write(" AAframe,\n")
1429 file.write(" AAadjust,\n")
1430 file.write(" AAcursor,\n")
1431 file.write(" AAgrid,\n")
1432 file.write(" AAcolors,\n")
1433 file.write(" AAannotation,\n")
1434 file.write(" AAlabelscale,\n")
1435 file.write(" AAfont,\n")
1436 file.write(" AAxTickLocs,\n")
1437 file.write(" AAyTickLocs,\n")
1438 file.write(" AAzTickLocs,\n")
1439 file.write(" AAxTickLabels,\n")
1440 file.write(" AAyTickLabels,\n")
1441 file.write(" AAzTickLabels) [instance: 1, cache: 1];\n")
1442 file.write(" switchAAenable = Compute(\"$0+1\",\n")
1443 file.write(" AAenable) [instance: 2, cache: 1];\n")
1444 file.write(" object = Switch(\n")
1445 file.write(" switchAAenable,\n")
1446 file.write(" object,\n")
1447 file.write(" AAobject) [instance:4, cache: 1];\n")
1448 file.write(" SWapproximation_options =\n")
1449 file.write(" Switch(\n")
1450 file.write(" buttonState,\n")
1451 file.write(" buttonUpApprox,\n")
1452 file.write(" buttonDownApprox) [instance: 5, cache: 1];\n")
1453 file.write(" SWdensity_options =\n")
1454 file.write(" Switch(\n")
1455 file.write(" buttonState,\n")
1456 file.write(" buttonUpDensity,\n")
1457 file.write(" buttonDownDensity) [instance: 6, cache: 1];\n")
1458 file.write(" HWapproximation_options =\n")
1459 file.write(" Format(\n")
1460 file.write(" \"%s,%s\",\n")
1461 file.write(" buttonDownApprox,\n")
1462 file.write(" buttonUpApprox) [instance: 1, cache: 1];\n")
1463 file.write(" HWdensity_options =\n")
1464 file.write(" Format(\n")
1465 file.write(" \"%d,%d\",\n")
1466 file.write(" buttonDownDensity,\n")
1467 file.write(" buttonUpDensity) [instance: 2, cache: 1];\n")
1468 file.write(" switchRenderMode = Compute(\n")
1469 file.write(" \"$0+1\",\n")
1470 file.write(" renderMode) [instance: 3, cache: 1];\n")
1471 file.write(" approximation_options = Switch(\n")
1472 file.write(" switchRenderMode,\n")
1473 file.write(" SWapproximation_options,\n")
1474 file.write(" HWapproximation_options) [instance: 7, cache: 1];\n")
1475 file.write(" density_options = Switch(\n")
1476 file.write(" switchRenderMode,\n")
1477 file.write(" SWdensity_options,\n")
1478 file.write(" HWdensity_options) [instance: 8, cache: 1];\n")
1479 file.write(" renderModeString = Switch(\n")
1480 file.write(" switchRenderMode,\n")
1481 file.write(" \"software\",\n")
1482 file.write(" \"hardware\")[instance: 9, cache: 1];\n")
1483 file.write(" object_tag = Inquire(\n")
1484 file.write(" object,\n")
1485 file.write(" \"object tag\")[instance: 3, cache: 1];\n")
1486 file.write(" annoted_object =\n")
1487 file.write(" Options(\n")
1488 file.write(" object,\n")
1489 file.write(" \"send boxes\",\n")
1490 file.write(" 0,\n")
1491 file.write(" \"cache\",\n")
1492 file.write(" 1,\n")
1493 file.write(" \"object tag\",\n")
1494 file.write(" object_tag,\n")
1495 file.write(" \"ddcamera\",\n")
1496 file.write(" whichCamera,\n")
1497 file.write(" \"rendering approximation\",\n")
1498 file.write(" approximation_options,\n")
1499 file.write(" \"render every\",\n")
1500 file.write(" density_options,\n")
1501 file.write(" \"button state\",\n")
1502 file.write(" buttonState,\n")
1503 file.write(" \"rendering mode\",\n")
1504 file.write(" renderModeString) [instance: 1, cache: 1];\n")
1505 file.write(" RECresNull =\n")
1506 file.write(" Inquire(\n")
1507 file.write(" RECresolution,\n")
1508 file.write(" \"is null + 1\") [instance: 4, cache: 1];\n")
1509 file.write(" ImageResolution =\n")
1510 file.write(" Inquire(\n")
1511 file.write(" camera,\n")
1512 file.write(" \"camera resolution\") [instance: 5, cache: 1];\n")
1513 file.write(" RECresolution =\n")
1514 file.write(" Switch(\n")
1515 file.write(" RECresNull,\n")
1516 file.write(" RECresolution,\n")
1517 file.write(" ImageResolution) [instance: 10, cache: 1];\n")
1518 file.write(" RECaspectNull =\n")
1519 file.write(" Inquire(\n")
1520 file.write(" RECaspect,\n")
1521 file.write(" \"is null + 1\") [instance: 6, cache: 1];\n")
1522 file.write(" ImageAspect =\n")
1523 file.write(" Inquire(\n")
1524 file.write(" camera,\n")
1525 file.write(" \"camera aspect\") [instance: 7, cache: 1];\n")
1526 file.write(" RECaspect =\n")
1527 file.write(" Switch(\n")
1528 file.write(" RECaspectNull,\n")
1529 file.write(" RECaspect,\n")
1530 file.write(" ImageAspect) [instance: 11, cache: 1];\n")
1531 file.write(" switchRECenable = Compute(\n")
1532 file.write(" \"$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4\",\n")
1533 file.write(" RECenable,\n")
1534 file.write(" switchRenderMode,\n")
1535 file.write(" RECresolution,\n")
1536 file.write(" ImageResolution,\n")
1537 file.write(" RECaspect,\n")
1538 file.write(" ImageAspect) [instance: 4, cache: 1];\n")
1539 file.write(" NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);\n")
1540 file.write(" Display(\n")
1541 file.write(" NoRECobject,\n")
1542 file.write(" camera,\n")
1543 file.write(" where,\n")
1544 file.write(" throttle) [instance: 1, cache: 1];\n")
1545 file.write(" image =\n")
1546 file.write(" Render(\n")
1547 file.write(" RECNoRerenderObject,\n")
1548 file.write(" camera) [instance: 1, cache: 1];\n")
1549 file.write(" Display(\n")
1550 file.write(" image,\n")
1551 file.write(" NULL,\n")
1552 file.write(" where,\n")
1553 file.write(" throttle) [instance: 2, cache: 1];\n")
1554 file.write(" WriteImage(\n")
1555 file.write(" image,\n")
1556 file.write(" RECfile,\n")
1557 file.write(" RECformat) [instance: 1, cache: 1];\n")
1558 file.write(" rec_where = Display(\n")
1559 file.write(" RECNoRerHW,\n")
1560 file.write(" camera,\n")
1561 file.write(" where,\n")
1562 file.write(" throttle) [instance: 1, cache: 0];\n")
1563 file.write(" rec_image = ReadImageWindow(\n")
1564 file.write(" rec_where) [instance: 1, cache: 1];\n")
1565 file.write(" WriteImage(\n")
1566 file.write(" rec_image,\n")
1567 file.write(" RECfile,\n")
1568 file.write(" RECformat) [instance: 1, cache: 1];\n")
1569 file.write(" RECupdateCamera =\n")
1570 file.write(" UpdateCamera(\n")
1571 file.write(" camera,\n")
1572 file.write(" resolution=RECresolution,\n")
1573 file.write(" aspect=RECaspect) [instance: 2, cache: 1];\n")
1574 file.write(" Display(\n")
1575 file.write(" RECRerenderObject,\n")
1576 file.write(" camera,\n")
1577 file.write(" where,\n")
1578 file.write(" throttle) [instance: 1, cache: 1];\n")
1579 file.write(" RECRerenderObject =\n")
1580 file.write(" ScaleScreen(\n")
1581 file.write(" RECRerenderObject,\n")
1582 file.write(" NULL,\n")
1583 file.write(" RECresolution,\n")
1584 file.write(" camera) [instance: 1, cache: 1];\n")
1585 file.write(" image =\n")
1586 file.write(" Render(\n")
1587 file.write(" RECRerenderObject,\n")
1588 file.write(" RECupdateCamera) [instance: 2, cache: 1];\n")
1589 file.write(" WriteImage(\n")
1590 file.write(" image,\n")
1591 file.write(" RECfile,\n")
1592 file.write(" RECformat) [instance: 2, cache: 1];\n")
1593 file.write("}\n")
1594 file.write("main_Image_3_in_1 = \"Image_3\";\n")
1595 file.write("main_Image_3_in_3 = \"X24,,Surface\";\n")
1596 file.write("main_Image_3_in_4 = 1;\n")
1597 file.write("main_Image_3_in_5 = %s;\n" % image_array1)
1598 file.write("main_Image_3_in_6 = %s;\n" % image_array2)
1599 file.write("main_Image_3_in_7 = %s;\n" % image_val)
1600 file.write("main_Image_3_in_8 = 1376;\n")
1601 file.write("main_Image_3_in_9 = 0.678;\n")
1602 file.write("main_Image_3_in_10 = [-0.109685 0.243133 0.963772];\n")
1603 file.write("main_Image_3_in_11 = NULL;\n")
1604 file.write("main_Image_3_in_12 = 0;\n")
1605 file.write("main_Image_3_in_13 = NULL;\n")
1606 file.write("main_Image_3_in_14 = 1;\n")
1607 file.write("main_Image_3_in_15 = \"none\";\n")
1608 file.write("main_Image_3_in_16 = \"none\";\n")
1609 file.write("main_Image_3_in_17 = NULL;\n")
1610 file.write("main_Image_3_in_18 = NULL;\n")
1611 file.write("main_Image_3_in_19 = 0;\n")
1612 file.write("main_Image_3_in_20 = NULL;\n")
1613 file.write("main_Image_3_in_21 = NULL;\n")
1614 file.write("main_Image_3_in_23 = NULL;\n")
1615 file.write("main_Image_3_in_25 = \"iso\";\n")
1616 file.write("main_Image_3_in_26 = \"tiff\";\n")
1617 file.write("main_Image_3_in_27 = NULL;\n")
1618 file.write("main_Image_3_in_28 = NULL;\n")
1619 file.write("main_Image_3_in_29 = 0;\n")
1620 file.write("main_Image_3_in_30 = NULL;\n")
1621 file.write("main_Image_3_in_31 = NULL;\n")
1622 file.write("main_Image_3_in_32 = NULL;\n")
1623 file.write("main_Image_3_in_33 = 1;\n")
1624 file.write("main_Image_3_in_34 = 0;\n")
1625 file.write("main_Image_3_in_35 = NULL;\n")
1626 file.write("main_Image_3_in_36 = 1;\n")
1627 file.write("main_Image_3_in_37 = NULL;\n")
1628 file.write("main_Image_3_in_38 = NULL;\n")
1629 file.write("main_Image_3_in_39 = NULL;\n")
1630 file.write("main_Image_3_in_40 = NULL;\n")
1631 file.write("main_Image_3_in_41 = \"rotate\";\n")
1632 file.write("main_Image_3_in_42 = \"Surface\";\n")
1633 file.write("main_Image_3_in_43 = NULL;\n")
1634 file.write("main_Image_3_in_44 = NULL;\n")
1635 file.write("main_Image_3_in_45 = NULL;\n")
1636 file.write("main_Image_3_in_46 = NULL;\n")
1637 file.write("main_Image_3_in_47 = NULL;\n")
1638 file.write("main_Image_3_in_48 = NULL;\n")
1639 file.write("main_Image_3_in_49 = NULL;\n")
1640 file.write("Executive(\"product version 4 3 2\");\n")
1641 file.write("$sync\n")
1642 file.write("main();\n")
1643
1644
1645 file.close()
1646