//
// time: Wed Mar 12 15:25:21 1997
//
// version: 3.1.1 (format), 3.1.4 (DX Beta)
//
//
// MODULE main
//
// comment: This visual program is intended to be a general purpose program for viewing three-dimensional data. 
// comment: 
// comment: If the data are multivariate, you can choose which variable to visualize. If the data are a series, you can use the sequencer to step through the series. For position-dependent data, an isosurface is created. For any data set, a maptoplane (cutting plane) is placed through the data and colored. You can open the colormap editor by choosing "Open All Colormap Editors" from the Windows menu.
// comment: 
// comment: If you would like to modify or use this visual program in the future, choose Open Visual Program Editor from the Windows menu, and then choose Save As from the File menu of the VPE.
// page assignment: image	order=7, windowed=0, showing=0
// page assignment: import	order=2, windowed=0, showing=0
// page assignment: iso	order=5, windowed=0, showing=0
// page assignment: maptoplane	order=6, windowed=0, showing=0
// page assignment: one_frame	order=4, windowed=0, showing=0
// page assignment: select_var	order=3, windowed=0, showing=1
// workspace: width = 558, height = 610
// layout: snap = 0, width = 50, height = 50, align = NN
//
macro main(
) -> (
) {
    // 
    // node FileSelector[3]: x = 157, y = 95, inputs = 0, label = FileSelector
    // output[1]: visible = 1, type = 32, value = "_filename_"
    // output[2]: visible = 1, type = 32, value = "_filename_"
    // page group: import
    //
    // 
    // node String[1]: x = 282, y = 96, inputs = 0, label = String
    // output[1]: visible = 1, type = 32, value = "_filetype_"
    // page group: import
    //
    // 
    // node Import[1]: x = 312, y = 246, inputs = 6, label = Import
    // page group: import
    //
main_Import_1_out_1 = 
    Import(
    main_FileSelector_3_out_1,
    main_Import_1_in_2,
    main_String_1_out_1,
    main_Import_1_in_4,
    main_Import_1_in_5,
    main_Import_1_in_6
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[8]: x = 314, y = 338, inputs = 1, label = imported
    // page group: import
    //
imported = main_Import_1_out_1;
    // 
    // node Receiver[3]: x = 207, y = 122, inputs = 1, label = imported
    // page group: select_var
    //
main_Receiver_3_out_1[cache: 0] = imported;
    // 
    // node Inquire[3]: x = 163, y = 216, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is generic group +1"
    // page group: select_var
    //
main_Inquire_3_out_1 = 
    Inquire(
    main_Receiver_3_out_1,
    main_Inquire_3_in_2,
    main_Inquire_3_in_3
    ) [instance: 3, cache: 1];
    // 
    // node Selector[2]: x = 413, y = 264, inputs = 7, label = Selector
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Selector_2"
    // input[2]: defaulting = 0, visible = 0, type = 32, value = "on" 
    // input[3]: defaulting = 0, visible = 0, type = 29, value = 1 
    // input[4]: defaulting = 1, visible = 1, type = 16777248, value = { "on" "off" }
    // input[5]: defaulting = 1, visible = 0, type = 16777245, value = { 1 0 }
    // output[1]: visible = 1, type = 29, value = 1 
    // output[2]: visible = 1, type = 32, value = "on" 
    // page group: select_var
    //
main_Selector_2_out_1[cache: 2],
main_Selector_2_out_2[cache: 2] = 
    Selector(
    main_Selector_2_in_1,
    main_Selector_2_in_2,
    main_Selector_2_in_3,
    main_Receiver_3_out_1,
    main_Selector_2_in_5,
    main_Selector_2_in_6,
    main_Selector_2_in_7
    ) [instance: 2, cache: 1];
    // 
    // node Select[1]: x = 331, y = 284, inputs = 3, label = Select
    // page group: select_var
    //
main_Select_1_out_1 = 
    Select(
    main_Receiver_3_out_1,
    main_Selector_2_out_1,
    main_Select_1_in_3
    ) [instance: 1, cache: 1];
    // 
    // node Switch[6]: x = 267, y = 382, inputs = 3, label = Switch
    // page group: select_var
    //
main_Switch_6_out_1 = 
    Switch(
    main_Inquire_3_out_1,
    main_Receiver_3_out_1,
    main_Select_1_out_1
    ) [instance: 6, cache: 1];
    // 
    // node Transmitter[9]: x = 269, y = 548, inputs = 1, label = selected
    // page group: select_var
    //
selected = main_Switch_6_out_1;
    // 
    // node Receiver[4]: x = 224, y = 122, inputs = 1, label = selected
    // page group: one_frame
    //
main_Receiver_4_out_1[cache: 0] = selected;
    // 
    // node Inquire[4]: x = 105, y = 210, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is series + 1"
    // page group: one_frame
    //
main_Inquire_4_out_1 = 
    Inquire(
    main_Receiver_4_out_1,
    main_Inquire_4_in_2,
    main_Inquire_4_in_3
    ) [instance: 4, cache: 1];
    // 
    // node Inquire[5]: x = 335, y = 216, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "member count -1"
    // page group: one_frame
    //
main_Inquire_5_out_1 = 
    Inquire(
    main_Receiver_4_out_1,
    main_Inquire_5_in_2,
    main_Inquire_5_in_3
    ) [instance: 5, cache: 1];
    // 
    // node Sequencer[1]: x = 338, y = 287, inputs = 7, label = Sequencer
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Sequencer_1"
    // input[4]: defaulting = 0, visible = 1, type = 1, value = 0
    // input[5]: defaulting = 1, visible = 1, type = 1, value = 52
    // input[6]: defaulting = 1, visible = 0, type = 1, value = 1
    // input[7]: defaulting = 0, visible = 0, type = 16777217, value = { 0 52 1 0 52 1 }
    // page group: one_frame
    // vcr[1]: min = 0, max = 52, beg = 0, end = 52, cur = 0, inc = 1, loop = off, step = off, pal = off
    // window: position = (0.3359,0.8496), size = 0.2188x0.0781
    //
    main_Sequencer_1_in_3 = @frame;
main_Sequencer_1_out_1[cache: 2] = 
    Sequencer(
    main_Sequencer_1_in_1,
    main_Sequencer_1_in_2,
    main_Sequencer_1_in_3,
    main_Sequencer_1_in_4,
    main_Inquire_5_out_1,
    main_Sequencer_1_in_6,
    main_Sequencer_1_in_7
    ) [instance: 1, cache: 1];
    // 
    // node Select[2]: x = 304, y = 383, inputs = 3, label = Select
    // page group: one_frame
    //
main_Select_2_out_1 = 
    Select(
    main_Receiver_4_out_1,
    main_Sequencer_1_out_1,
    main_Select_2_in_3
    ) [instance: 2, cache: 1];
    // 
    // node Switch[7]: x = 216, y = 421, inputs = 3, label = Switch
    // page group: one_frame
    //
main_Switch_7_out_1 = 
    Switch(
    main_Inquire_4_out_1,
    main_Receiver_4_out_1,
    main_Select_2_out_1
    ) [instance: 7, cache: 1];
    // 
    // node Transmitter[10]: x = 208, y = 564, inputs = 1, label = FieldToVisualize
    // page group: one_frame
    //
FieldToVisualize = main_Switch_7_out_1;
    // 
    // node Receiver[1]: x = 78, y = 106, inputs = 1, label = FieldToVisualize
    // page group: iso
    //
main_Receiver_1_out_1[cache: 0] = FieldToVisualize;
    // 
    // node Inquire[6]: x = 4, y = 210, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is vector + 1"
    // page group: iso
    //
main_Inquire_6_out_1 = 
    Inquire(
    main_Receiver_1_out_1,
    main_Inquire_6_in_2,
    main_Inquire_6_in_3
    ) [instance: 6, cache: 1];
    // 
    // node Compute[1]: x = 109, y = 211, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "mag($0)"
    // page group: iso
    // expression: value = mag(a)
    // name[2]: value = a
    //
main_Compute_1_out_1 = 
    Compute(
    main_Compute_1_in_1,
    main_Receiver_1_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Switch[10]: x = 56, y = 287, inputs = 3, label = Switch
    // page group: iso
    //
main_Switch_10_out_1 = 
    Switch(
    main_Inquire_6_out_1,
    main_Receiver_1_out_1,
    main_Compute_1_out_1
    ) [instance: 10, cache: 1];
    // 
    // node Inquire[7]: x = 24, y = 493, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is data dependent"
    // input[3]: defaulting = 0, visible = 1, type = 32, value = "positions"
    // page group: iso
    //
main_Inquire_7_out_1 = 
    Inquire(
    main_Switch_10_out_1,
    main_Inquire_7_in_2,
    main_Inquire_7_in_3
    ) [instance: 7, cache: 1];
    // 
    // node Receiver[8]: x = 283, y = 110, inputs = 1, label = selected
    // page group: iso
    //
main_Receiver_8_out_1[cache: 0] = selected;
    // 
    // node Reset[2]: x = 259, y = 321, inputs = 6, label = Reset
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "main_Reset_2_out_1"
    // input[2]: defaulting = 0, visible = 0, type = 29, value = 0
    // input[3]: defaulting = 0, visible = 0, type = 3, value = 0
    // input[4]: defaulting = 1, visible = 0, type = 29, value = 1
    // input[5]: defaulting = 1, visible = 0, type = 29, value = 0
    // output[1]: visible = 1, type = 29, value = 0
    // page group: iso
    // toggle : 0
    //
    // 
    // node Scalar[2]: x = 190, y = 354, inputs = 11, label = Scalar
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Scalar_2"
    // input[3]: defaulting = 0, visible = 0, type = 5, value = 2.0856111
    // input[4]: defaulting = 1, visible = 1, type = 3, value = 0
    // input[5]: defaulting = 1, visible = 0, type = 5, value = -9.73355e-08
    // input[6]: defaulting = 1, visible = 0, type = 5, value = 4.17122
    // input[7]: defaulting = 1, visible = 0, type = 5, value = 1.0
    // input[9]: defaulting = 1, visible = 0, type = 1, value = 2
    // output[1]: visible = 1, type = 5, value = 2.0856111
    // page group: iso
    //
main_Scalar_2_out_1[cache: 2] = 
    Scalar(
    main_Scalar_2_in_1,
    main_Receiver_8_out_1,
    main_Scalar_2_in_3,
    main_Reset_2_out_1,
    main_Scalar_2_in_5,
    main_Scalar_2_in_6,
    main_Scalar_2_in_7,
    main_Scalar_2_in_8,
    main_Scalar_2_in_9,
    main_Scalar_2_in_10,
    main_Scalar_2_in_11
    ) [instance: 2, cache: 1];
    // 
    // node Isosurface[2]: x = 72, y = 381, inputs = 6, label = Isosurface
    // page group: iso
    //
main_Isosurface_2_out_1 = 
    Isosurface(
    main_Switch_10_out_1,
    main_Scalar_2_out_1,
    main_Isosurface_2_in_3,
    main_Isosurface_2_in_4,
    main_Isosurface_2_in_5,
    main_Isosurface_2_in_6
    ) [instance: 2, cache: 1];
    // 
    // node Color[2]: x = 116, y = 461, inputs = 5, label = Color
    // input[3]: defaulting = 0, visible = 1, type = 5, value = .3
    // page group: iso
    //
main_Color_2_out_1 = 
    Color(
    main_Isosurface_2_out_1,
    main_Color_2_in_2,
    main_Color_2_in_3,
    main_Color_2_in_4,
    main_Color_2_in_5
    ) [instance: 2, cache: 1];
    // 
    // node Switch[11]: x = 108, y = 547, inputs = 3, label = Switch
    // page group: iso
    //
main_Switch_11_out_1 = 
    Switch(
    main_Inquire_7_out_1,
    main_Color_2_out_1,
    main_Switch_11_in_3
    ) [instance: 11, cache: 1];
    // 
    // node Transmitter[11]: x = 205, y = 551, inputs = 1, label = iso
    // page group: iso
    //
iso = main_Switch_11_out_1;
    // 
    // node Receiver[7]: x = 88, y = 148, inputs = 1, label = iso
    // page group: image
    //
main_Receiver_7_out_1[cache: 0] = iso;
    // 
    // node Receiver[6]: x = 73, y = 101, inputs = 1, label = FieldToVisualize
    // page group: maptoplane
    //
main_Receiver_6_out_1[cache: 0] = FieldToVisualize;
    // 
    // node Vector[1]: x = 206, y = 204, inputs = 11, label = Vector
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Vector_1"
    // input[3]: defaulting = 0, visible = 0, type = 8, value = [ 1 1 1 ]
    // input[5]: defaulting = 1, visible = 0, type = 8, value = [ -1.0 -1.0 -1.0 ]
    // input[6]: defaulting = 1, visible = 0, type = 8, value = [ 1.0 1.0 1.0 ]
    // input[7]: defaulting = 1, visible = 0, type = 8, value = [       1        1        1]
    // input[9]: defaulting = 1, visible = 0, type = 8, value = [ 5.0 5.0 5.0 ]
    // output[1]: visible = 1, type = 8, value = [ 1 1 1 ]
    // page group: maptoplane
    //
    // 
    // node MapToPlane[1]: x = 99, y = 275, inputs = 3, label = MapToPlane
    // page group: maptoplane
    //
main_MapToPlane_1_out_1 = 
    MapToPlane(
    main_Receiver_6_out_1,
    main_MapToPlane_1_in_2,
    main_Vector_1_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Receiver[2]: x = 484, y = 115, inputs = 1, label = selected
    // page group: maptoplane
    //
main_Receiver_2_out_1[cache: 0] = selected;
    // 
    // node Colormap[1]: x = 474, y = 285, inputs = 19, label = Colormap
    // input[1]: defaulting = 0, visible = 0, type = 16777224, value = { [0.0 0.666667] [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_1"
    // input[7]: defaulting = 1, visible = 0, type = 5, value = -9.733548e-08
    // input[8]: defaulting = 1, visible = 0, type = 5, value = 4.1712222
    // input[9]: defaulting = 1, visible = 0, type = 1, value = 20
    // input[12]: defaulting = 0, visible = 0, type = 16777221, value = { -9.733548e-08 4.1712222 }
    // input[17]: defaulting = 0, visible = 0, type = 5, value = -9.733548e-08
    // input[18]: defaulting = 0, visible = 0, type = 5, value = 4.1712222
    // page group: maptoplane
    // window: position = (0.5141,0.0000), size = 0.4688x0.2930
    //
main_Colormap_1_out_1[cache: 2],
main_Colormap_1_out_2[cache: 2] = 
    Colormap(
    main_Colormap_1_in_1,
    main_Colormap_1_in_2,
    main_Colormap_1_in_3,
    main_Colormap_1_in_4,
    main_Colormap_1_in_5,
    main_Receiver_2_out_1,
    main_Colormap_1_in_7,
    main_Colormap_1_in_8,
    main_Colormap_1_in_9,
    main_Colormap_1_in_10,
    main_Colormap_1_in_11,
    main_Colormap_1_in_12,
    main_Colormap_1_in_13,
    main_Colormap_1_in_14,
    main_Colormap_1_in_15,
    main_Colormap_1_in_16,
    main_Colormap_1_in_17,
    main_Colormap_1_in_18,
    main_Colormap_1_in_19
    ) [instance: 1, cache: 1];
    // 
    // node Color[1]: x = 338, y = 392, inputs = 5, label = Color
    // page group: maptoplane
    //
main_Color_1_out_1 = 
    Color(
    main_MapToPlane_1_out_1,
    main_Colormap_1_out_1,
    main_Color_1_in_3,
    main_Color_1_in_4,
    main_Color_1_in_5
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[12]: x = 354, y = 536, inputs = 1, label = map_to_plane
    // page group: maptoplane
    //
map_to_plane = main_Color_1_out_1;
    // 
    // node Receiver[9]: x = 145, y = 142, inputs = 1, label = map_to_plane
    // page group: image
    //
main_Receiver_9_out_1[cache: 0] = map_to_plane;
    // 
    // node ShowBox[1]: x = 13, y = 279, inputs = 1, label = ShowBox
    // page group: maptoplane
    //
main_ShowBox_1_out_1,
main_ShowBox_1_out_2 = 
    ShowBox(
    main_Receiver_6_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[13]: x = 21, y = 506, inputs = 1, label = box
    // page group: maptoplane
    //
box = main_ShowBox_1_out_1;
    // 
    // node Receiver[10]: x = 275, y = 147, inputs = 1, label = box
    // page group: image
    //
main_Receiver_10_out_1[cache: 0] = box;
    // 
    // node Collect[1]: x = 161, y = 245, inputs = 3, label = Collect
    // page group: image
    //
main_Collect_1_out_1 = 
    Collect(
    main_Receiver_7_out_1,
    main_Receiver_9_out_1,
    main_Receiver_10_out_1
    ) [instance: 1, cache: 1];
    // 
    // node AutoCamera[1]: x = 285, y = 363, inputs = 9, label = AutoCamera
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "off-front"
    // page group: image
    //
main_AutoCamera_1_out_1 = 
    AutoCamera(
    main_Collect_1_out_1,
    main_AutoCamera_1_in_2,
    main_AutoCamera_1_in_3,
    main_AutoCamera_1_in_4,
    main_AutoCamera_1_in_5,
    main_AutoCamera_1_in_6,
    main_AutoCamera_1_in_7,
    main_AutoCamera_1_in_8,
    main_AutoCamera_1_in_9
    ) [instance: 1, cache: 1];
    // 
    // node Reset[1]: x = 270, y = 486, inputs = 6, label = Reset
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "main_Reset_1_out_1"
    // input[2]: defaulting = 0, visible = 0, type = 29, value = 1
    // input[3]: defaulting = 0, visible = 0, type = 3, value = 1
    // input[4]: defaulting = 1, visible = 0, type = 29, value = 1
    // input[5]: defaulting = 1, visible = 0, type = 29, value = 0
    // output[1]: visible = 1, type = 29, value = 1
    // page group: image
    // toggle : 1
    //
    // 
    // node Image[1]: x = 148, y = 482, inputs = 48, label = Image
    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_1"
    // input[4]: defaulting = 0, visible = 0, type = 1, value = 1
    // input[5]: defaulting = 0, visible = 0, type = 8, value = [50000 7750 27000]
    // input[6]: defaulting = 0, visible = 0, type = 8, value = [122260 80009.6 296509]
    // input[7]: defaulting = 0, visible = 0, type = 5, value = 154464.0
    // input[8]: defaulting = 0, visible = 0, type = 1, value = 640
    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.75
    // input[10]: defaulting = 0, visible = 0, type = 8, value = [0 1 0]
    // input[11]: defaulting = 1, visible = 0, type = 5, value = 30.0001
    // 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[20]: visible = 1
    // input[21]: visible = 1
    // input[29]: defaulting = 1, visible = 0, type = 3, value = 0
    // input[42]: defaulting = 0, visible = 0, type = 32, value = "Basic3D"
    // page group: image
    // title: value = Basic3D
    // depth: value = 24
    // window: position = (0.3359,0.3076), size = 0.5109x0.5117
    // internal caching: 1
    //
main_Image_1_out_1,
main_Image_1_out_2,
main_Image_1_out_3 = 
    Image(
    main_Image_1_in_1,
    main_Collect_1_out_1,
    main_Image_1_in_3,
    main_Image_1_in_4,
    main_Image_1_in_5,
    main_Image_1_in_6,
    main_Image_1_in_7,
    main_Image_1_in_8,
    main_Image_1_in_9,
    main_Image_1_in_10,
    main_Image_1_in_11,
    main_Image_1_in_12,
    main_Image_1_in_13,
    main_Image_1_in_14,
    main_Image_1_in_15,
    main_Image_1_in_16,
    main_Image_1_in_17,
    main_Image_1_in_18,
    main_Image_1_in_19,
    main_AutoCamera_1_out_1,
    main_Reset_1_out_1,
    main_Image_1_in_22,
    main_Image_1_in_23,
    main_Image_1_in_24,
    main_Image_1_in_25,
    main_Image_1_in_26,
    main_Image_1_in_27,
    main_Image_1_in_28,
    main_Image_1_in_29,
    main_Image_1_in_30,
    main_Image_1_in_31,
    main_Image_1_in_32,
    main_Image_1_in_33,
    main_Image_1_in_34,
    main_Image_1_in_35,
    main_Image_1_in_36,
    main_Image_1_in_37,
    main_Image_1_in_38,
    main_Image_1_in_39,
    main_Image_1_in_40,
    main_Image_1_in_41,
    main_Image_1_in_42,
    main_Image_1_in_43,
    main_Image_1_in_44,
    main_Image_1_in_45,
    main_Image_1_in_46,
    main_Image_1_in_47,
    main_Image_1_in_48
    ) [instance: 1, cache: 1];
    // 
    // node Switch[9]: x = 71, y = 338, inputs = 3, label = Switch
    // input[2]: defaulting = 0, visible = 1, type = 67108863, value = 0
    // input[3]: defaulting = 0, visible = 1, type = 67108863, value = 1
    // page group: select_var
    //
main_Switch_9_out_1 = 
    Switch(
    main_Inquire_3_out_1,
    main_Switch_9_in_2,
    main_Switch_9_in_3
    ) [instance: 9, cache: 1];
    // 
    // node ManageControlPanel[1]: x = 16, y = 471, inputs = 2, label = ManageControlPanel
    // input[1]: defaulting = 0, visible = 1, type = 16777248, value = {"Variable Selection"}
    // page group: select_var
    //
    ManageControlPanel(
    main_ManageControlPanel_1_in_1,
    main_Switch_9_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Switch[8]: x = 58, y = 357, inputs = 3, label = Switch
    // input[2]: defaulting = 0, visible = 1, type = 67108863, value = 0
    // input[3]: defaulting = 0, visible = 1, type = 67108863, value = 1
    // page group: one_frame
    //
main_Switch_8_out_1 = 
    Switch(
    main_Inquire_4_out_1,
    main_Switch_8_in_2,
    main_Switch_8_in_3
    ) [instance: 8, cache: 1];
    // 
    // node ManageSequencer[1]: x = 10, y = 485, inputs = 1, label = ManageSequencer
    // page group: one_frame
    //
    ManageSequencer(
    main_Switch_8_out_1
    ) [instance: 1, cache: 1];
    //
    // decorator Annotate	pos=(98,21) size=451x44 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 88
    // annotation user: This page imports the data, and passes it to other pages via the
    // annotation user: "imported" transmitter.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: import
    //
    // decorator Annotate	pos=(47,24) size=511x60 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 170
    // annotation user: this page checks whether the imported data consist of more than one
    // annotation user: variable. If so, then a control panel is enabled allowing the user to select
    // annotation user: which variable to import.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: select_var
    //
    // decorator Annotate	pos=(64,48) size=500x44 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 130
    // annotation user: this page checks whether the imported data is a series. If so, it enables
    // annotation user: the sequencer to select single frames from the sequence.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: one_frame
    //
    // decorator Annotate	pos=(33,30) size=522x44 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 105
    // annotation user: This page creates an isosurface of the data. If the data are non-scalar, the
    // annotation user: magnitude is computed first.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: iso
    //
    // decorator Annotate	pos=(48,20) size=537x60 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 187
    // annotation user: this page creates a maptoplane (cutting plane) throught the data, along with
    // annotation user: a box around the data. The data are colored using a colormap "datadriven"
    // annotation user: by the range of the entire data set.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: maptoplane
    //
    // decorator Annotate	pos=(37,42) size=569x60 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 241
    // annotation user: this page collects the different parts of the visualization (isosurface, maptoplane,
    // annotation user: and box) and passes them to the Image tool. A default camera which looks at the 
    // annotation user: collection from a slightly-off-front direction is created using AutoCamera.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: image
    //
    // decorator Annotate	pos=(72,571) size=28x28 style(Marker), value = <NULL>
    // annotation user_begin: 74
    // annotation user: Isosurface is switched off if the data are
    // annotation user: dep connections (cell-centered)
    // annotation user_end: <NULL>
    // page group: iso
// network: end of macro body
CacheScene("Image_1", main_Image_1_out_1, main_Image_1_out_2);
}
main_FileSelector_3_out_1 = "_filename_";
main_String_1_out_1 = "_filetype_";
main_Import_1_in_2 = 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_Transmitter_8_out_1 = NULL;
main_Receiver_3_out_1 = NULL;
main_Inquire_3_in_2 = "is generic group +1";
main_Inquire_3_in_3 = NULL;
main_Inquire_3_out_1 = NULL;
main_Selector_2_in_1 = "Selector_2";
main_Selector_2_in_2 = "on" ;
main_Selector_2_in_3 = 1 ;
main_Selector_2_in_5 = NULL;
main_Selector_2_in_6 = NULL;
main_Selector_2_in_7 = NULL;
main_Selector_2_out_1 = 1 ;
main_Select_1_in_3 = NULL;
main_Select_1_out_1 = NULL;
main_Switch_6_out_1 = NULL;
main_Transmitter_9_out_1 = NULL;
main_Receiver_4_out_1 = NULL;
main_Inquire_4_in_2 = "is series + 1";
main_Inquire_4_in_3 = NULL;
main_Inquire_4_out_1 = NULL;
main_Inquire_5_in_2 = "member count -1";
main_Inquire_5_in_3 = NULL;
main_Inquire_5_out_1 = NULL;
main_Sequencer_1_in_1 = "Sequencer_1";
main_Sequencer_1_in_2 = NULL;
main_Sequencer_1_in_3 = NULL;
main_Sequencer_1_in_4 = 0;
main_Sequencer_1_in_6 = NULL;
main_Sequencer_1_in_7 = { 0 52 1 0 52 1 };
main_Sequencer_1_out_1 = NULL;

@startframe = 0;
@nextframe  = @startframe;
@endframe   = 52;
@deltaframe = 1;
main_Select_2_in_3 = NULL;
main_Select_2_out_1 = NULL;
main_Switch_7_out_1 = NULL;
main_Transmitter_10_out_1 = NULL;
main_Receiver_1_out_1 = NULL;
main_Inquire_6_in_2 = "is vector + 1";
main_Inquire_6_in_3 = NULL;
main_Inquire_6_out_1 = NULL;
main_Compute_1_in_1 = "mag($0)";
main_Compute_1_out_1 = NULL;
main_Switch_10_out_1 = NULL;
main_Inquire_7_in_2 = "is data dependent";
main_Inquire_7_in_3 = "positions";
main_Inquire_7_out_1 = NULL;
main_Receiver_8_out_1 = NULL;
main_Reset_2_in_1 = "main_Reset_2_out_1";
main_Reset_2_in_2 = 0;
main_Reset_2_in_3 = 0;
main_Reset_2_in_4 = NULL;
main_Reset_2_in_5 = NULL;
main_Reset_2_in_6 = NULL;
main_Reset_2_out_1 = 0;
main_Scalar_2_in_1 = "Scalar_2";
main_Scalar_2_in_3 = 2.0856111;
main_Scalar_2_in_5 = NULL;
main_Scalar_2_in_6 = NULL;
main_Scalar_2_in_7 = NULL;
main_Scalar_2_in_8 = NULL;
main_Scalar_2_in_9 = NULL;
main_Scalar_2_in_10 = NULL;
main_Scalar_2_in_11 = NULL;
main_Scalar_2_out_1 = 2.0856111;
main_Isosurface_2_in_3 = NULL;
main_Isosurface_2_in_4 = NULL;
main_Isosurface_2_in_5 = NULL;
main_Isosurface_2_in_6 = NULL;
main_Isosurface_2_out_1 = NULL;
main_Color_2_in_2 = NULL;
main_Color_2_in_3 = .3;
main_Color_2_in_4 = NULL;
main_Color_2_in_5 = NULL;
main_Color_2_out_1 = NULL;
main_Switch_11_in_3 = NULL;
main_Switch_11_out_1 = NULL;
main_Transmitter_11_out_1 = NULL;
main_Receiver_7_out_1 = NULL;
main_Receiver_6_out_1 = NULL;
main_Vector_1_in_1 = "Vector_1";
main_Vector_1_in_2 = NULL;
main_Vector_1_in_3 = [ 1 1 1 ];
main_Vector_1_in_4 = NULL;
main_Vector_1_in_5 = NULL;
main_Vector_1_in_6 = NULL;
main_Vector_1_in_7 = NULL;
main_Vector_1_in_8 = NULL;
main_Vector_1_in_9 = NULL;
main_Vector_1_in_10 = NULL;
main_Vector_1_in_11 = NULL;
main_Vector_1_out_1 = [ 1 1 1 ];
main_MapToPlane_1_in_2 = NULL;
main_MapToPlane_1_out_1 = NULL;
main_Receiver_2_out_1 = NULL;
main_Colormap_1_in_1 = { [0.0 0.666667] [1.0 0.0] };
main_Colormap_1_in_2 = { [0.0 1.0] [1.0 1.0] };
main_Colormap_1_in_3 = { [0.0 1.0] [1.0 1.0] };
main_Colormap_1_in_4 = { [0.0 1.0] [1.0 1.0] };
main_Colormap_1_in_5 = "Colormap_1";
main_Colormap_1_in_7 = NULL;
main_Colormap_1_in_8 = NULL;
main_Colormap_1_in_9 = NULL;
main_Colormap_1_in_10 = NULL;
main_Colormap_1_in_11 = NULL;
main_Colormap_1_in_12 = { -9.733548e-08 4.1712222 };
main_Colormap_1_in_13 = NULL;
main_Colormap_1_in_14 = NULL;
main_Colormap_1_in_15 = NULL;
main_Colormap_1_in_16 = NULL;
main_Colormap_1_in_17 = -9.733548e-08;
main_Colormap_1_in_18 = 4.1712222;
main_Colormap_1_in_19 = NULL;
main_Colormap_1_out_1 = NULL;
main_Color_1_in_3 = NULL;
main_Color_1_in_4 = NULL;
main_Color_1_in_5 = NULL;
main_Color_1_out_1 = NULL;
main_Transmitter_12_out_1 = NULL;
main_Receiver_9_out_1 = NULL;
main_ShowBox_1_out_1 = NULL;
main_Transmitter_13_out_1 = NULL;
main_Receiver_10_out_1 = NULL;
main_Collect_1_out_1 = NULL;
main_AutoCamera_1_in_2 = "off-front";
main_AutoCamera_1_in_3 = NULL;
main_AutoCamera_1_in_4 = NULL;
main_AutoCamera_1_in_5 = NULL;
main_AutoCamera_1_in_6 = NULL;
main_AutoCamera_1_in_7 = NULL;
main_AutoCamera_1_in_8 = NULL;
main_AutoCamera_1_in_9 = NULL;
main_AutoCamera_1_out_1 = NULL;
main_Reset_1_in_1 = "main_Reset_1_out_1";
main_Reset_1_in_2 = 1;
main_Reset_1_in_3 = 1;
main_Reset_1_in_4 = NULL;
main_Reset_1_in_5 = NULL;
main_Reset_1_in_6 = NULL;
main_Reset_1_out_1[oneshot:0] = 1;
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_1_in_1 = "Image_1";
main_Image_1_in_3 = "X24,,Basic3D";
main_Image_1_in_4 = 1;
main_Image_1_in_5 = [50000 7750 27000];
main_Image_1_in_6 = [122260 80009.6 296509];
main_Image_1_in_7 = 154464.0;
main_Image_1_in_8 = 640;
main_Image_1_in_9 = 0.75;
main_Image_1_in_10 = [0 1 0];
main_Image_1_in_11 = NULL;
main_Image_1_in_12 = 0;
main_Image_1_in_13 = NULL;
main_Image_1_in_14 = 1;
main_Image_1_in_15 = NULL;
main_Image_1_in_16 = NULL;
main_Image_1_in_17 = NULL;
main_Image_1_in_18 = NULL;
main_Image_1_in_19 = 0;
main_Image_1_in_22 = NULL;
main_Image_1_in_23 = NULL;
main_Image_1_in_25 = NULL;
main_Image_1_in_26 = NULL;
main_Image_1_in_27 = NULL;
main_Image_1_in_28 = NULL;
main_Image_1_in_29 = NULL;
main_Image_1_in_30 = NULL;
main_Image_1_in_31 = NULL;
main_Image_1_in_32 = NULL;
main_Image_1_in_33 = NULL;
main_Image_1_in_34 = NULL;
main_Image_1_in_35 = NULL;
main_Image_1_in_36 = NULL;
main_Image_1_in_37 = NULL;
main_Image_1_in_38 = NULL;
main_Image_1_in_39 = NULL;
main_Image_1_in_40 = NULL;
main_Image_1_in_41 = NULL;
main_Image_1_in_42 = "Basic3D";
main_Image_1_in_43 = NULL;
main_Image_1_in_44 = NULL;
main_Image_1_in_45 = NULL;
main_Image_1_in_46 = NULL;
main_Image_1_in_47 = NULL;
main_Image_1_in_48 = NULL;
main_Switch_9_in_2 = 0;
main_Switch_9_in_3 = 1;
main_Switch_9_out_1 = NULL;
main_ManageControlPanel_1_in_1 = {"Variable Selection"};
main_Switch_8_in_2 = 0;
main_Switch_8_in_3 = 1;
main_Switch_8_out_1 = NULL;
Executive("product version 3 1 4");
$sync

sequence main();
play;
