//
// time: Wed Mar 12 15:30:28 1997
//
// version: 3.1.1 (format), 3.1.4 (DX Beta)
//
//
// MODULE main
//
// comment: In this visualization, a general purpose visual program has been used to visualize scattered two-dimensional data. The  points have been connected using the Connect module. Glyphs of the original scattered points are also shown. Contour lines are also drawn on the connected surface.
// comment: 
// comment: You can use the control panel to change the contour line values, reset the contour line values back to the default if you have modified them, or reset the image camera (if, for example you have modified the view, or have brought in a new data set).
// comment: 
// comment: If you want to use this program for other data sets, choose Open Visual Program Editor from the Windows menu, and then save it using the File menu Save As option in the VPE.
// page assignment: connected_v	order=4, windowed=0, showing=0
// page assignment: glyphs	order=3, windowed=0, showing=0
// page assignment: image	order=5, windowed=0, showing=1
// page assignment: import	order=2, windowed=0, showing=0
// workspace: width = 444, height = 439
// layout: snap = 0, width = 50, height = 50, align = NN
//
macro main(
) -> (
) {
    // 
    // node FileSelector[2]: x = 62, y = 82, 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[3]: x = 335, y = 102, inputs = 0, label = String
    // output[1]: visible = 1, type = 32, value = "_filetype_"
    // page group: import
    //
    // 
    // node Import[1]: x = 195, y = 159, inputs = 6, label = Import
    // input[1]: defaulting = 1, visible = 1, type = 32, value = "/opt/local/dx/samples/data/southeastern_topo.dx"
    // page group: import
    //
main_Import_1_out_1 = 
    Import(
    main_FileSelector_2_out_1,
    main_Import_1_in_2,
    main_String_3_out_1,
    main_Import_1_in_4,
    main_Import_1_in_5,
    main_Import_1_in_6
    ) [instance: 1, cache: 1];
    // 
    // node Connect[1]: x = 177, y = 267, inputs = 3, label = Connect
    // page group: import
    //
main_Connect_1_out_1 = 
    Connect(
    main_Import_1_out_1,
    main_Connect_1_in_2,
    main_Connect_1_in_3
    ) [instance: 1, cache: 1];
    // 
    // node Transmitter[45]: x = 179, y = 373, inputs = 1, label = connected
    // page group: import
    //
connected = main_Connect_1_out_1;
    // 
    // node Receiver[55]: x = 4, y = 4, inputs = 1, label = connected
    // page group: connected_v
    //
main_Receiver_55_out_1[cache: 0] = connected;
    // 
    // node Inquire[1]: x = 37, y = 131, inputs = 3, label = Inquire
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "is vector + 1"
    // page group: connected_v
    //
main_Inquire_1_out_1 = 
    Inquire(
    main_Receiver_55_out_1,
    main_Inquire_1_in_2,
    main_Inquire_1_in_3
    ) [instance: 1, cache: 1];
    // 
    // node Compute[1]: x = 200, y = 86, inputs = 2, label = Compute
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "mag($0)"
    // page group: connected_v
    // expression: value = mag(a)
    // name[2]: value = a
    //
main_Compute_1_out_1 = 
    Compute(
    main_Compute_1_in_1,
    main_Receiver_55_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Switch[2]: x = 135, y = 172, inputs = 3, label = Switch
    // page group: connected_v
    //
main_Switch_2_out_1 = 
    Switch(
    main_Inquire_1_out_1,
    main_Receiver_55_out_1,
    main_Compute_1_out_1
    ) [instance: 2, cache: 1];
    // 
    // node AutoColor[2]: x = 135, y = 295, inputs = 10, label = AutoColor
    // page group: connected_v
    //
main_AutoColor_2_out_1,
main_AutoColor_2_out_2 = 
    AutoColor(
    main_Switch_2_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_AutoColor_2_in_8,
    main_AutoColor_2_in_9,
    main_AutoColor_2_in_10
    ) [instance: 2, cache: 1];
    // 
    // node Transmitter[46]: x = 319, y = 362, inputs = 1, label = scattered
    // page group: import
    //
scattered = main_Import_1_out_1;
    // 
    // node Receiver[56]: x = 123, y = 117, inputs = 1, label = scattered
    // page group: glyphs
    //
main_Receiver_56_out_1[cache: 0] = scattered;
    // 
    // node AutoGlyph[2]: x = 107, y = 203, inputs = 7, label = AutoGlyph
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "speedy"
    // page group: glyphs
    //
main_AutoGlyph_2_out_1 = 
    AutoGlyph(
    main_Receiver_56_out_1,
    main_AutoGlyph_2_in_2,
    main_AutoGlyph_2_in_3,
    main_AutoGlyph_2_in_4,
    main_AutoGlyph_2_in_5,
    main_AutoGlyph_2_in_6,
    main_AutoGlyph_2_in_7
    ) [instance: 2, cache: 1];
    // 
    // node Transmitter[47]: x = 154, y = 454, inputs = 1, label = glyphs
    // page group: glyphs
    //
glyphs = main_AutoGlyph_2_out_1;
    // 
    // node Receiver[58]: x = 43, y = 366, inputs = 1, label = glyphs
    // page group: connected_v
    //
main_Receiver_58_out_1[cache: 0] = glyphs;
    // 
    // node Reset[2]: x = 426, y = 206, 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 = 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: connected_v
    // toggle : 1
    //
    // 
    // node ScalarList[3]: x = 319, y = 245, inputs = 11, label = ScalarList
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "ScalarList_3"
    // input[3]: defaulting = 0, visible = 0, type = 16777221, value = { 0.0 }
    // input[4]: defaulting = 1, visible = 1, type = 3, value = 0
    // input[5]: defaulting = 1, visible = 0, type = 5, value = -1000000.0
    // input[6]: defaulting = 1, visible = 0, type = 5, value = 1000000.0
    // input[7]: defaulting = 1, visible = 0, type = 5, value = 1.0
    // input[9]: defaulting = 1, visible = 0, type = 1, value = 5
    // output[1]: visible = 1, type = 16777221, value = { 0.0 }
    // page group: connected_v
    //
main_ScalarList_3_out_1[cache: 2] = 
    ScalarList(
    main_ScalarList_3_in_1,
    main_Switch_2_out_1,
    main_ScalarList_3_in_3,
    main_Reset_2_out_1,
    main_ScalarList_3_in_5,
    main_ScalarList_3_in_6,
    main_ScalarList_3_in_7,
    main_ScalarList_3_in_8,
    main_ScalarList_3_in_9,
    main_ScalarList_3_in_10,
    main_ScalarList_3_in_11
    ) [instance: 3, cache: 1];
    // 
    // node Isosurface[1]: x = 322, y = 327, inputs = 6, label = Isosurface
    // page group: connected_v
    //
main_Isosurface_1_out_1 = 
    Isosurface(
    main_Switch_2_out_1,
    main_ScalarList_3_out_1,
    main_Isosurface_1_in_3,
    main_Isosurface_1_in_4,
    main_Isosurface_1_in_5,
    main_Isosurface_1_in_6
    ) [instance: 1, cache: 1];
    // 
    // node Color[2]: x = 296, y = 414, inputs = 5, label = Color
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "black"
    // page group: connected_v
    //
main_Color_2_out_1 = 
    Color(
    main_Isosurface_1_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 Collect[1]: x = 113, y = 456, inputs = 3, label = Collect
    // page group: connected_v
    //
main_Collect_1_out_1 = 
    Collect(
    main_Receiver_58_out_1,
    main_AutoColor_2_out_1,
    main_Color_2_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Selector[1]: x = 51, y = 213, inputs = 7, label = Selector
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "Selector_1"
    // input[2]: defaulting = 0, visible = 0, type = 32, value = "yes" 
    // input[3]: defaulting = 0, visible = 0, type = 29, value = 1 
    // input[4]: defaulting = 1, visible = 1, type = 16777248, value = { "yes" "no" }
    // input[5]: defaulting = 1, visible = 0, type = 16777245, value = { 1 2 }
    // output[1]: visible = 1, type = 29, value = 1 
    // output[2]: visible = 1, type = 32, value = "yes" 
    // page group: image
    //
    // 
    // node Transmitter[49]: x = 84, y = 530, inputs = 1, label = connected_viz
    // page group: connected_v
    //
connected_viz = main_Collect_1_out_1;
    // 
    // node Receiver[60]: x = 141, y = 162, inputs = 1, label = connected_viz
    // page group: image
    //
main_Receiver_60_out_1[cache: 0] = connected_viz;
    // 
    // node Receiver[57]: x = 245, y = 218, inputs = 1, label = glyphs
    // page group: image
    //
main_Receiver_57_out_1[cache: 0] = glyphs;
    // 
    // node Switch[1]: x = 155, y = 273, inputs = 3, label = Switch
    // page group: image
    //
main_Switch_1_out_1 = 
    Switch(
    main_Selector_1_out_1,
    main_Receiver_60_out_1,
    main_Receiver_57_out_1
    ) [instance: 1, cache: 1];
    // 
    // node Reset[7]: x = 260, y = 337, inputs = 6, label = Reset
    // input[1]: defaulting = 0, visible = 0, type = 32, value = "main_Reset_7_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[3]: x = 168, y = 377, inputs = 48, label = Image
    // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_3"
    // input[4]: defaulting = 0, visible = 0, type = 1, value = 0
    // input[8]: defaulting = 0, visible = 0, type = 1, value = 640
    // input[9]: defaulting = 0, visible = 0, type = 5, value = 0.750781
    // input[14]: defaulting = 0, visible = 0, type = 1, value = 1
    // input[19]: defaulting = 0, visible = 0, type = 3, value = 0
    // input[21]: visible = 1
    // input[42]: defaulting = 0, visible = 0, type = 32, value = "UnGridded_2D_1var_notseries"
    // page group: image
    // title: value = UnGridded_2D_1var_notseries
    // depth: value = 8
    // window: position = (0.3359,0.3076), size = 0.5109x0.5117
    // internal caching: 1
    //
main_Image_3_out_1,
main_Image_3_out_2,
main_Image_3_out_3 = 
    Image(
    main_Image_3_in_1,
    main_Switch_1_out_1,
    main_Image_3_in_3,
    main_Image_3_in_4,
    main_Image_3_in_5,
    main_Image_3_in_6,
    main_Image_3_in_7,
    main_Image_3_in_8,
    main_Image_3_in_9,
    main_Image_3_in_10,
    main_Image_3_in_11,
    main_Image_3_in_12,
    main_Image_3_in_13,
    main_Image_3_in_14,
    main_Image_3_in_15,
    main_Image_3_in_16,
    main_Image_3_in_17,
    main_Image_3_in_18,
    main_Image_3_in_19,
    main_Image_3_in_20,
    main_Reset_7_out_1,
    main_Image_3_in_22,
    main_Image_3_in_23,
    main_Image_3_in_24,
    main_Image_3_in_25,
    main_Image_3_in_26,
    main_Image_3_in_27,
    main_Image_3_in_28,
    main_Image_3_in_29,
    main_Image_3_in_30,
    main_Image_3_in_31,
    main_Image_3_in_32,
    main_Image_3_in_33,
    main_Image_3_in_34,
    main_Image_3_in_35,
    main_Image_3_in_36,
    main_Image_3_in_37,
    main_Image_3_in_38,
    main_Image_3_in_39,
    main_Image_3_in_40,
    main_Image_3_in_41,
    main_Image_3_in_42,
    main_Image_3_in_43,
    main_Image_3_in_44,
    main_Image_3_in_45,
    main_Image_3_in_46,
    main_Image_3_in_47,
    main_Image_3_in_48
    ) [instance: 3, cache: 1];
    //
    // decorator Annotate	pos=(49,25) size=489x44 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 88
    // annotation user: This page imports the data, and uses the Connect module to connect
    // annotation user: the scattered points.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: import
    //
    // decorator Annotate	pos=(95,31) size=349x28 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 49
    // annotation user: This page creates glyphs at the scattered points.
    // annotation user_end: <NULL>
    // page group: glyphs
    //
    // decorator Annotate	pos=(299,66) size=323x76 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 149
    // annotation user: This page visualizes the connected data with 
    // annotation user: a colored surface (AutoColor), contour
    // annotation user: lines (Isosurface), and glyphs at the original
    // annotation user: scattered points.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: connected_v
    //
    // decorator Annotate	pos=(49,47) size=395x44 style(Label), font=bold, value = <NULL>
    // annotation user_begin: 105
    // annotation user: This page allows the user to choose whether to see the 
    // annotation user: scattered glyphs, or the connected visualization.
    // annotation user_end: <NULL>
    // resource *decorator.alignment:XmALIGNMENT_BEGINNING
    // page group: image
// network: end of macro body
CacheScene("Image_3", main_Image_3_out_1, main_Image_3_out_2);
}
main_FileSelector_2_out_1 = "_filename_";
main_String_3_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_Connect_1_in_2 = NULL;
main_Connect_1_in_3 = NULL;
main_Connect_1_out_1 = NULL;
main_Transmitter_45_out_1 = NULL;
main_Receiver_55_out_1 = NULL;
main_Inquire_1_in_2 = "is vector + 1";
main_Inquire_1_in_3 = NULL;
main_Inquire_1_out_1 = NULL;
main_Compute_1_in_1 = "mag($0)";
main_Compute_1_out_1 = NULL;
main_Switch_2_out_1 = NULL;
main_AutoColor_2_in_2 = NULL;
main_AutoColor_2_in_3 = NULL;
main_AutoColor_2_in_4 = NULL;
main_AutoColor_2_in_5 = NULL;
main_AutoColor_2_in_6 = NULL;
main_AutoColor_2_in_7 = NULL;
main_AutoColor_2_in_8 = NULL;
main_AutoColor_2_in_9 = NULL;
main_AutoColor_2_in_10 = NULL;
main_AutoColor_2_out_1 = NULL;
main_Transmitter_46_out_1 = NULL;
main_Receiver_56_out_1 = NULL;
main_AutoGlyph_2_in_2 = "speedy";
main_AutoGlyph_2_in_3 = NULL;
main_AutoGlyph_2_in_4 = NULL;
main_AutoGlyph_2_in_5 = NULL;
main_AutoGlyph_2_in_6 = NULL;
main_AutoGlyph_2_in_7 = NULL;
main_AutoGlyph_2_out_1 = NULL;
main_Transmitter_47_out_1 = NULL;
main_Receiver_58_out_1 = NULL;
main_Reset_2_in_1 = "main_Reset_2_out_1";
main_Reset_2_in_2 = 1;
main_Reset_2_in_3 = 1;
main_Reset_2_in_4 = NULL;
main_Reset_2_in_5 = NULL;
main_Reset_2_in_6 = NULL;
main_Reset_2_out_1[oneshot:0] = 1;
main_ScalarList_3_in_1 = "ScalarList_3";
main_ScalarList_3_in_3 = { 0.0 };
main_ScalarList_3_in_5 = NULL;
main_ScalarList_3_in_6 = NULL;
main_ScalarList_3_in_7 = NULL;
main_ScalarList_3_in_8 = NULL;
main_ScalarList_3_in_9 = NULL;
main_ScalarList_3_in_10 = NULL;
main_ScalarList_3_in_11 = NULL;
main_ScalarList_3_out_1 = { 0.0 };
main_Isosurface_1_in_3 = NULL;
main_Isosurface_1_in_4 = NULL;
main_Isosurface_1_in_5 = NULL;
main_Isosurface_1_in_6 = NULL;
main_Isosurface_1_out_1 = NULL;
main_Color_2_in_2 = "black";
main_Color_2_in_3 = NULL;
main_Color_2_in_4 = NULL;
main_Color_2_in_5 = NULL;
main_Color_2_out_1 = NULL;
main_Collect_1_out_1 = NULL;
main_Selector_1_in_1 = "Selector_1";
main_Selector_1_in_2 = "yes" ;
main_Selector_1_in_3 = 1 ;
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 = 1 ;
main_Transmitter_49_out_1 = NULL;
main_Receiver_60_out_1 = NULL;
main_Receiver_57_out_1 = NULL;
main_Switch_1_out_1 = NULL;
main_Reset_7_in_1 = "main_Reset_7_out_1";
main_Reset_7_in_2 = 1;
main_Reset_7_in_3 = 1;
main_Reset_7_in_4 = NULL;
main_Reset_7_in_5 = NULL;
main_Reset_7_in_6 = NULL;
main_Reset_7_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_3_in_1 = "Image_3";
main_Image_3_in_3 = "X8,,UnGridded_2D_1var_notseries";
main_Image_3_in_4 = 0;
main_Image_3_in_5 = NULL;
main_Image_3_in_6 = NULL;
main_Image_3_in_7 = NULL;
main_Image_3_in_8 = 640;
main_Image_3_in_9 = 0.750781;
main_Image_3_in_10 = NULL;
main_Image_3_in_11 = NULL;
main_Image_3_in_12 = NULL;
main_Image_3_in_13 = NULL;
main_Image_3_in_14 = 1;
main_Image_3_in_15 = NULL;
main_Image_3_in_16 = NULL;
main_Image_3_in_17 = NULL;
main_Image_3_in_18 = NULL;
main_Image_3_in_19 = 0;
main_Image_3_in_20 = NULL;
main_Image_3_in_22 = NULL;
main_Image_3_in_23 = NULL;
main_Image_3_in_25 = NULL;
main_Image_3_in_26 = NULL;
main_Image_3_in_27 = NULL;
main_Image_3_in_28 = NULL;
main_Image_3_in_29 = NULL;
main_Image_3_in_30 = NULL;
main_Image_3_in_31 = NULL;
main_Image_3_in_32 = NULL;
main_Image_3_in_33 = NULL;
main_Image_3_in_34 = NULL;
main_Image_3_in_35 = NULL;
main_Image_3_in_36 = NULL;
main_Image_3_in_37 = NULL;
main_Image_3_in_38 = NULL;
main_Image_3_in_39 = NULL;
main_Image_3_in_40 = NULL;
main_Image_3_in_41 = NULL;
main_Image_3_in_42 = "UnGridded_2D_1var_notseries";
main_Image_3_in_43 = NULL;
main_Image_3_in_44 = NULL;
main_Image_3_in_45 = NULL;
main_Image_3_in_46 = NULL;
main_Image_3_in_47 = NULL;
main_Image_3_in_48 = NULL;
Executive("product version 3 1 4");
$sync
main();
