// // time: Wed Apr 9 15:22:05 1997 // // version: 3.1.1 (format), 3.1.4 (DX Beta) // // // MODULE main // // comment: This visual program shows you how to create connections (interpolation elements) for a set of scattered points. Choose "Open All Control Panels" from the Windows menu to open the control panel. There is a selector interactor which controls what you see: the original scattered points or the points connected (with triangles) using the Connect module. When the Connect module is used, the positions are exactly the same as the original positions. The original scattered points are shown as small magenta disks when the connected data sets are shown. // page assignment: image order=5, windowed=0, showing=0 // page assignment: import order=2, windowed=0, showing=1 // page assignment: regrid order=4, windowed=0, showing=0 // page assignment: scattered order=3, windowed=0, showing=0 // workspace: width = 287, height = 316 // layout: snap = 0, width = 50, height = 50, align = UL // macro main( ) -> ( ) { // // node Import[1]: x = 155, y = 136, inputs = 6, label = Import // input[1]: defaulting = 0, visible = 1, type = 32, value = "spreadsheet_scattered.general" // input[3]: defaulting = 1, visible = 1, type = 32, value = "general" // 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 Transmitter[1]: x = 169, y = 254, inputs = 1, label = imported // page group: import // imported = main_Import_1_out_1; // // node Receiver[2]: x = 119, y = 110, inputs = 1, label = imported // page group: regrid // main_Receiver_2_out_1[cache: 0] = imported; // // node AutoGrid[1]: x = 318, y = 205, inputs = 6, label = AutoGrid // page group: regrid // main_AutoGrid_1_out_1 = AutoGrid( main_Receiver_2_out_1, main_AutoGrid_1_in_2, main_AutoGrid_1_in_3, main_AutoGrid_1_in_4, main_AutoGrid_1_in_5, main_AutoGrid_1_in_6 ) [instance: 1, cache: 1]; // // node AutoColor[4]: x = 243, y = 315, inputs = 10, label = AutoColor // page group: regrid // main_AutoColor_4_out_1, main_AutoColor_4_out_2 = AutoColor( main_AutoGrid_1_out_1, main_AutoColor_4_in_2, main_AutoColor_4_in_3, main_AutoColor_4_in_4, main_AutoColor_4_in_5, main_AutoColor_4_in_6, main_AutoColor_4_in_7, main_AutoColor_4_in_8, main_AutoColor_4_in_9, main_AutoColor_4_in_10 ) [instance: 4, cache: 1]; // // node Receiver[1]: x = 130, y = 116, inputs = 1, label = imported // page group: scattered // main_Receiver_1_out_1[cache: 0] = imported; // // node AutoGlyph[1]: x = 107, y = 233, inputs = 7, label = AutoGlyph // page group: scattered // main_AutoGlyph_1_out_1 = AutoGlyph( main_Receiver_1_out_1, main_AutoGlyph_1_in_2, main_AutoGlyph_1_in_3, main_AutoGlyph_1_in_4, main_AutoGlyph_1_in_5, main_AutoGlyph_1_in_6, main_AutoGlyph_1_in_7 ) [instance: 1, cache: 1]; // // node AutoColor[5]: x = 125, y = 331, inputs = 10, label = AutoColor // page group: scattered // main_AutoColor_5_out_1, main_AutoColor_5_out_2 = AutoColor( main_AutoGlyph_1_out_1, main_AutoColor_5_in_2, main_AutoColor_5_in_3, main_AutoColor_5_in_4, main_AutoColor_5_in_5, main_AutoColor_5_in_6, main_AutoColor_5_in_7, main_AutoColor_5_in_8, main_AutoColor_5_in_9, main_AutoColor_5_in_10 ) [instance: 5, cache: 1]; // // node AutoGlyph[6]: x = 111, y = 280, inputs = 7, label = AutoGlyph // input[4]: defaulting = 0, visible = 1, type = 5, value = .2 // input[5]: defaulting = 0, visible = 1, type = 5, value = 1.00000 // page group: regrid // main_AutoGlyph_6_out_1 = AutoGlyph( main_Receiver_2_out_1, main_AutoGlyph_6_in_2, main_AutoGlyph_6_in_3, main_AutoGlyph_6_in_4, main_AutoGlyph_6_in_5, main_AutoGlyph_6_in_6, main_AutoGlyph_6_in_7 ) [instance: 6, cache: 1]; // // node Selector[2]: x = 30, y = 179, inputs = 7, label = Selector // input[1]: defaulting = 0, visible = 0, type = 32, value = "Selector_2" // input[2]: defaulting = 0, visible = 0, type = 32, value = "using AutoGrid module" // input[3]: defaulting = 0, visible = 0, type = 29, value = 2 // input[4]: defaulting = 1, visible = 1, type = 16777248, value = { "original scattered points" "using AutoGrid module" } // input[5]: defaulting = 1, visible = 0, type = 16777245, value = { 1 2 } // input[6]: defaulting = 1, visible = 0, type = 3, value = 0 // output[1]: visible = 1, type = 29, value = 2 // output[2]: visible = 1, type = 32, value = "using AutoGrid module" // page group: image // // // node Caption[2]: x = 329, y = 312, inputs = 9, label = Caption // input[6]: defaulting = 0, visible = 1, type = 1, value = 20 // input[7]: defaulting = 0, visible = 1, type = 32, value = "roman_tser" // page group: image // main_Caption_2_out_1 = Caption( main_Selector_2_out_2, main_Caption_2_in_2, main_Caption_2_in_3, main_Caption_2_in_4, main_Caption_2_in_5, main_Caption_2_in_6, main_Caption_2_in_7, main_Caption_2_in_8, main_Caption_2_in_9 ) [instance: 2, cache: 1]; // // node Color[6]: x = 148, y = 354, inputs = 5, label = Color // input[2]: defaulting = 0, visible = 1, type = 32, value = "magenta" // page group: regrid // main_Color_6_out_1 = Color( main_AutoGlyph_6_out_1, main_Color_6_in_2, main_Color_6_in_3, main_Color_6_in_4, main_Color_6_in_5 ) [instance: 6, cache: 1]; // // node ShowConnections[2]: x = 338, y = 316, inputs = 1, label = ShowConnections // page group: regrid // main_ShowConnections_2_out_1 = ShowConnections( main_AutoGrid_1_out_1 ) [instance: 2, cache: 1]; // // node Color[2]: x = 349, y = 399, inputs = 5, label = Color // input[2]: defaulting = 0, visible = 1, type = 32, value = "black" // page group: regrid // main_Color_2_out_1 = Color( main_ShowConnections_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 Collect[3]: x = 235, y = 478, inputs = 3, label = Collect // page group: regrid // main_Collect_3_out_1 = Collect( main_Color_6_out_1, main_AutoColor_4_out_1, main_Color_2_out_1 ) [instance: 3, cache: 1]; // // node Transmitter[2]: x = 153, y = 426, inputs = 1, label = scattered // page group: scattered // scattered = main_AutoColor_5_out_1; // // node Receiver[3]: x = 153, y = 119, inputs = 1, label = scattered // page group: image // main_Receiver_3_out_1[cache: 0] = scattered; // // node Transmitter[3]: x = 301, y = 550, inputs = 1, label = regridded // page group: regrid // regridded = main_Collect_3_out_1; // // node Receiver[4]: x = 301, y = 128, inputs = 1, label = regridded // page group: image // main_Receiver_4_out_1[cache: 0] = regridded; // // node Switch[2]: x = 116, y = 336, inputs = 3, label = Switch // page group: image // main_Switch_2_out_1 = Switch( main_Selector_2_out_1, main_Receiver_3_out_1, main_Receiver_4_out_1 ) [instance: 2, cache: 1]; // // node Collect[5]: x = 157, y = 442, inputs = 2, label = Collect // page group: image // main_Collect_5_out_1 = Collect( main_Switch_2_out_1, main_Caption_2_out_1 ) [instance: 5, cache: 1]; // // node Image[3]: x = 243, y = 519, inputs = 48, label = Image // input[1]: defaulting = 0, visible = 0, type = 67108863, value = "Image_3" // input[4]: defaulting = 0, visible = 0, type = 1, value = 1 // input[5]: defaulting = 0, visible = 0, type = 8, value = [1.98004 3.82937 0] // input[6]: defaulting = 0, visible = 0, type = 8, value = [1.98004 3.82937 9.40394] // input[7]: defaulting = 0, visible = 0, type = 5, value = 5.03957 // input[8]: defaulting = 0, visible = 0, type = 1, value = 348 // input[9]: defaulting = 0, visible = 0, type = 5, value = 1.234 // 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[29]: defaulting = 1, visible = 0, type = 3, value = 0 // page group: image // depth: value = 24 // window: position = (0.6547,0.0195), size = 0.2828x0.4873 // 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_Collect_5_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_Image_3_in_21, 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=(87,57) size=200x28 style(Label), font=bold, value = // annotation user_begin: 27 // annotation user: This page imports the data. // annotation user_end: // page group: import // // decorator Annotate pos=(77,32) size=415x28 style(Label), font=bold, value = // annotation user_begin: 58 // annotation user: This page creates glyphs of the scattered imported points. // annotation user_end: // page group: scattered // // decorator Annotate pos=(101,24) size=495x60 style(Label), font=bold, value = // annotation user_begin: 167 // annotation user: This page regrids the scattered points using AutoGrid, and collects // annotation user: the result with the original scattered points and a realization of the // annotation user: connections of the new grid. // annotation user_end: // resource *decorator.alignment:XmALIGNMENT_BEGINNING // page group: regrid // // decorator Annotate pos=(94,26) size=516x44 style(Label), font=bold, value = // annotation user_begin: 96 // annotation user: This page selects between the scattered points and the regridded points, // annotation user: and captions the image. // annotation user_end: // 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_Import_1_in_1 = "spreadsheet_scattered.general"; 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_Transmitter_1_out_1 = NULL; main_Receiver_2_out_1 = NULL; main_AutoGrid_1_in_2 = NULL; main_AutoGrid_1_in_3 = NULL; main_AutoGrid_1_in_4 = NULL; main_AutoGrid_1_in_5 = NULL; main_AutoGrid_1_in_6 = NULL; main_AutoGrid_1_out_1 = NULL; main_AutoColor_4_in_2 = NULL; main_AutoColor_4_in_3 = NULL; main_AutoColor_4_in_4 = NULL; main_AutoColor_4_in_5 = NULL; main_AutoColor_4_in_6 = NULL; main_AutoColor_4_in_7 = NULL; main_AutoColor_4_in_8 = NULL; main_AutoColor_4_in_9 = NULL; main_AutoColor_4_in_10 = NULL; main_AutoColor_4_out_1 = NULL; main_Receiver_1_out_1 = NULL; main_AutoGlyph_1_in_2 = NULL; main_AutoGlyph_1_in_3 = NULL; main_AutoGlyph_1_in_4 = NULL; main_AutoGlyph_1_in_5 = NULL; main_AutoGlyph_1_in_6 = NULL; main_AutoGlyph_1_in_7 = NULL; main_AutoGlyph_1_out_1 = NULL; main_AutoColor_5_in_2 = NULL; main_AutoColor_5_in_3 = NULL; main_AutoColor_5_in_4 = NULL; main_AutoColor_5_in_5 = NULL; main_AutoColor_5_in_6 = NULL; main_AutoColor_5_in_7 = NULL; main_AutoColor_5_in_8 = NULL; main_AutoColor_5_in_9 = NULL; main_AutoColor_5_in_10 = NULL; main_AutoColor_5_out_1 = NULL; main_AutoGlyph_6_in_2 = NULL; main_AutoGlyph_6_in_3 = NULL; main_AutoGlyph_6_in_4 = .2; main_AutoGlyph_6_in_5 = 1.00000; main_AutoGlyph_6_in_6 = NULL; main_AutoGlyph_6_in_7 = NULL; main_AutoGlyph_6_out_1 = NULL; main_Selector_2_in_1 = "Selector_2"; main_Selector_2_in_2 = "using AutoGrid module" ; main_Selector_2_in_3 = 2 ; main_Selector_2_in_4 = NULL; main_Selector_2_in_5 = NULL; main_Selector_2_in_6 = NULL; main_Selector_2_in_7 = NULL; main_Selector_2_out_1 = 2 ; main_Selector_2_out_2 = "using AutoGrid module" ; main_Caption_2_in_2 = NULL; main_Caption_2_in_3 = NULL; main_Caption_2_in_4 = NULL; main_Caption_2_in_5 = NULL; main_Caption_2_in_6 = 20; main_Caption_2_in_7 = "roman_tser"; main_Caption_2_in_8 = NULL; main_Caption_2_in_9 = NULL; main_Caption_2_out_1 = NULL; main_Color_6_in_2 = "magenta"; main_Color_6_in_3 = NULL; main_Color_6_in_4 = NULL; main_Color_6_in_5 = NULL; main_Color_6_out_1 = NULL; main_ShowConnections_2_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_3_out_1 = NULL; main_Transmitter_2_out_1 = NULL; main_Receiver_3_out_1 = NULL; main_Transmitter_3_out_1 = NULL; main_Receiver_4_out_1 = NULL; main_Switch_2_out_1 = NULL; main_Collect_5_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_3_in_1 = "Image_3"; main_Image_3_in_3 = "X24,,"; main_Image_3_in_4 = 1; main_Image_3_in_5 = [1.98004 3.82937 0]; main_Image_3_in_6 = [1.98004 3.82937 9.40394]; main_Image_3_in_7 = 5.03957; main_Image_3_in_8 = 348; main_Image_3_in_9 = 1.234; main_Image_3_in_10 = [0 1 0]; main_Image_3_in_11 = NULL; main_Image_3_in_12 = 0; 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_21 = 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 = NULL; 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();