1//
2// time: Tue May 14 16:39:37 1996
3//
4// version: 3.0.0 (format), 3.2.0 (DX Beta)
5//
6//
7// MODULE main
8//
9// comment: This is the Data Explorer (DX) object viewer. It provides
10// comment: the means to interactively explorer a 3-dimensional object
11// comment: that was, in general, created by DX.  You can use the left
12// comment: and right mouse buttons to manipulate the object in the
13// comment: following modes:
14// comment:
15// comment: Mode          Hot-key    Left mouse            Right mouse
16// comment: Rotate         Ctrl-R      Trackball rotate    Rotate image plane
17// comment: Pan/Zoom   Ctrl-G      Zoom in                 Zpom out
18// comment: Navigate     Ctrl-N      Move towards       Move away
19// comment:
20// comment: Use the File menu to Save and Print Images.
21// comment:
22// comment: Use the Execute menu to control executions (which
23// comment: generate new pictures in response to input changes).
24// comment: When the view  comes up it is initially in "execute-on-
25// comment: change".  This causes a  new picture to generated
26// comment: for each mouse event.  The Sequencer option can
27// comment:  be used when the imported object isa series or group
28// comment:  object.  In general, use of this option should not be
29// comment: necessary, as the Sequencer window will come up
30// comment: automatically, when Importing a series or group object.
31// comment:
32// comment: Use the Options menu to control various aspects of the
33// comment: displayed image, interaction mode, including background
34// comment: color,  and rendering mode (hardware or software).
35// workspace: width = 1584, height = 750
36// layout: snap = 0, width = 50, height = 50, align = UL
37//
38macro main(
39) -> (
40) {
41    //
42    // node Import[1]: x = 134, y = 3, inputs = 6, label = Import
43    // input[1]: defaulting = 0, visible = 1, type = 32, value = "/usr/lpp/dx/samples/data/npp"
44    //
45main_Import_1_out_1 =
46    Import(
47    main_Import_1_in_1,
48    main_Import_1_in_2,
49    main_Import_1_in_3,
50    main_Import_1_in_4,
51    main_Import_1_in_5,
52    main_Import_1_in_6
53    ) [instance: 1, cache: 1];
54    //
55    // node Transmitter[4]: x = 130, y = 81, inputs = 1, label = ImportObject
56    //
57ImportObject = main_Import_1_out_1;
58    //
59    // node Receiver[4]: x = 838, y = 19, inputs = 1, label = ImportObject
60    //
61main_Receiver_4_out_1 = ImportObject;
62    //
63    // node AutoColor[1]: x = 819, y = 217, inputs = 10, label = AutoColor
64    //
65main_AutoColor_1_out_1,
66main_AutoColor_1_out_2 =
67    AutoColor(
68    main_Receiver_4_out_1,
69    main_AutoColor_1_in_2,
70    main_AutoColor_1_in_3,
71    main_AutoColor_1_in_4,
72    main_AutoColor_1_in_5,
73    main_AutoColor_1_in_6,
74    main_AutoColor_1_in_7,
75    main_AutoColor_1_in_8,
76    main_AutoColor_1_in_9,
77    main_AutoColor_1_in_10
78    ) [instance: 1, cache: 1];
79    //
80    // node Inquire[2]: x = 723, y = 123, inputs = 3, label = Inquire
81    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is group + 1"
82    // input[3]: defaulting = 1, visible = 1, type = 32, value = "colors"
83    //
84main_Inquire_2_out_1 =
85    Inquire(
86    main_Receiver_4_out_1,
87    main_Inquire_2_in_2,
88    main_Inquire_2_in_3
89    ) [instance: 2, cache: 1];
90    //
91    // node Select[1]: x = 807, y = 124, inputs = 3, label = Select
92    //
93main_Select_1_out_1 =
94    Select(
95    main_Receiver_4_out_1,
96    main_Select_1_in_2,
97    main_Select_1_in_3
98    ) [instance: 1, cache: 1];
99    //
100    // node Switch[2]: x = 666, y = 203, inputs = 3, label = Switch
101    //
102main_Switch_2_out_1 =
103    Switch(
104    main_Inquire_2_out_1,
105    main_Receiver_4_out_1,
106    main_Select_1_out_1
107    ) [instance: 2, cache: 1];
108    //
109    // node MapToPlane[1]: x = 1021, y = 346, inputs = 3, label = MapToPlane
110    //
111main_MapToPlane_1_out_1 =
112    MapToPlane(
113    main_Switch_2_out_1,
114    main_MapToPlane_1_in_2,
115    main_MapToPlane_1_in_3
116    ) [instance: 1, cache: 1];
117    //
118    // node AutoColor[2]: x = 1025, y = 423, inputs = 10, label = AutoColor
119    //
120main_AutoColor_2_out_1,
121main_AutoColor_2_out_2 =
122    AutoColor(
123    main_MapToPlane_1_out_1,
124    main_AutoColor_2_in_2,
125    main_AutoColor_2_in_3,
126    main_AutoColor_2_in_4,
127    main_AutoColor_2_in_5,
128    main_AutoColor_2_in_6,
129    main_AutoColor_2_in_7,
130    main_AutoColor_2_in_8,
131    main_AutoColor_2_in_9,
132    main_AutoColor_2_in_10
133    ) [instance: 2, cache: 1];
134    //
135    // node Inquire[10]: x = 940, y = 126, inputs = 3, label = Inquire
136    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is vector +1"
137    //
138main_Inquire_10_out_1 =
139    Inquire(
140    main_Switch_2_out_1,
141    main_Inquire_10_in_2,
142    main_Inquire_10_in_3
143    ) [instance: 10, cache: 1];
144    //
145    // node Compute[4]: x = 1031, y = 127, inputs = 2, label = Compute
146    // input[1]: defaulting = 0, visible = 0, type = 32, value = "mag($0)"
147    // expression: value = mag(a)
148    // name[2]: value = a
149    //
150main_Compute_4_out_1 =
151    Compute(
152    main_Compute_4_in_1,
153    main_Switch_2_out_1
154    ) [instance: 4, cache: 1];
155    //
156    // node Switch[6]: x = 985, y = 211, inputs = 3, label = Switch
157    //
158main_Switch_6_out_1 =
159    Switch(
160    main_Inquire_10_out_1,
161    main_Switch_2_out_1,
162    main_Compute_4_out_1
163    ) [instance: 6, cache: 1];
164    //
165    // node Isosurface[1]: x = 940, y = 347, inputs = 6, label = Isosurface
166    //
167main_Isosurface_1_out_1 =
168    Isosurface(
169    main_Switch_6_out_1,
170    main_Isosurface_1_in_2,
171    main_Isosurface_1_in_3,
172    main_Isosurface_1_in_4,
173    main_Isosurface_1_in_5,
174    main_Isosurface_1_in_6
175    ) [instance: 1, cache: 1];
176    //
177    // node Color[1]: x = 936, y = 420, inputs = 5, label = Color
178    // input[2]: defaulting = 1, visible = 1, type = 8, value = [.3]
179    // input[3]: defaulting = 0, visible = 1, type = 5, value = .3
180    //
181main_Color_1_out_1 =
182    Color(
183    main_Isosurface_1_out_1,
184    main_Color_1_in_2,
185    main_Color_1_in_3,
186    main_Color_1_in_4,
187    main_Color_1_in_5
188    ) [instance: 1, cache: 1];
189    //
190    // node Collect[1]: x = 1010, y = 513, inputs = 2, label = Collect
191    //
192main_Collect_1_out_1 =
193    Collect(
194    main_Color_1_out_1,
195    main_AutoColor_2_out_1
196    ) [instance: 1, cache: 1];
197    //
198    // node Receiver[5]: x = 1278, y = 12, inputs = 1, label = ImportObject
199    //
200main_Receiver_5_out_1 = ImportObject;
201    //
202    // node Inquire[6]: x = 1236, y = 166, inputs = 3, label = Inquire
203    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is field"
204    //
205main_Inquire_6_out_1 =
206    Inquire(
207    main_Receiver_5_out_1,
208    main_Inquire_6_in_2,
209    main_Inquire_6_in_3
210    ) [instance: 6, cache: 1];
211    //
212    // node Inquire[3]: x = 1328, y = 166, inputs = 3, label = Inquire
213    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is 2D grid connections"
214    //
215main_Inquire_3_out_1 =
216    Inquire(
217    main_Receiver_5_out_1,
218    main_Inquire_3_in_2,
219    main_Inquire_3_in_3
220    ) [instance: 3, cache: 1];
221    //
222    // node Inquire[4]: x = 1420, y = 165, inputs = 3, label = Inquire
223    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is 2D positions"
224    //
225main_Inquire_4_out_1 =
226    Inquire(
227    main_Receiver_5_out_1,
228    main_Inquire_4_in_2,
229    main_Inquire_4_in_3
230    ) [instance: 4, cache: 1];
231    //
232    // node Inquire[5]: x = 1512, y = 165, inputs = 3, label = Inquire
233    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is regular positions"
234    //
235main_Inquire_5_out_1 =
236    Inquire(
237    main_Receiver_5_out_1,
238    main_Inquire_5_in_2,
239    main_Inquire_5_in_3
240    ) [instance: 5, cache: 1];
241    //
242    // node Compute[1]: x = 1348, y = 318, inputs = 5, label = Compute
243    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0 && $1 && $2 && $3"
244    // expression: value = a && b && c && d
245    // name[2]: value = a
246    // name[3]: value = b
247    // name[4]: value = c
248    // name[5]: value = d
249    //
250main_Compute_1_out_1 =
251    Compute(
252    main_Compute_1_in_1,
253    main_Inquire_6_out_1,
254    main_Inquire_3_out_1,
255    main_Inquire_4_out_1,
256    main_Inquire_5_out_1
257    ) [instance: 1, cache: 1];
258    //
259    // node Transmitter[3]: x = 1345, y = 519, inputs = 1, label = IsImage
260    //
261IsImage = main_Compute_1_out_1;
262    //
263    // node Receiver[3]: x = 40, y = 152, inputs = 1, label = IsImage
264    //
265main_Receiver_3_out_1 = IsImage;
266    //
267    // node Compute[2]: x = 62, y = 243, inputs = 2, label = Compute
268    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0 + 1"
269    // expression: value = a + 1
270    // name[2]: value = a
271    //
272main_Compute_2_out_1 =
273    Compute(
274    main_Compute_2_in_1,
275    main_Receiver_3_out_1
276    ) [instance: 2, cache: 1];
277    //
278    // node Receiver[6]: x = 1079, y = 20, inputs = 1, label = ImportObject
279    //
280main_Receiver_6_out_1 = ImportObject;
281    //
282    // node Inquire[7]: x = 1135, y = 235, inputs = 3, label = Inquire
283    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is series"
284    //
285main_Inquire_7_out_1 =
286    Inquire(
287    main_Receiver_6_out_1,
288    main_Inquire_7_in_2,
289    main_Inquire_7_in_3
290    ) [instance: 7, cache: 1];
291    //
292    // node Transmitter[5]: x = 1101, y = 493, inputs = 1, label = IsSeries
293    //
294IsSeries = main_Inquire_7_out_1;
295    //
296    // node Receiver[7]: x = 413, y = 12, inputs = 1, label = IsSeries
297    //
298main_Receiver_7_out_1 = IsSeries;
299    //
300    // node Compute[3]: x = 450, y = 143, inputs = 2, label = Compute
301    // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0 + 1"
302    // expression: value = a + 1
303    // name[2]: value = a
304    //
305main_Compute_3_out_1 =
306    Compute(
307    main_Compute_3_in_1,
308    main_Receiver_7_out_1
309    ) [instance: 3, cache: 1];
310    //
311    // node Inquire[9]: x = 917, y = 512, inputs = 3, label = Inquire
312    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is volume +1"
313    //
314main_Inquire_9_out_1 =
315    Inquire(
316    main_Switch_2_out_1,
317    main_Inquire_9_in_2,
318    main_Inquire_9_in_3
319    ) [instance: 9, cache: 1];
320    //
321    // node Inquire[1]: x = 752, y = 309, inputs = 3, label = Inquire
322    // input[2]: defaulting = 0, visible = 1, type = 32, value = "has component + 1"
323    // input[3]: defaulting = 0, visible = 1, type = 32, value = "colors"
324    //
325main_Inquire_1_out_1 =
326    Inquire(
327    main_Switch_2_out_1,
328    main_Inquire_1_in_2,
329    main_Inquire_1_in_3
330    ) [instance: 1, cache: 1];
331    //
332    // node Switch[1]: x = 822, y = 387, inputs = 3, label = Switch
333    //
334main_Switch_1_out_1 =
335    Switch(
336    main_Inquire_1_out_1,
337    main_AutoColor_1_out_1,
338    main_Receiver_4_out_1
339    ) [instance: 1, cache: 1];
340    //
341    // node Switch[5]: x = 980, y = 606, inputs = 3, label = Switch
342    //
343main_Switch_5_out_1 =
344    Switch(
345    main_Inquire_9_out_1,
346    main_Switch_1_out_1,
347    main_Collect_1_out_1
348    ) [instance: 5, cache: 1];
349    //
350    // node Transmitter[1]: x = 961, y = 688, inputs = 1, label = ColoredObject
351    //
352ColoredObject = main_Switch_5_out_1;
353    //
354    // node Receiver[1]: x = 526, y = 19, inputs = 1, label = ColoredObject
355    //
356main_Receiver_1_out_1 = ColoredObject;
357    //
358    // node Inquire[8]: x = 536, y = 141, inputs = 3, label = Inquire
359    // input[2]: defaulting = 0, visible = 1, type = 32, value = "member count - 1"
360    //
361main_Inquire_8_out_1 =
362    Inquire(
363    main_Receiver_1_out_1,
364    main_Inquire_8_in_2,
365    main_Inquire_8_in_3
366    ) [instance: 8, cache: 1];
367    //
368    // node Sequencer[1]: x = 541, y = 219, inputs = 7, label = Sequencer
369    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Sequencer_1"
370    // input[4]: defaulting = 0, visible = 1, type = 1, value = 1
371    // input[5]: defaulting = 1, visible = 1, type = 1, value = 100
372    // input[6]: defaulting = 1, visible = 0, type = 1, value = 1
373    // input[7]: defaulting = 0, visible = 0, type = 16777217, value = { 1 100 1 1 100 1 }
374    // vcr[1]: min = 1, max = 100, beg = 1, end = 100, cur = 1, inc = 1, loop = off, step = off, pal = off
375    // window: position = (0.0508,0.0020), size = 0.2188x0.0781
376    //
377    main_Sequencer_1_in_3 = @frame;
378main_Sequencer_1_out_1[cache: 2] =
379    Sequencer(
380    main_Sequencer_1_in_1,
381    main_Sequencer_1_in_2,
382    main_Sequencer_1_in_3,
383    main_Sequencer_1_in_4,
384    main_Inquire_8_out_1,
385    main_Sequencer_1_in_6,
386    main_Sequencer_1_in_7
387    ) [instance: 1, cache: 1];
388    //
389    // node Select[2]: x = 555, y = 309, inputs = 3, label = Select
390    //
391main_Select_2_out_1 =
392    Select(
393    main_Receiver_1_out_1,
394    main_Sequencer_1_out_1,
395    main_Select_2_in_3
396    ) [instance: 2, cache: 1];
397    //
398    // node Switch[4]: x = 512, y = 405, inputs = 3, label = Switch
399    //
400main_Switch_4_out_1 =
401    Switch(
402    main_Compute_3_out_1,
403    main_Receiver_1_out_1,
404    main_Select_2_out_1
405    ) [instance: 4, cache: 1];
406    //
407    // node Transmitter[6]: x = 489, y = 496, inputs = 1, label = SingleFrameObject
408    //
409SingleFrameObject = main_Switch_4_out_1;
410    //
411    // node Receiver[8]: x = 159, y = 156, inputs = 1, label = SingleFrameObject
412    //
413main_Receiver_8_out_1 = SingleFrameObject;
414    //
415    // node Route[1]: x = 150, y = 312, inputs = 2, outputs = 2, label = Route
416    //
417main_Route_1_out_1,
418main_Route_1_out_2 =
419    Route(
420    main_Compute_2_out_1,
421    main_Receiver_8_out_1
422    ) [instance: 1, cache: 1];
423    //
424    // node Display[1]: x = 253, y = 467, inputs = 8, label = Display
425    // title: value = DX Object Viewer
426    // depth: value = 8
427    // window: position = (0.0336,0.4883), size = 0.2844x0.3613
428    //
429    Display(
430    main_Route_1_out_2,
431    main_Display_1_in_2,
432    main_Display_1_in_3,
433    main_Display_1_in_4,
434    main_Display_1_in_5,
435    main_Display_1_in_6,
436    main_Display_1_in_7,
437    main_Display_1_in_8
438    ) [instance: 1, cache: 1];
439    //
440    // node Reset[1]: x = 167, y = 453, inputs = 6, label = Reset
441    // input[1]: defaulting = 0, visible = 0, type = 32, value = "main_Reset_1_out_1"
442    // input[2]: defaulting = 0, visible = 0, type = 29, value = 1
443    // input[3]: defaulting = 0, visible = 0, type = 3, value = 1
444    // input[4]: defaulting = 1, visible = 0, type = 29, value = 1
445    // input[5]: defaulting = 1, visible = 0, type = 29, value = 0
446    // output[1]: visible = 1, type = 29, value = 1
447    // toggle : 1
448    //
449    //
450    // node Image[5]: x = 97, y = 482, inputs = 48, label = Image
451    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Image_5"
452    // input[4]: defaulting = 0, visible = 0, type = 1, value = 0
453    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
454    // input[19]: defaulting = 0, visible = 0, type = 3, value = 0
455    // input[21]: visible = 1
456    // depth: value = 8
457    // internal caching: 1
458    //
459main_Image_5_out_1,
460main_Image_5_out_2 =
461    Image(
462    main_Image_5_in_1,
463    main_Route_1_out_1,
464    main_Image_5_in_3,
465    main_Image_5_in_4,
466    main_Image_5_in_5,
467    main_Image_5_in_6,
468    main_Image_5_in_7,
469    main_Image_5_in_8,
470    main_Image_5_in_9,
471    main_Image_5_in_10,
472    main_Image_5_in_11,
473    main_Image_5_in_12,
474    main_Image_5_in_13,
475    main_Image_5_in_14,
476    main_Image_5_in_15,
477    main_Image_5_in_16,
478    main_Image_5_in_17,
479    main_Image_5_in_18,
480    main_Image_5_in_19,
481    main_Image_5_in_20,
482    main_Reset_1_out_1,
483    main_Image_5_in_22,
484    main_Image_5_in_23,
485    main_Image_5_in_24,
486    main_Image_5_in_25,
487    main_Image_5_in_26,
488    main_Image_5_in_27,
489    main_Image_5_in_28,
490    main_Image_5_in_29,
491    main_Image_5_in_30,
492    main_Image_5_in_31,
493    main_Image_5_in_32,
494    main_Image_5_in_33,
495    main_Image_5_in_34,
496    main_Image_5_in_35,
497    main_Image_5_in_36,
498    main_Image_5_in_37,
499    main_Image_5_in_38,
500    main_Image_5_in_39,
501    main_Image_5_in_40,
502    main_Image_5_in_41,
503    main_Image_5_in_42,
504    main_Image_5_in_43,
505    main_Image_5_in_44,
506    main_Image_5_in_45,
507    main_Image_5_in_46,
508    main_Image_5_in_47,
509    main_Image_5_in_48
510    ) [instance: 5, cache: 1];
511    //
512    // node ManageSequencer[1]: x = 379, y = 328, inputs = 1, label = ManageSequencer
513    // input[1]: defaulting = 1, visible = 1, type = 3, value = 1
514    //
515    ManageSequencer(
516    main_Receiver_7_out_1
517    ) [instance: 1, cache: 1];
518// network: end of macro body
519CacheScene("Image_5", main_Image_5_out_1, main_Image_5_out_2);
520}
521main_Import_1_in_1 = "/usr/lpp/dx/samples/data/npp";
522main_Import_1_in_2 = NULL;
523main_Import_1_in_3 = NULL;
524main_Import_1_in_4 = NULL;
525main_Import_1_in_5 = NULL;
526main_Import_1_in_6 = NULL;
527main_Import_1_out_1 = NULL;
528main_Transmitter_4_out_1 = NULL;
529main_Receiver_4_out_1 = NULL;
530main_AutoColor_1_in_2 = NULL;
531main_AutoColor_1_in_3 = NULL;
532main_AutoColor_1_in_4 = NULL;
533main_AutoColor_1_in_5 = NULL;
534main_AutoColor_1_in_6 = NULL;
535main_AutoColor_1_in_7 = NULL;
536main_AutoColor_1_in_8 = NULL;
537main_AutoColor_1_in_9 = NULL;
538main_AutoColor_1_in_10 = NULL;
539main_AutoColor_1_out_1 = NULL;
540main_Inquire_2_in_2 = "is group + 1";
541main_Inquire_2_in_3 = NULL;
542main_Inquire_2_out_1 = NULL;
543main_Select_1_in_2 = NULL;
544main_Select_1_in_3 = NULL;
545main_Select_1_out_1 = NULL;
546main_Switch_2_out_1 = NULL;
547main_MapToPlane_1_in_2 = NULL;
548main_MapToPlane_1_in_3 = NULL;
549main_MapToPlane_1_out_1 = NULL;
550main_AutoColor_2_in_2 = NULL;
551main_AutoColor_2_in_3 = NULL;
552main_AutoColor_2_in_4 = NULL;
553main_AutoColor_2_in_5 = NULL;
554main_AutoColor_2_in_6 = NULL;
555main_AutoColor_2_in_7 = NULL;
556main_AutoColor_2_in_8 = NULL;
557main_AutoColor_2_in_9 = NULL;
558main_AutoColor_2_in_10 = NULL;
559main_AutoColor_2_out_1 = NULL;
560main_Inquire_10_in_2 = "is vector +1";
561main_Inquire_10_in_3 = NULL;
562main_Inquire_10_out_1 = NULL;
563main_Compute_4_in_1 = "mag($0)";
564main_Compute_4_out_1 = NULL;
565main_Switch_6_out_1 = NULL;
566main_Isosurface_1_in_2 = NULL;
567main_Isosurface_1_in_3 = NULL;
568main_Isosurface_1_in_4 = NULL;
569main_Isosurface_1_in_5 = NULL;
570main_Isosurface_1_in_6 = NULL;
571main_Isosurface_1_out_1 = NULL;
572main_Color_1_in_2 = NULL;
573main_Color_1_in_3 = .3;
574main_Color_1_in_4 = NULL;
575main_Color_1_in_5 = NULL;
576main_Color_1_out_1 = NULL;
577main_Collect_1_out_1 = NULL;
578main_Receiver_5_out_1 = NULL;
579main_Inquire_6_in_2 = "is field";
580main_Inquire_6_in_3 = NULL;
581main_Inquire_6_out_1 = NULL;
582main_Inquire_3_in_2 = "is 2D grid connections";
583main_Inquire_3_in_3 = NULL;
584main_Inquire_3_out_1 = NULL;
585main_Inquire_4_in_2 = "is 2D positions";
586main_Inquire_4_in_3 = NULL;
587main_Inquire_4_out_1 = NULL;
588main_Inquire_5_in_2 = "is regular positions";
589main_Inquire_5_in_3 = NULL;
590main_Inquire_5_out_1 = NULL;
591main_Compute_1_in_1 = "$0 && $1 && $2 && $3";
592main_Compute_1_out_1 = NULL;
593main_Transmitter_3_out_1 = NULL;
594main_Receiver_3_out_1 = NULL;
595main_Compute_2_in_1 = "$0 + 1";
596main_Compute_2_out_1 = NULL;
597main_Receiver_6_out_1 = NULL;
598main_Inquire_7_in_2 = "is series";
599main_Inquire_7_in_3 = NULL;
600main_Inquire_7_out_1 = NULL;
601main_Transmitter_5_out_1 = NULL;
602main_Receiver_7_out_1 = NULL;
603main_Compute_3_in_1 = "$0 + 1";
604main_Compute_3_out_1 = NULL;
605main_Inquire_9_in_2 = "is volume +1";
606main_Inquire_9_in_3 = NULL;
607main_Inquire_9_out_1 = NULL;
608main_Inquire_1_in_2 = "has component + 1";
609main_Inquire_1_in_3 = "colors";
610main_Inquire_1_out_1 = NULL;
611main_Switch_1_out_1 = NULL;
612main_Switch_5_out_1 = NULL;
613main_Transmitter_1_out_1 = NULL;
614main_Receiver_1_out_1 = NULL;
615main_Inquire_8_in_2 = "member count - 1";
616main_Inquire_8_in_3 = NULL;
617main_Inquire_8_out_1 = NULL;
618main_Sequencer_1_in_1 = "Sequencer_1";
619main_Sequencer_1_in_2 = NULL;
620main_Sequencer_1_in_3 = NULL;
621main_Sequencer_1_in_4 = 1;
622main_Sequencer_1_in_6 = NULL;
623main_Sequencer_1_in_7 = { 1 100 1 1 100 1 };
624main_Sequencer_1_out_1 = NULL;
625
626@startframe = 1;
627@nextframe  = @startframe;
628@endframe   = 100;
629@deltaframe = 1;
630main_Select_2_in_3 = NULL;
631main_Select_2_out_1 = NULL;
632main_Switch_4_out_1 = NULL;
633main_Transmitter_6_out_1 = NULL;
634main_Receiver_8_out_1 = NULL;
635main_Route_1_out_1 = NULL;
636main_Route_1_out_2 = NULL;
637main_Display_1_in_2 = NULL;
638main_Display_1_in_3 = "X8,,DX Object Viewer";
639main_Display_1_in_4 = NULL;
640main_Display_1_in_5 = NULL;
641main_Display_1_in_6 = NULL;
642main_Display_1_in_7 = NULL;
643main_Display_1_in_8 = NULL;
644main_Reset_1_in_1 = "main_Reset_1_out_1";
645main_Reset_1_in_2 = 1;
646main_Reset_1_in_3 = 1;
647main_Reset_1_in_4 = NULL;
648main_Reset_1_in_5 = NULL;
649main_Reset_1_in_6 = NULL;
650main_Reset_1_out_1[oneshot:0] = 1;
651macro Image(
652        id,
653        object,
654        where,
655        useVector,
656        to,
657        from,
658        width,
659        resolution,
660        aspect,
661        up,
662        viewAngle,
663        perspective,
664        options,
665        buttonState = 1,
666        buttonUpApprox = "none",
667        buttonDownApprox = "none",
668        buttonUpDensity = 1,
669        buttonDownDensity = 1,
670        renderMode = 0,
671        defaultCamera,
672        reset,
673        backgroundColor,
674        throttle,
675        RECenable = 0,
676        RECfile,
677        RECformat,
678        RECresolution,
679        RECaspect,
680        AAenable = 0,
681        AAlabels,
682        AAticks,
683        AAcorners,
684        AAframe,
685        AAadjust,
686        AAcursor,
687        AAgrid,
688        AAcolors,
689        AAannotation,
690        AAlabelscale,
691        AAfont,
692        interactionMode,
693        title,
694        AAxTickLocs,
695        AAyTickLocs,
696        AAzTickLocs,
697        AAxTickLabels,
698        AAyTickLabels,
699        AAzTickLabels) -> (
700        object,
701        camera)
702{
703    ImageMessage(
704        id,
705        backgroundColor,
706        throttle,
707        RECenable,
708        RECfile,
709        RECformat,
710        RECresolution,
711        RECaspect,
712        AAenable,
713        AAlabels,
714        AAticks,
715        AAcorners,
716        AAframe,
717        AAadjust,
718        AAcursor,
719        AAgrid,
720        AAcolors,
721        AAannotation,
722        AAlabelscale,
723        AAfont,
724        AAxTickLocs,
725        AAyTickLocs,
726        AAzTickLocs,
727        AAxTickLabels,
728        AAyTickLabels,
729        AAzTickLabels,
730        interactionMode,
731        title,
732        renderMode,
733        buttonUpApprox,
734        buttonDownApprox,
735        buttonUpDensity,
736        buttonDownDensity) [instance: 1, cache: 1];
737    autoCamera =
738        AutoCamera(
739            object,
740            "front",
741            object,
742            resolution,
743            aspect,
744            [0,1,0],
745            perspective,
746            viewAngle,
747            backgroundColor) [instance: 1, cache: 1];
748    realCamera =
749        Camera(
750            to,
751            from,
752            width,
753            resolution,
754            aspect,
755            up,
756            perspective,
757            viewAngle,
758            backgroundColor) [instance: 1, cache: 1];
759    coloredDefaultCamera =
760	 UpdateCamera(defaultCamera,
761            background=backgroundColor) [instance: 1, cache: 1];
762    nullDefaultCamera =
763        Inquire(defaultCamera,
764            "is null + 1") [instance: 1, cache: 1];
765    resetCamera =
766        Switch(
767            nullDefaultCamera,
768            coloredDefaultCamera,
769            autoCamera) [instance: 1, cache: 1];
770    resetNull =
771        Inquire(
772            reset,
773            "is null + 1") [instance: 2, cache: 1];
774    reset =
775        Switch(
776            resetNull,
777            reset,
778            0) [instance: 2, cache: 1];
779    whichCamera =
780        Compute(
781            "($0 != 0 || $1 == 0) ? 1 : 2",
782            reset,
783            useVector) [instance: 1, cache: 1];
784    camera = Switch(
785            whichCamera,
786            resetCamera,
787            realCamera) [instance: 3, cache: 1];
788    AAobject =
789        AutoAxes(
790            object,
791            camera,
792            AAlabels,
793            AAticks,
794            AAcorners,
795            AAframe,
796            AAadjust,
797            AAcursor,
798            AAgrid,
799            AAcolors,
800            AAannotation,
801            AAlabelscale,
802            AAfont,
803            AAxTickLocs,
804            AAyTickLocs,
805            AAzTickLocs,
806            AAxTickLabels,
807            AAyTickLabels,
808            AAzTickLabels) [instance: 1, cache: 1];
809    switchAAenable = Compute("$0+1",
810	     AAenable) [instance: 2, cache: 1];
811    object = Switch(
812	     switchAAenable,
813	     object,
814	     AAobject) [instance:4, cache: 1];
815    SWapproximation_options =
816        Switch(
817            buttonState,
818            buttonUpApprox,
819            buttonDownApprox) [instance: 5, cache: 1];
820    SWdensity_options =
821        Switch(
822            buttonState,
823            buttonUpDensity,
824            buttonDownDensity) [instance: 6, cache: 1];
825    HWapproximation_options =
826        Format(
827            "%s,%s",
828            buttonDownApprox,
829            buttonUpApprox) [instance: 1, cache: 1];
830    HWdensity_options =
831        Format(
832            "%d,%d",
833            buttonDownDensity,
834            buttonUpDensity) [instance: 2, cache: 1];
835    switchRenderMode = Compute(
836	     "$0+1",
837	     renderMode) [instance: 3, cache: 1];
838    approximation_options = Switch(
839	     switchRenderMode,
840            SWapproximation_options,
841	     HWapproximation_options) [instance: 7, cache: 1];
842    density_options = Switch(
843	     switchRenderMode,
844            SWdensity_options,
845            HWdensity_options) [instance: 8, cache: 1];
846    renderModeString = Switch(
847            switchRenderMode,
848            "software",
849            "hardware")[instance: 9, cache: 1];
850    object_tag = Inquire(
851            object,
852            "object tag")[instance: 3, cache: 1];
853    annoted_object =
854        Options(
855            object,
856            "send boxes",
857            0,
858            "cache",
859            1,
860            "object tag",
861            object_tag,
862            "ddcamera",
863            whichCamera,
864            "rendering approximation",
865            approximation_options,
866            "render every",
867            density_options,
868            "button state",
869            buttonState,
870            "rendering mode",
871            renderModeString) [instance: 1, cache: 1];
872    RECresNull =
873        Inquire(
874            RECresolution,
875            "is null + 1") [instance: 4, cache: 1];
876    ImageResolution =
877        Inquire(
878            camera,
879            "camera resolution") [instance: 5, cache: 1];
880    RECresolution =
881        Switch(
882            RECresNull,
883            RECresolution,
884            ImageResolution) [instance: 10, cache: 1];
885    RECaspectNull =
886        Inquire(
887            RECaspect,
888            "is null + 1") [instance: 6, cache: 1];
889    ImageAspect =
890        Inquire(
891            camera,
892            "camera aspect") [instance: 7, cache: 1];
893    RECaspect =
894        Switch(
895            RECaspectNull,
896            RECaspect,
897            ImageAspect) [instance: 11, cache: 1];
898    switchRECenable = Compute(
899          "$0 == 0 ? 1 : (($1 == $2) && ($3 == $4)) ? 2 : 3",
900            RECenable,
901            RECresolution,
902            ImageResolution,
903            RECaspect,
904	     ImageAspect) [instance: 4, cache: 1];
905    NoRECobject, RECNoRerenderObject, RECRerenderObject = Route(switchRECenable, annoted_object);
906    Display(
907        NoRECobject,
908        camera,
909        where,
910        throttle) [instance: 1, cache: 1];
911    image =
912        Render(
913            RECNoRerenderObject,
914            camera) [instance: 1, cache: 1];
915    Display(
916        image,
917        NULL,
918        where,
919        throttle) [instance: 2, cache: 1];
920    WriteImage(
921        image,
922        RECfile,
923        RECformat) [instance: 1, cache: 1];
924    RECupdateCamera =
925	UpdateCamera(
926	    camera,
927	    resolution=RECresolution,
928	    aspect=RECaspect) [instance: 2, cache: 1];
929    Display(
930        RECRerenderObject,
931        camera,
932        where,
933        throttle) [instance: 3, cache: 1];
934    image =
935        Render(
936            RECRerenderObject,
937            RECupdateCamera) [instance: 2, cache: 1];
938    WriteImage(
939        image,
940        RECfile,
941        RECformat) [instance: 2, cache: 1];
942}
943main_Image_5_in_1 = "Image_5";
944main_Image_5_in_3 = "X8,,";
945main_Image_5_in_4 = 0;
946main_Image_5_in_5 = NULL;
947main_Image_5_in_6 = NULL;
948main_Image_5_in_7 = NULL;
949main_Image_5_in_8 = NULL;
950main_Image_5_in_9 = NULL;
951main_Image_5_in_10 = NULL;
952main_Image_5_in_11 = NULL;
953main_Image_5_in_12 = NULL;
954main_Image_5_in_13 = NULL;
955main_Image_5_in_14 = 1;
956main_Image_5_in_15 = NULL;
957main_Image_5_in_16 = NULL;
958main_Image_5_in_17 = NULL;
959main_Image_5_in_18 = NULL;
960main_Image_5_in_19 = 0;
961main_Image_5_in_20 = NULL;
962main_Image_5_in_22 = NULL;
963main_Image_5_in_23 = NULL;
964main_Image_5_in_25 = NULL;
965main_Image_5_in_26 = NULL;
966main_Image_5_in_27 = NULL;
967main_Image_5_in_28 = NULL;
968main_Image_5_in_29 = NULL;
969main_Image_5_in_30 = NULL;
970main_Image_5_in_31 = NULL;
971main_Image_5_in_32 = NULL;
972main_Image_5_in_33 = NULL;
973main_Image_5_in_34 = NULL;
974main_Image_5_in_35 = NULL;
975main_Image_5_in_36 = NULL;
976main_Image_5_in_37 = NULL;
977main_Image_5_in_38 = NULL;
978main_Image_5_in_39 = NULL;
979main_Image_5_in_40 = NULL;
980main_Image_5_in_41 = NULL;
981main_Image_5_in_42 = NULL;
982main_Image_5_in_43 = NULL;
983main_Image_5_in_44 = NULL;
984main_Image_5_in_45 = NULL;
985main_Image_5_in_46 = NULL;
986main_Image_5_in_47 = NULL;
987main_Image_5_in_48 = NULL;
988Executive("product version 3 2 0");
989$sync
990
991sequence main();
992play;
993