//
// time: Wed Apr  9 15:48:43 1997
//
// version: 3.1.1 (format), 3.1.4 (DX Beta)
//
//
// MODULE main
// CATEGORY Macros
//
// comment: This example shows volume rendering. The Colormap Editor and the Color module are used to color the volume.  Press Execute on Change in the Execute menu.  You can change the colormap by double-clicking on the Colormap tool and experimenting with adding new control points or moving the control points which are already present. The Colormap editor is "data-driven", which means that its limits are derived from the data itself.
// comment: 
// comment: By using the selector interactor in the control panel, you can see how AutoColor may also be used to color objects for volume rendering.
// comment: 
// comment: The colormap used to color the volume is displayed as a color bar in the image window.
// comment: 
// comment: This example uses a "dots" rendering approximation if you rotate the object while in execute-on-change mode. You can find this option under "Rendering Options" in the "Options" menu of the Image window.
// comment: 
// comment: The intent of this network is to demostrate software volume rendering.  Execution of this network using hardware rendering will result in an approximation of software rendering results.  You will find more information on the differences between software and hardware volume rendering in the IBM Visualization Data Explorer User's Reference.
// page assignment: AutoColor	order=4, windowed=0, showing=0
// page assignment: AutoColor1	order=5, windowed=0, showing=0
// page assignment: Color	order=3, windowed=0, showing=0
// page assignment: choice	order=6, windowed=0, showing=0
// page assignment: colorbar	order=7, windowed=0, showing=0
// page assignment: image	order=8, windowed=0, showing=0
// page assignment: import	order=2, windowed=0, showing=1
// workspace: width = 372, height = 449
// layout: snap = 0, width = 50, height = 50, align = UL
//
macro main(
) -> (
) {
    // 
    // node Import[1]: x = 20, y = 20, inputs = 6, label = Import
    // input[1]: defaulting = 0, visible = 1, type = 32, value = "watermolecule"
    // page group: import
    //
main_Import_1_out_1 = 
    Import(
    main_Import_1_in_1,
    main_Import_1_in_2,
    main_Import_1_in_3,
    main_Import_1_in_4,
    main_Import_1_in_5,
    main_Import_1_in_6
    ) [instance: 1, cache: 1];
    // 
    // node Reduce[1]: x = 68, y = 129, inputs = 2, label = Reduce
    // input[2]: defaulting = 0, visible = 1, type = 16777221, value = { 3.0 }
    // page group: import
    //
main_Reduce_1_out_1 = 
    Reduce(
    main_Import_1_out_1,
    main_Reduce_1_in_2
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[6]: x = 49, y = 387, inputs = 1, label = data
    // page group: import
    //
data = main_Reduce_1_out_1;
    // 
    // node Receiver[11]: x = 131, y = 32, inputs = 1, label = data
    // page group: AutoColor
    //
main_Receiver_11_out_1[cache: 0] = data;
    // 
    // node AutoColor[1]: x = 121, y = 230, inputs = 10, label = AutoColor
    // page group: AutoColor
    //
main_AutoColor_1_out_1,
main_AutoColor_1_out_2 = 
    AutoColor(
    main_Receiver_11_out_1,
    main_AutoColor_1_in_2,
    main_AutoColor_1_in_3,
    main_AutoColor_1_in_4,
    main_AutoColor_1_in_5,
    main_AutoColor_1_in_6,
    main_AutoColor_1_in_7,
    main_AutoColor_1_in_8,
    main_AutoColor_1_in_9,
    main_AutoColor_1_in_10
    ) [instance: 1, cache: 1];
    // 
    // node Receiver[12]: x = 69, y = 20, inputs = 1, label = data
    // page group: AutoColor1
    //
main_Receiver_12_out_1[cache: 0] = data;
    // 
    // node AutoColor[2]: x = 72, y = 233, inputs = 10, label = AutoColor
    // input[3]: defaulting = 0, visible = 1, type = 5, value = 2.00000
    // input[7]: defaulting = 0, visible = 1, type = 5, value = 0.04500
    // input[8]: visible = 1
    // page group: AutoColor1
    //
main_AutoColor_2_out_1,
main_AutoColor_2_out_2 = 
    AutoColor(
    main_Receiver_12_out_1,
    main_AutoColor_2_in_2,
    main_AutoColor_2_in_3,
    main_AutoColor_2_in_4,
    main_AutoColor_2_in_5,
    main_AutoColor_2_in_6,
    main_AutoColor_2_in_7,
    main_Receiver_12_out_1,
    main_AutoColor_2_in_9,
    main_AutoColor_2_in_10
    ) [instance: 2, cache: 1];
    // 
    // node Selector[1]: x = 66, y = 145, inputs = 7, label = Selector
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Selector_1"
    // input[2]: defaulting = 0, visible = 0, type = 32, value = "AutoColor with other parameters set" 
    // input[3]: defaulting = 0, visible = 0, type = 29, value = 3 
    // input[4]: defaulting = 1, visible = 1, type = 16777248, value = { "using colormap editor" "default AutoColor" "AutoColor with other parameters set" }
    // input[5]: defaulting = 1, visible = 0, type = 16777245, value = { 1 2 3 }
    // input[6]: defaulting = 1, visible = 0, type = 3, value = 0
    // output[1]: visible = 1, type = 29, value = 3 
    // output[2]: visible = 1, type = 32, value = "AutoColor with other parameters set" 
    // page group: choice
    //
    // 
    // node Caption[1]: x = 119, y = 290, inputs = 9, label = Caption
    // page group: choice
    //
main_Caption_1_out_1 = 
    Caption(
    main_Selector_1_out_2,
    main_Caption_1_in_2,
    main_Caption_1_in_3,
    main_Caption_1_in_4,
    main_Caption_1_in_5,
    main_Caption_1_in_6,
    main_Caption_1_in_7,
    main_Caption_1_in_8,
    main_Caption_1_in_9
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[12]: x = 120, y = 420, inputs = 1, label = caption
    // page group: choice
    //
caption = main_Caption_1_out_1;
    // 
    // node Receiver[15]: x = 87, y = 140, inputs = 1, label = caption
    // page group: image
    //
main_Receiver_15_out_1[cache: 0] = caption;
    // 
    // node Receiver[7]: x = 91, y = 10, inputs = 1, label = data
    // page group: Color
    //
main_Receiver_7_out_1[cache: 0] = data;
    // 
    // node Colormap[2]: x = 114, y = 100, inputs = 19, label = Colormap
    // input[1]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 0.666667] [0.041666667 0.36842105] [0.125 0.10526316] [0.29166667 0.0] [0.50961538 0.0] [1.0 0.0] }
    // input[2]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [1.0 1.0] }
    // input[3]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [1.0 1.0] }
    // input[4]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 1.0] [1.0 1.0] }
    // input[5]: defaulting = 0, visible = 0, type = 32, value = "Colormap_2"
    // input[7]: defaulting = 1, visible = 0, type = 5, value = -1.3677794e-10
    // input[8]: defaulting = 1, visible = 0, type = 5, value = 0.99738425
    // input[9]: defaulting = 1, visible = 0, type = 1, value = 20
    // input[12]: defaulting = 0, visible = 0, type = 16777221, value = { -1.3677794e-10 0.99738425 }
    // input[17]: defaulting = 0, visible = 0, type = 5, value = -1.3677794e-10
    // input[18]: defaulting = 0, visible = 0, type = 5, value = 0.99738425
    // page group: Color
    // window: position = (0.0812,0.4502), size = 0.5078x0.4395
    //
main_Colormap_2_out_1[cache: 2],
main_Colormap_2_out_2[cache: 2] = 
    Colormap(
    main_Colormap_2_in_1,
    main_Colormap_2_in_2,
    main_Colormap_2_in_3,
    main_Colormap_2_in_4,
    main_Colormap_2_in_5,
    main_Receiver_7_out_1,
    main_Colormap_2_in_7,
    main_Colormap_2_in_8,
    main_Colormap_2_in_9,
    main_Colormap_2_in_10,
    main_Colormap_2_in_11,
    main_Colormap_2_in_12,
    main_Colormap_2_in_13,
    main_Colormap_2_in_14,
    main_Colormap_2_in_15,
    main_Colormap_2_in_16,
    main_Colormap_2_in_17,
    main_Colormap_2_in_18,
    main_Colormap_2_in_19
    ) [instance: 2, cache: 1];
    // 
    // node Color[4]: x = 68, y = 295, inputs = 5, label = Color
    // page group: Color
    //
main_Color_4_out_1 = 
    Color(
    main_Receiver_7_out_1,
    main_Colormap_2_out_1,
    main_Colormap_2_out_2,
    main_Color_4_in_4,
    main_Color_4_in_5
    ) [instance: 4, cache: 1];
    // 
    // node Transmitter[7]: x = 32, y = 442, inputs = 1, label = color_using_Color
    // page group: Color
    //
color_using_Color = main_Color_4_out_1;
    // 
    // node Receiver[8]: x = 131, y = 20, inputs = 1, label = color_using_Color
    // page group: choice
    //
main_Receiver_8_out_1[cache: 0] = color_using_Color;
    // 
    // node Transmitter[8]: x = 0, y = 382, inputs = 1, label = color_using_AutoColor
    // page group: AutoColor
    //
color_using_AutoColor = main_AutoColor_1_out_1;
    // 
    // node Receiver[9]: x = 272, y = 37, inputs = 1, label = color_using_AutoColor
    // page group: choice
    //
main_Receiver_9_out_1[cache: 0] = color_using_AutoColor;
    // 
    // node Transmitter[9]: x = 42, y = 432, inputs = 1, label = color_using_AutoColor_1
    // page group: AutoColor1
    //
color_using_AutoColor_1 = main_AutoColor_2_out_1;
    // 
    // node Receiver[10]: x = 439, y = 52, inputs = 1, label = color_using_AutoColor_1
    // page group: choice
    //
main_Receiver_10_out_1[cache: 0] = color_using_AutoColor_1;
    // 
    // node Switch[1]: x = 248, y = 217, inputs = 4, label = Switch
    // page group: choice
    //
main_Switch_1_out_1 = 
    Switch(
    main_Selector_1_out_1,
    main_Receiver_8_out_1,
    main_Receiver_9_out_1,
    main_Receiver_10_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[11]: x = 274, y = 417, inputs = 1, label = choice
    // page group: choice
    //
choice = main_Switch_1_out_1;
    // 
    // node Receiver[14]: x = 174, y = 144, inputs = 1, label = choice
    // page group: image
    //
main_Receiver_14_out_1[cache: 0] = choice;
    // 
    // node ShowBox[1]: x = 148, y = 206, inputs = 1, label = ShowBox
    // page group: import
    //
main_ShowBox_1_out_1,
main_ShowBox_1_out_2 = 
    ShowBox(
    main_Reduce_1_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Color[3]: x = 170, y = 284, inputs = 5, label = Color
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "cadet blue"
    // page group: import
    //
main_Color_3_out_1 = 
    Color(
    main_ShowBox_1_out_1,
    main_Color_3_in_2,
    main_Color_3_in_3,
    main_Color_3_in_4,
    main_Color_3_in_5
    ) [instance: 3, cache: 1];
    // 
    // node Transmitter[2]: x = 210, y = 370, inputs = 1, label = box
    // page group: import
    //
box = main_Color_3_out_1;
    // 
    // node Receiver[1]: x = 272, y = 144, inputs = 1, label = box
    // page group: image
    //
main_Receiver_1_out_1[cache: 0] = box;
    // 
    // node Transmitter[1]: x = 2, y = 420, inputs = 1, label = switch_setting
    // page group: choice
    //
switch_setting = main_Selector_1_out_1;
    // 
    // node Receiver[2]: x = 47, y = 88, inputs = 1, label = switch_setting
    // page group: colorbar
    //
main_Receiver_2_out_1[cache: 0] = switch_setting;
    // 
    // node Transmitter[3]: x = 208, y = 446, inputs = 1, label = colormap1
    // page group: Color
    //
colormap1 = main_Colormap_2_out_1;
    // 
    // node Receiver[3]: x = 200, y = 19, inputs = 1, label = colormap1
    // page group: colorbar
    //
main_Receiver_3_out_1[cache: 0] = colormap1;
    // 
    // node Transmitter[4]: x = 192, y = 383, inputs = 1, label = colormap2
    // page group: AutoColor
    //
colormap2 = main_AutoColor_1_out_2;
    // 
    // node Receiver[4]: x = 299, y = 24, inputs = 1, label = colormap2
    // page group: colorbar
    //
main_Receiver_4_out_1[cache: 0] = colormap2;
    // 
    // node Transmitter[5]: x = 242, y = 430, inputs = 1, label = colormap3
    // page group: AutoColor1
    //
colormap3 = main_AutoColor_2_out_2;
    // 
    // node Receiver[5]: x = 396, y = 39, inputs = 1, label = colormap3
    // page group: colorbar
    //
main_Receiver_5_out_1[cache: 0] = colormap3;
    // 
    // node Switch[2]: x = 194, y = 220, inputs = 4, label = Switch--passes through the colormap used to color the volume (as the same selector controls this switch)
    // page group: colorbar
    //
main_Switch_2_out_1 = 
    Switch(
    main_Receiver_2_out_1,
    main_Receiver_3_out_1,
    main_Receiver_4_out_1,
    main_Receiver_5_out_1
    ) [instance: 2, cache: 1];
    // 
    // node ColorBar[1]: x = 202, y = 333, inputs = 14, label = ColorBar
    // page group: colorbar
    //
main_ColorBar_1_out_1 = 
    ColorBar(
    main_Switch_2_out_1,
    main_ColorBar_1_in_2,
    main_ColorBar_1_in_3,
    main_ColorBar_1_in_4,
    main_ColorBar_1_in_5,
    main_ColorBar_1_in_6,
    main_ColorBar_1_in_7,
    main_ColorBar_1_in_8,
    main_ColorBar_1_in_9,
    main_ColorBar_1_in_10,
    main_ColorBar_1_in_11,
    main_ColorBar_1_in_12,
    main_ColorBar_1_in_13,
    main_ColorBar_1_in_14
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[10]: x = 279, y = 521, inputs = 1, label = colorbar
    // page group: colorbar
    //
colorbar = main_ColorBar_1_out_1;
    // 
    // node Receiver[13]: x = 312, y = 147, inputs = 1, label = colorbar
    // page group: image
    //
main_Receiver_13_out_1[cache: 0] = colorbar;
    // 
    // node Collect[2]: x = 152, y = 265, inputs = 4, label = Collect
    // page group: image
    //
main_Collect_2_out_1 = 
    Collect(
    main_Receiver_15_out_1,
    main_Receiver_14_out_1,
    main_Receiver_1_out_1,
    main_Receiver_13_out_1
    ) [instance: 2, cache: 1];
    // 
    // node Image[2]: x = 169, y = 347, inputs = 48, label = Image
    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_2"
    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
    // input[5]: defaulting = 0, visible = 0, type = 8, value = [0.95 -0.05 -1.05]
    // input[6]: defaulting = 0, visible = 0, type = 8, value = [-5.70829 5.03076 15.3362]
    // input[7]: defaulting = 0, visible = 0, type = 5, value = 9.86198
    // input[8]: defaulting = 0, visible = 0, type = 1, value = 489
    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.823
    // input[10]: defaulting = 0, visible = 0, type = 8, value = [0.0492542 0.959468 -0.277482]
    // input[11]: defaulting = 1, visible = 0, type = 5, value = 30.0002
    // input[12]: defaulting = 0, visible = 0, type = 1, value = 0
    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
    // input[15]: defaulting = 1, visible = 0, type = 32, value = "none"
    // input[16]: defaulting = 1, visible = 0, type = 32, value = "none"
    // input[17]: defaulting = 1, visible = 0, type = 1, value = 1
    // input[18]: defaulting = 1, visible = 0, type = 1, value = 1
    // input[19]: defaulting = 0, visible = 0, type = 3, value = 0
    // input[29]: defaulting = 1, visible = 0, type = 3, value = 0
    // page group: image
    // depth: value = 24
    // window: position = (0.4648,0.1064), size = 0.3930x0.4355
    // internal caching: 1
    //
main_Image_2_out_1,
main_Image_2_out_2,
main_Image_2_out_3 = 
    Image(
    main_Image_2_in_1,
    main_Collect_2_out_1,
    main_Image_2_in_3,
    main_Image_2_in_4,
    main_Image_2_in_5,
    main_Image_2_in_6,
    main_Image_2_in_7,
    main_Image_2_in_8,
    main_Image_2_in_9,
    main_Image_2_in_10,
    main_Image_2_in_11,
    main_Image_2_in_12,
    main_Image_2_in_13,
    main_Image_2_in_14,
    main_Image_2_in_15,
    main_Image_2_in_16,
    main_Image_2_in_17,
    main_Image_2_in_18,
    main_Image_2_in_19,
    main_Image_2_in_20,
    main_Image_2_in_21,
    main_Image_2_in_22,
    main_Image_2_in_23,
    main_Image_2_in_24,
    main_Image_2_in_25,
    main_Image_2_in_26,
    main_Image_2_in_27,
    main_Image_2_in_28,
    main_Image_2_in_29,
    main_Image_2_in_30,
    main_Image_2_in_31,
    main_Image_2_in_32,
    main_Image_2_in_33,
    main_Image_2_in_34,
    main_Image_2_in_35,
    main_Image_2_in_36,
    main_Image_2_in_37,
    main_Image_2_in_38,
    main_Image_2_in_39,
    main_Image_2_in_40,
    main_Image_2_in_41,
    main_Image_2_in_42,
    main_Image_2_in_43,
    main_Image_2_in_44,
    main_Image_2_in_45,
    main_Image_2_in_46,
    main_Image_2_in_47,
    main_Image_2_in_48
    ) [instance: 2, cache: 1];
    //
    // decorator Annotate	pos=(255,66) size=117x28 style(Label), value = <NULL>
    // annotation user_begin: 15
    // annotation user: Import the data
    // annotation user_end: <NULL>
    // page group: import
    //
    // decorator Annotate	pos=(184,47) size=431x28 style(Label), value = <NULL>
    // annotation user_begin: 59
    // annotation user: color the data using a colormap editor and the Color module
    // annotation user_end: <NULL>
    // page group: Color
    //
    // decorator Annotate	pos=(243,108) size=368x28 style(Label), value = <NULL>
    // annotation user_begin: 51
    // annotation user: color the data using AutoColor and default settings
    // annotation user_end: <NULL>
    // page group: AutoColor
    //
    // decorator Annotate	pos=(205,70) size=473x44 style(Label), value = <NULL>
    // annotation user_begin: 77
    // annotation user: color the data using AutoColor and setting some other parameters
    // annotation user: of AutoColor
    // annotation user_end: <NULL>
    // page group: AutoColor1
    //
    // decorator Annotate	pos=(345,216) size=280x28 style(Label), value = <NULL>
    // annotation user_begin: 36
    // annotation user: make a colorbar using the chosen map
    // annotation user_end: <NULL>
    // page group: colorbar
    //
    // decorator Annotate	pos=(311,283) size=343x28 style(Label), value = <NULL>
    // annotation user_begin: 45
    // annotation user: The user chooses which coloring method to see
    // annotation user_end: <NULL>
    // page group: choice
    //
    // decorator Annotate	pos=(79,48) size=126x28 style(Label), value = <NULL>
    // annotation user_begin: 16
    // annotation user: create the image
    // annotation user_end: <NULL>
    // page group: image
// network: end of macro body
CacheScene("Image_2", main_Image_2_out_1, main_Image_2_out_2);
}
main_Import_1_in_1 = "watermolecule";
main_Import_1_in_2 = NULL;
main_Import_1_in_3 = NULL;
main_Import_1_in_4 = NULL;
main_Import_1_in_5 = NULL;
main_Import_1_in_6 = NULL;
main_Import_1_out_1 = NULL;
main_Reduce_1_in_2 = { 3.0 };
main_Reduce_1_out_1 = NULL;
main_Transmitter_6_out_1 = NULL;
main_Receiver_11_out_1 = NULL;
main_AutoColor_1_in_2 = NULL;
main_AutoColor_1_in_3 = NULL;
main_AutoColor_1_in_4 = NULL;
main_AutoColor_1_in_5 = NULL;
main_AutoColor_1_in_6 = NULL;
main_AutoColor_1_in_7 = NULL;
main_AutoColor_1_in_8 = NULL;
main_AutoColor_1_in_9 = NULL;
main_AutoColor_1_in_10 = NULL;
main_AutoColor_1_out_1 = NULL;
main_AutoColor_1_out_2 = NULL;
main_Receiver_12_out_1 = NULL;
main_AutoColor_2_in_2 = NULL;
main_AutoColor_2_in_3 = 2.00000;
main_AutoColor_2_in_4 = NULL;
main_AutoColor_2_in_5 = NULL;
main_AutoColor_2_in_6 = NULL;
main_AutoColor_2_in_7 = 0.04500;
main_AutoColor_2_in_9 = NULL;
main_AutoColor_2_in_10 = NULL;
main_AutoColor_2_out_1 = NULL;
main_AutoColor_2_out_2 = NULL;
main_Selector_1_in_1 = "Selector_1";
main_Selector_1_in_2 = "AutoColor with other parameters set" ;
main_Selector_1_in_3 = 3 ;
main_Selector_1_in_4 = NULL;
main_Selector_1_in_5 = NULL;
main_Selector_1_in_6 = NULL;
main_Selector_1_in_7 = NULL;
main_Selector_1_out_1 = 3 ;
main_Selector_1_out_2 = "AutoColor with other parameters set" ;
main_Caption_1_in_2 = NULL;
main_Caption_1_in_3 = NULL;
main_Caption_1_in_4 = NULL;
main_Caption_1_in_5 = NULL;
main_Caption_1_in_6 = NULL;
main_Caption_1_in_7 = NULL;
main_Caption_1_in_8 = NULL;
main_Caption_1_in_9 = NULL;
main_Caption_1_out_1 = NULL;
main_Transmitter_12_out_1 = NULL;
main_Receiver_15_out_1 = NULL;
main_Receiver_7_out_1 = NULL;
main_Colormap_2_in_1 = { [0.0 0.666667] [0.041666667 0.36842105] [0.125 0.10526316] [0.29166667 0.0] [0.50961538 0.0] [1.0 0.0] };
main_Colormap_2_in_2 = { [0.0 1.0] [1.0 1.0] };
main_Colormap_2_in_3 = { [0.0 1.0] [1.0 1.0] };
main_Colormap_2_in_4 = { [0.0 1.0] [1.0 1.0] };
main_Colormap_2_in_5 = "Colormap_2";
main_Colormap_2_in_7 = NULL;
main_Colormap_2_in_8 = NULL;
main_Colormap_2_in_9 = NULL;
main_Colormap_2_in_10 = NULL;
main_Colormap_2_in_11 = NULL;
main_Colormap_2_in_12 = { -1.3677794e-10 0.99738425 };
main_Colormap_2_in_13 = NULL;
main_Colormap_2_in_14 = NULL;
main_Colormap_2_in_15 = NULL;
main_Colormap_2_in_16 = NULL;
main_Colormap_2_in_17 = -1.3677794e-10;
main_Colormap_2_in_18 = 0.99738425;
main_Colormap_2_in_19 = NULL;
main_Colormap_2_out_1 = NULL;
main_Colormap_2_out_2 = NULL;
main_Color_4_in_4 = NULL;
main_Color_4_in_5 = NULL;
main_Color_4_out_1 = NULL;
main_Transmitter_7_out_1 = NULL;
main_Receiver_8_out_1 = NULL;
main_Transmitter_8_out_1 = NULL;
main_Receiver_9_out_1 = NULL;
main_Transmitter_9_out_1 = NULL;
main_Receiver_10_out_1 = NULL;
main_Switch_1_out_1 = NULL;
main_Transmitter_11_out_1 = NULL;
main_Receiver_14_out_1 = NULL;
main_ShowBox_1_out_1 = NULL;
main_Color_3_in_2 = "cadet blue";
main_Color_3_in_3 = NULL;
main_Color_3_in_4 = NULL;
main_Color_3_in_5 = NULL;
main_Color_3_out_1 = NULL;
main_Transmitter_2_out_1 = NULL;
main_Receiver_1_out_1 = NULL;
main_Transmitter_1_out_1 = NULL;
main_Receiver_2_out_1 = NULL;
main_Transmitter_3_out_1 = NULL;
main_Receiver_3_out_1 = NULL;
main_Transmitter_4_out_1 = NULL;
main_Receiver_4_out_1 = NULL;
main_Transmitter_5_out_1 = NULL;
main_Receiver_5_out_1 = NULL;
main_Switch_2_out_1 = NULL;
main_ColorBar_1_in_2 = NULL;
main_ColorBar_1_in_3 = NULL;
main_ColorBar_1_in_4 = NULL;
main_ColorBar_1_in_5 = NULL;
main_ColorBar_1_in_6 = NULL;
main_ColorBar_1_in_7 = NULL;
main_ColorBar_1_in_8 = NULL;
main_ColorBar_1_in_9 = NULL;
main_ColorBar_1_in_10 = NULL;
main_ColorBar_1_in_11 = NULL;
main_ColorBar_1_in_12 = NULL;
main_ColorBar_1_in_13 = NULL;
main_ColorBar_1_in_14 = NULL;
main_ColorBar_1_out_1 = NULL;
main_Transmitter_10_out_1 = NULL;
main_Receiver_13_out_1 = NULL;
main_Collect_2_out_1 = NULL;
macro Image(
        id,
        object,
        where,
        useVector,
        to,
        from,
        width,
        resolution,
        aspect,
        up,
        viewAngle,
        perspective,
        options,
        buttonState = 1,
        buttonUpApprox = "none",
        buttonDownApprox = "none",
        buttonUpDensity = 1,
        buttonDownDensity = 1,
        renderMode = 0,
        defaultCamera,
        reset,
        backgroundColor,
        throttle,
        RECenable = 0,
        RECfile,
        RECformat,
        RECresolution,
        RECaspect,
        AAenable = 0,
        AAlabels,
        AAticks,
        AAcorners,
        AAframe,
        AAadjust,
        AAcursor,
        AAgrid,
        AAcolors,
        AAannotation,
        AAlabelscale,
        AAfont,
        interactionMode,
        title,
        AAxTickLocs,
        AAyTickLocs,
        AAzTickLocs,
        AAxTickLabels,
        AAyTickLabels,
        AAzTickLabels) -> (
        object,
        camera,
        where)
{
    ImageMessage(
        id,
        backgroundColor,
        throttle,
        RECenable,
        RECfile,
        RECformat,
        RECresolution,
        RECaspect,
        AAenable,
        AAlabels,
        AAticks,
        AAcorners,
        AAframe,
        AAadjust,
        AAcursor,
        AAgrid,
        AAcolors,
        AAannotation,
        AAlabelscale,
        AAfont,
        AAxTickLocs,
        AAyTickLocs,
        AAzTickLocs,
        AAxTickLabels,
        AAyTickLabels,
        AAzTickLabels,
        interactionMode,
        title,
        renderMode,
        buttonUpApprox,
        buttonDownApprox,
        buttonUpDensity,
        buttonDownDensity) [instance: 1, cache: 1];
    autoCamera =
        AutoCamera(
            object,
            "front",
            object,
            resolution,
            aspect,
            [0,1,0],
            perspective,
            viewAngle,
            backgroundColor) [instance: 1, cache: 1];
    realCamera =
        Camera(
            to,
            from,
            width,
            resolution,
            aspect,
            up,
            perspective,
            viewAngle,
            backgroundColor) [instance: 1, cache: 1];
    coloredDefaultCamera = 
	 UpdateCamera(defaultCamera,
            background=backgroundColor) [instance: 1, cache: 1];
    nullDefaultCamera =
        Inquire(defaultCamera,
            "is null + 1") [instance: 1, cache: 1];
    resetCamera =
        Switch(
            nullDefaultCamera,
            coloredDefaultCamera,
            autoCamera) [instance: 1, cache: 1];
    resetNull = 
        Inquire(
            reset,
            "is null + 1") [instance: 2, cache: 1];
    reset =
        Switch(
            resetNull,
            reset,
            0) [instance: 2, cache: 1];
    whichCamera =
        Compute(
            "($0 != 0 || $1 == 0) ? 1 : 2",
            reset,
            useVector) [instance: 1, cache: 1];
    camera = Switch(
            whichCamera,
            resetCamera,
            realCamera) [instance: 3, cache: 1];
    AAobject =
        AutoAxes(
            object,
            camera,
            AAlabels,
            AAticks,
            AAcorners,
            AAframe,
            AAadjust,
            AAcursor,
            AAgrid,
            AAcolors,
            AAannotation,
            AAlabelscale,
            AAfont,
            AAxTickLocs,
            AAyTickLocs,
            AAzTickLocs,
            AAxTickLabels,
            AAyTickLabels,
            AAzTickLabels) [instance: 1, cache: 1];
    switchAAenable = Compute("$0+1",
	     AAenable) [instance: 2, cache: 1];
    object = Switch(
	     switchAAenable,
	     object,
	     AAobject) [instance:4, cache: 1];
    SWapproximation_options =
        Switch(
            buttonState,
            buttonUpApprox,
            buttonDownApprox) [instance: 5, cache: 1];
    SWdensity_options =
        Switch(
            buttonState,
            buttonUpDensity,
            buttonDownDensity) [instance: 6, cache: 1];
    HWapproximation_options =
        Format(
            "%s,%s",
            buttonDownApprox,
            buttonUpApprox) [instance: 1, cache: 1];
    HWdensity_options =
        Format(
            "%d,%d",
            buttonDownDensity,
            buttonUpDensity) [instance: 2, cache: 1];
    switchRenderMode = Compute(
	     "$0+1",
	     renderMode) [instance: 3, cache: 1];
    approximation_options = Switch(
	     switchRenderMode,
            SWapproximation_options,
	     HWapproximation_options) [instance: 7, cache: 1];
    density_options = Switch(
	     switchRenderMode,
            SWdensity_options,
            HWdensity_options) [instance: 8, cache: 1];
    renderModeString = Switch(
            switchRenderMode,
            "software",
            "hardware")[instance: 9, cache: 1];
    object_tag = Inquire(
            object,
            "object tag")[instance: 3, cache: 1];
    annoted_object =
        Options(
            object,
            "send boxes",
            0,
            "cache",
            1,
            "object tag",
            object_tag,
            "ddcamera",
            whichCamera,
            "rendering approximation",
            approximation_options,
            "render every",
            density_options,
            "button state",
            buttonState,
            "rendering mode",
            renderModeString) [instance: 1, cache: 1];
    RECresNull =
        Inquire(
            RECresolution,
            "is null + 1") [instance: 4, cache: 1];
    ImageResolution =
        Inquire(
            camera,
            "camera resolution") [instance: 5, cache: 1];
    RECresolution =
        Switch(
            RECresNull,
            RECresolution,
            ImageResolution) [instance: 10, cache: 1];
    RECaspectNull =
        Inquire(
            RECaspect,
            "is null + 1") [instance: 6, cache: 1];
    ImageAspect =
        Inquire(
            camera,
            "camera aspect") [instance: 7, cache: 1];
    RECaspect =
        Switch(
            RECaspectNull,
            RECaspect,
            ImageAspect) [instance: 11, cache: 1];
    switchRECenable = Compute(
          "$0 == 0 ? 1 : (($2 == $3) && ($4 == $5)) ? ($1 == 1 ? 2 : 3) : 4",
            RECenable,
            switchRenderMode,
            RECresolution,
            ImageResolution,
            RECaspect,
	     ImageAspect) [instance: 4, cache: 1];
    NoRECobject, RECNoRerenderObject, RECNoRerHW, RECRerenderObject = Route(switchRECenable, annoted_object);
    Display(
        NoRECobject,
        camera,
        where,
        throttle) [instance: 1, cache: 1];
    image =
        Render(
            RECNoRerenderObject,
            camera) [instance: 1, cache: 1];
    Display(
        image,
        NULL,
        where,
        throttle) [instance: 2, cache: 1];
    WriteImage(
        image,
        RECfile,
        RECformat) [instance: 1, cache: 1];
    rec_where = Display(
        RECNoRerHW,
        camera,
        where,
        throttle) [instance: 1, cache: 0];
    rec_image = ReadImageWindow(
        rec_where) [instance: 1, cache: 1];
    WriteImage(
        rec_image,
        RECfile,
        RECformat) [instance: 1, cache: 1];
    RECupdateCamera =
	UpdateCamera(
	    camera,
	    resolution=RECresolution,
	    aspect=RECaspect) [instance: 2, cache: 1];
    Display(
        RECRerenderObject,
        camera,
        where,
        throttle) [instance: 1, cache: 1];
    RECRerenderObject =
	ScaleScreen(
	    RECRerenderObject,
	    NULL,
	    RECresolution,
	    camera) [instance: 1, cache: 1];
    image =
        Render(
            RECRerenderObject,
            RECupdateCamera) [instance: 2, cache: 1];
    WriteImage(
        image,
        RECfile,
        RECformat) [instance: 2, cache: 1];
}
main_Image_2_in_1 = "Image_2";
main_Image_2_in_3 = "X24,,";
main_Image_2_in_4 = 1;
main_Image_2_in_5 = [0.95 -0.05 -1.05];
main_Image_2_in_6 = [-5.70829 5.03076 15.3362];
main_Image_2_in_7 = 9.86198;
main_Image_2_in_8 = 489;
main_Image_2_in_9 = 0.823;
main_Image_2_in_10 = [0.0492542 0.959468 -0.277482];
main_Image_2_in_11 = NULL;
main_Image_2_in_12 = 0;
main_Image_2_in_13 = NULL;
main_Image_2_in_14 = 1;
main_Image_2_in_15 = NULL;
main_Image_2_in_16 = NULL;
main_Image_2_in_17 = NULL;
main_Image_2_in_18 = NULL;
main_Image_2_in_19 = 0;
main_Image_2_in_20 = NULL;
main_Image_2_in_21 = NULL;
main_Image_2_in_22 = NULL;
main_Image_2_in_23 = NULL;
main_Image_2_in_25 = NULL;
main_Image_2_in_26 = NULL;
main_Image_2_in_27 = NULL;
main_Image_2_in_28 = NULL;
main_Image_2_in_29 = NULL;
main_Image_2_in_30 = NULL;
main_Image_2_in_31 = NULL;
main_Image_2_in_32 = NULL;
main_Image_2_in_33 = NULL;
main_Image_2_in_34 = NULL;
main_Image_2_in_35 = NULL;
main_Image_2_in_36 = NULL;
main_Image_2_in_37 = NULL;
main_Image_2_in_38 = NULL;
main_Image_2_in_39 = NULL;
main_Image_2_in_40 = NULL;
main_Image_2_in_41 = NULL;
main_Image_2_in_42 = NULL;
main_Image_2_in_43 = NULL;
main_Image_2_in_44 = NULL;
main_Image_2_in_45 = NULL;
main_Image_2_in_46 = NULL;
main_Image_2_in_47 = NULL;
main_Image_2_in_48 = NULL;
Executive("product version 3 1 4");
$sync
main();
