// // time: Tue Apr 8 11:48:06 1997 // // version: 3.1.1 (format), 3.1.4 (DX Beta) // // // // macro reference (direct): ClipSurfaceMacro ClipSurfaceMacro.net include "ClipSurfaceMacro.net" // // Begin MDF // MODULE ClipVolumeMacro // CATEGORY Macros // DESCRIPTION clips a surface against a plane and closes it // INPUT surface; field; (none); surface field // INPUT volume; object; (none); volume field // INPUT point; value list or field or string or string list; (none); point of plane // INPUT normal; value list or field or string or string list; (none); normal of plane // OUTPUT output_1; object; // End MDF // // comment: Given a surface and the volume from which it was generated, clips the surface against a given plane, and closes the result. // page assignment: cap order=4, windowed=0, showing=0 // page assignment: clipCap order=5, windowed=0, showing=0 // page assignment: main order=6, windowed=0, showing=1 // page assignment: plane order=2, windowed=0, showing=0 // page assignment: surfaceInfo order=3, windowed=0, showing=0 // workspace: width = 822, height = 613 // layout: snap = 0, width = 50, height = 50, align = NN // macro ClipVolumeMacro( surface ,volume ,point ,normal ) -> ( output_1 ) { // // node Input[1]: x = 7, y = 10, inputs = 0, label = Input // page group: main // parameter: position = 1, name = 'surface', value = ' ', descriptive = 0, description = ' surface field', required = 1, visible = 1 // ClipVolumeMacro_Input_1_out_1 = surface; // // node Transmitter[7]: x = 82, y = 58, inputs = 1, label = Surface // page group: main // Surface = ClipVolumeMacro_Input_1_out_1; // // node Receiver[5]: x = 242, y = 10, inputs = 1, label = Surface // page group: surfaceInfo // ClipVolumeMacro_Receiver_5_out_1[cache: 0] = Surface; // // node Inquire[2]: x = 0, y = 118, inputs = 3, label = Inquire // input[2]: defaulting = 0, visible = 1, type = 32, value = "has attribute" // input[3]: defaulting = 0, visible = 1, type = 32, value = "Isosurface value" // page group: surfaceInfo // ClipVolumeMacro_Inquire_2_out_1 = Inquire( ClipVolumeMacro_Receiver_5_out_1, "has attribute", "Isosurface value" ) [instance: 2, cache: 1]; // // node Route[3]: x = 90, y = 178, inputs = 2, outputs = 2, label = Route // page group: surfaceInfo // ClipVolumeMacro_Route_3_out_1, ClipVolumeMacro_Route_3_out_2 = Route( ClipVolumeMacro_Inquire_2_out_1, ClipVolumeMacro_Receiver_5_out_1 ) [instance: 3, cache: 1]; // // node Attribute[2]: x = 83, y = 268, inputs = 2, label = Attribute // input[2]: defaulting = 0, visible = 1, type = 32, value = "Isosurface value" // page group: surfaceInfo // ClipVolumeMacro_Attribute_2_out_1 = Attribute( ClipVolumeMacro_Route_3_out_1, "Isosurface value" ) [instance: 2, cache: 1]; // // node Inquire[3]: x = 422, y = 113, inputs = 3, label = Inquire // input[2]: defaulting = 0, visible = 1, type = 32, value = "has attribute" // input[3]: defaulting = 0, visible = 1, type = 32, value = "ClipVolume planes" // page group: surfaceInfo // ClipVolumeMacro_Inquire_3_out_1 = Inquire( ClipVolumeMacro_Receiver_5_out_1, "has attribute", "ClipVolume planes" ) [instance: 3, cache: 1]; // // node Route[4]: x = 517, y = 119, inputs = 2, outputs = 2, label = Route // page group: surfaceInfo // ClipVolumeMacro_Route_4_out_1, ClipVolumeMacro_Route_4_out_2 = Route( ClipVolumeMacro_Inquire_3_out_1, ClipVolumeMacro_Receiver_5_out_1 ) [instance: 4, cache: 1]; // // node Attribute[3]: x = 541, y = 195, inputs = 2, label = Attribute // input[2]: defaulting = 0, visible = 1, type = 32, value = "ClipVolume planes" // page group: surfaceInfo // ClipVolumeMacro_Attribute_3_out_1 = Attribute( ClipVolumeMacro_Route_4_out_1, "ClipVolume planes" ) [instance: 3, cache: 1]; // // node Attribute[4]: x = 296, y = 142, inputs = 2, label = Attribute // input[2]: defaulting = 0, visible = 1, type = 32, value = "CappedIsosurface capDir" // page group: surfaceInfo // ClipVolumeMacro_Attribute_4_out_1 = Attribute( ClipVolumeMacro_Receiver_5_out_1, "CappedIsosurface capDir" ) [instance: 4, cache: 1]; // // node Input[2]: x = 183, y = 16, inputs = 0, label = Input // page group: main // parameter: position = 2, name = 'volume', value = ' ', descriptive = 0, description = 'volume field', required = 1, visible = 1 // ClipVolumeMacro_Input_2_out_1 = volume; // // node Transmitter[5]: x = 174, y = 101, inputs = 1, label = Volume // page group: main // Volume = ClipVolumeMacro_Input_2_out_1; // // node Receiver[4]: x = 4, y = 0, inputs = 1, label = Volume // page group: cap // ClipVolumeMacro_Receiver_4_out_1[cache: 0] = Volume; // // node Input[3]: x = 38, y = 20, inputs = 0, label = Input // page group: plane // parameter: position = 3, name = 'point', value = ' ', descriptive = 0, description = ' point of plane', required = 1, visible = 1 // ClipVolumeMacro_Input_3_out_1 = point; // // node Transmitter[2]: x = 20, y = 109, inputs = 1, label = Point // page group: plane // Point = ClipVolumeMacro_Input_3_out_1; // // node Receiver[2]: x = 73, y = 0, inputs = 1, label = Point // page group: cap // ClipVolumeMacro_Receiver_2_out_1[cache: 0] = Point; // // node Input[4]: x = 142, y = 27, inputs = 0, label = Input // page group: plane // parameter: position = 4, name = 'normal', value = ' ', descriptive = 0, description = ' normal of plane', required = 1, visible = 1 // ClipVolumeMacro_Input_4_out_1 = normal; // // node Transmitter[3]: x = 195, y = 117, inputs = 1, label = Normal // page group: plane // Normal = ClipVolumeMacro_Input_4_out_1; // // node Receiver[3]: x = 105, y = 68, inputs = 1, label = Normal // page group: cap // ClipVolumeMacro_Receiver_3_out_1[cache: 0] = Normal; // // node MapToPlane[1]: x = 0, y = 124, inputs = 3, label = MapToPlane // page group: cap // ClipVolumeMacro_MapToPlane_1_out_1 = MapToPlane( ClipVolumeMacro_Receiver_4_out_1, ClipVolumeMacro_Receiver_2_out_1, ClipVolumeMacro_Receiver_3_out_1 ) [instance: 1, cache: 1]; // // node Transmitter[9]: x = 99, y = 354, inputs = 1, label = isoval // page group: surfaceInfo // isoval = ClipVolumeMacro_Attribute_2_out_1; // // node Receiver[11]: x = 353, y = 194, inputs = 1, label = isoval // page group: cap // ClipVolumeMacro_Receiver_11_out_1[cache: 0] = isoval; // // node Band[3]: x = 202, y = 221, inputs = 4, label = Band // input[4]: defaulting = 0, visible = 1, type = 32, value = "original" // page group: cap // ClipVolumeMacro_Band_3_out_1 = Band( ClipVolumeMacro_MapToPlane_1_out_1, ClipVolumeMacro_Receiver_11_out_1, NULL, "original" ) [instance: 3, cache: 1]; // // node Compute[2]: x = 81, y = 131, inputs = 3, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "[$1.x,$1.y,$1.z,-($0.x*$1.x + $0.y*$1.y + $0.z*$1.z)]" // page group: plane // expression: value = [b.x,b.y,b.z,-(a.x*b.x + a.y*b.y + a.z*b.z)] // name[2]: value = a // name[3]: value = b // ClipVolumeMacro_Compute_2_out_1 = Compute( "[$1.x,$1.y,$1.z,-($0.x*$1.x + $0.y*$1.y + $0.z*$1.z)]", ClipVolumeMacro_Input_3_out_1, ClipVolumeMacro_Input_4_out_1 ) [instance: 2, cache: 1]; // // node Transmitter[6]: x = 77, y = 232, inputs = 1, label = plane // page group: plane // plane = ClipVolumeMacro_Compute_2_out_1; // // node Receiver[13]: x = 118, y = 166, inputs = 1, label = plane // page group: main // ClipVolumeMacro_Receiver_13_out_1[cache: 0] = plane; // // node ClipSurfaceMacro[2]: x = 30, y = 258, inputs = 2, label = ClipSurfaceMacro // page group: main // ClipVolumeMacro_ClipSurfaceMacro_2_out_1 = ClipSurfaceMacro( ClipVolumeMacro_Input_1_out_1, ClipVolumeMacro_Receiver_13_out_1 ) [instance: 2, cache: 1]; // // node Transmitter[8]: x = 6, y = 344, inputs = 1, label = isIso // page group: surfaceInfo // isIso = ClipVolumeMacro_Inquire_2_out_1; // // node Receiver[10]: x = 16, y = 196, inputs = 1, label = isIso // page group: cap // ClipVolumeMacro_Receiver_10_out_1[cache: 0] = isIso; // // node Compute[7]: x = 17, y = 305, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0+1" // page group: cap // expression: value = a+1 // name[2]: value = a // ClipVolumeMacro_Compute_7_out_1 = Compute( "$0+1", ClipVolumeMacro_Receiver_10_out_1 ) [instance: 7, cache: 1]; // // node Inquire[4]: x = 190, y = 143, inputs = 3, label = Inquire // input[2]: defaulting = 0, visible = 1, type = 32, value = "has attribute + 1" // input[3]: defaulting = 0, visible = 1, type = 32, value = "CappedIsosurface capDir" // page group: surfaceInfo // ClipVolumeMacro_Inquire_4_out_1 = Inquire( ClipVolumeMacro_Receiver_5_out_1, "has attribute + 1", "CappedIsosurface capDir" ) [instance: 4, cache: 1]; // // node Switch[4]: x = 225, y = 230, inputs = 3, label = Switch // input[2]: defaulting = 0, visible = 1, type = 67108863, value = 1 // page group: surfaceInfo // ClipVolumeMacro_Switch_4_out_1 = Switch( ClipVolumeMacro_Inquire_4_out_1, 1, ClipVolumeMacro_Attribute_4_out_1 ) [instance: 4, cache: 1]; // // node Transmitter[14]: x = 238, y = 326, inputs = 1, label = isoCapDir // page group: surfaceInfo // isoCapDir = ClipVolumeMacro_Switch_4_out_1; // // node Receiver[12]: x = 157, y = 418, inputs = 1, label = isoCapDir // page group: cap // ClipVolumeMacro_Receiver_12_out_1[cache: 0] = isoCapDir; // // node Compute[8]: x = 260, y = 449, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0 == 1 ? 2 : 1" // page group: cap // expression: value = a == 1 ? 2 : 1 // name[2]: value = a // ClipVolumeMacro_Compute_8_out_1 = Compute( "$0 == 1 ? 2 : 1", ClipVolumeMacro_Receiver_12_out_1 ) [instance: 8, cache: 1]; // // node Include[3]: x = 214, y = 339, inputs = 6, label = Include // page group: cap // ClipVolumeMacro_Include_3_out_1 = Include( ClipVolumeMacro_Band_3_out_1, ClipVolumeMacro_Receiver_11_out_1, NULL, NULL, NULL, NULL ) [instance: 3, cache: 1]; // // node Include[4]: x = 377, y = 330, inputs = 6, label = Include // page group: cap // ClipVolumeMacro_Include_4_out_1 = Include( ClipVolumeMacro_Band_3_out_1, NULL, ClipVolumeMacro_Receiver_11_out_1, NULL, NULL, NULL ) [instance: 4, cache: 1]; // // node Switch[6]: x = 373, y = 480, inputs = 3, label = Switch // page group: cap // ClipVolumeMacro_Switch_6_out_1 = Switch( ClipVolumeMacro_Compute_8_out_1, ClipVolumeMacro_Include_3_out_1, ClipVolumeMacro_Include_4_out_1 ) [instance: 6, cache: 1]; // // node Switch[7]: x = 69, y = 497, inputs = 3, label = Switch // page group: cap // ClipVolumeMacro_Switch_7_out_1 = Switch( ClipVolumeMacro_Compute_7_out_1, ClipVolumeMacro_MapToPlane_1_out_1, ClipVolumeMacro_Switch_6_out_1 ) [instance: 7, cache: 1]; // // node Transmitter[15]: x = 163, y = 551, inputs = 1, label = cap // page group: cap // cap = ClipVolumeMacro_Switch_7_out_1; // // node Receiver[15]: x = 111, y = 63, inputs = 1, label = cap // page group: clipCap // ClipVolumeMacro_Receiver_15_out_1[cache: 0] = cap; // // node GetLocal[1]: x = 251, y = 90, inputs = 3, label = GetLocal // page group: clipCap // ClipVolumeMacro_GetLocal_1_out_1, ClipVolumeMacro_GetLocal_1_out_2 = GetLocal( ClipVolumeMacro_Receiver_15_out_1, NULL, NULL ) [instance: 1, cache: 1]; // // node Transmitter[11]: x = 531, y = 316, inputs = 1, label = inputPlanes // page group: surfaceInfo // inputPlanes = ClipVolumeMacro_Attribute_3_out_1; // // node Receiver[14]: x = 379, y = 48, inputs = 1, label = inputPlanes // page group: clipCap // ClipVolumeMacro_Receiver_14_out_1[cache: 0] = inputPlanes; // // node ForEachMember[1]: x = 375, y = 135, inputs = 1, label = ForEachMember // page group: clipCap // ClipVolumeMacro_ForEachMember_1_out_1, ClipVolumeMacro_ForEachMember_1_out_2, ClipVolumeMacro_ForEachMember_1_out_3 = ForEachMember( ClipVolumeMacro_Receiver_14_out_1 ) [instance: 1, cache: 1]; // // node ClipSurfaceMacro[3]: x = 220, y = 202, inputs = 2, label = ClipSurfaceMacro // page group: clipCap // ClipVolumeMacro_ClipSurfaceMacro_3_out_1 = ClipSurfaceMacro( ClipVolumeMacro_GetLocal_1_out_1, ClipVolumeMacro_ForEachMember_1_out_1 ) [instance: 3, cache: 1]; // // node Transmitter[10]: x = 405, y = 205, inputs = 1, label = hasInputPlanes // page group: surfaceInfo // hasInputPlanes = ClipVolumeMacro_Inquire_3_out_1; // // node Receiver[21]: x = 0, y = 272, inputs = 1, label = hasInputPlanes // page group: clipCap // ClipVolumeMacro_Receiver_21_out_1[cache: 0] = hasInputPlanes; // // node Compute[10]: x = 3, y = 375, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0+1" // page group: clipCap // expression: value = a+1 // name[2]: value = a // ClipVolumeMacro_Compute_10_out_1 = Compute( "$0+1", ClipVolumeMacro_Receiver_21_out_1 ) [instance: 10, cache: 1]; // // node Transmitter[16]: x = 440, y = 219, inputs = 1, label = loopDone // page group: clipCap // loopDone = ClipVolumeMacro_ForEachMember_1_out_3; // // node Receiver[22]: x = 192, y = 311, inputs = 1, label = loopDone // page group: clipCap // ClipVolumeMacro_Receiver_22_out_1[cache: 0] = loopDone; // // node Route[2]: x = 279, y = 363, inputs = 2, outputs = 2, label = Route // page group: clipCap // ClipVolumeMacro_Route_2_out_1, ClipVolumeMacro_Route_2_out_2 = Route( ClipVolumeMacro_Receiver_22_out_1, ClipVolumeMacro_ClipSurfaceMacro_3_out_1 ) [instance: 2, cache: 1]; // // node Switch[9]: x = 140, y = 421, inputs = 3, label = Switch // page group: clipCap // ClipVolumeMacro_Switch_9_out_1 = Switch( ClipVolumeMacro_Compute_10_out_1, ClipVolumeMacro_Receiver_15_out_1, ClipVolumeMacro_Route_2_out_1 ) [instance: 9, cache: 1]; // // node Transmitter[17]: x = 145, y = 519, inputs = 1, label = clippedCap // page group: clipCap // clippedCap = ClipVolumeMacro_Switch_9_out_1; // // node Receiver[23]: x = 239, y = 247, inputs = 1, label = clippedCap // page group: main // ClipVolumeMacro_Receiver_23_out_1[cache: 0] = clippedCap; // // node Collect[3]: x = 163, y = 360, inputs = 2, label = Collect // page group: main // ClipVolumeMacro_Collect_3_out_1 = Collect( ClipVolumeMacro_ClipSurfaceMacro_2_out_1, ClipVolumeMacro_Receiver_23_out_1 ) [instance: 3, cache: 1]; // // node Receiver[7]: x = 201, y = 286, inputs = 1, label = hasInputPlanes // page group: plane // ClipVolumeMacro_Receiver_7_out_1[cache: 0] = hasInputPlanes; // // node Compute[5]: x = 221, y = 381, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0+1" // page group: plane // expression: value = a+1 // name[2]: value = a // ClipVolumeMacro_Compute_5_out_1 = Compute( "$0+1", ClipVolumeMacro_Receiver_7_out_1 ) [instance: 5, cache: 1]; // // node Receiver[18]: x = 24, y = 414, inputs = 1, label = isIso // page group: main // ClipVolumeMacro_Receiver_18_out_1[cache: 0] = isIso; // // node Compute[9]: x = 46, y = 507, inputs = 2, label = Compute // input[1]: defaulting = 0, visible = 0, type = 32, value = "$0+1" // page group: main // expression: value = a+1 // name[2]: value = a // ClipVolumeMacro_Compute_9_out_1 = Compute( "$0+1", ClipVolumeMacro_Receiver_18_out_1 ) [instance: 9, cache: 1]; // // node Receiver[6]: x = 413, y = 280, inputs = 1, label = inputPlanes // page group: plane // ClipVolumeMacro_Receiver_6_out_1[cache: 0] = inputPlanes; // // node Receiver[8]: x = 352, y = 327, inputs = 1, label = plane // page group: plane // ClipVolumeMacro_Receiver_8_out_1[cache: 0] = plane; // // node List[1]: x = 439, y = 395, inputs = 2, label = List // page group: plane // ClipVolumeMacro_List_1_out_1 = List( ClipVolumeMacro_Receiver_6_out_1, ClipVolumeMacro_Receiver_8_out_1 ) [instance: 1, cache: 1]; // // node Switch[3]: x = 338, y = 460, inputs = 3, label = Switch // page group: plane // ClipVolumeMacro_Switch_3_out_1 = Switch( ClipVolumeMacro_Compute_5_out_1, ClipVolumeMacro_Receiver_8_out_1, ClipVolumeMacro_List_1_out_1 ) [instance: 3, cache: 1]; // // node Transmitter[12]: x = 353, y = 541, inputs = 1, label = planeList // page group: plane // planeList = ClipVolumeMacro_Switch_3_out_1; // // node Receiver[17]: x = 237, y = 388, inputs = 1, label = planeList // page group: main // ClipVolumeMacro_Receiver_17_out_1[cache: 0] = planeList; // // node Options[2]: x = 151, y = 457, inputs = 3, label = Options // input[2]: defaulting = 0, visible = 1, type = 32, value = "ClipVolume planes" // page group: main // ClipVolumeMacro_Options_2_out_1 = Options( ClipVolumeMacro_Collect_3_out_1, "ClipVolume planes", ClipVolumeMacro_Receiver_17_out_1 ) [instance: 2, cache: 1]; // // node Receiver[19]: x = 349, y = 387, inputs = 1, label = isoval // page group: main // ClipVolumeMacro_Receiver_19_out_1[cache: 0] = isoval; // // node Receiver[20]: x = 406, y = 391, inputs = 1, label = isoCapDir // page group: main // ClipVolumeMacro_Receiver_20_out_1[cache: 0] = isoCapDir; // // node Options[3]: x = 259, y = 524, inputs = 5, label = Options // input[2]: defaulting = 0, visible = 1, type = 32, value = "Isosurface value" // input[4]: defaulting = 0, visible = 1, type = 32, value = "CappedIsosurface capClip" // page group: main // ClipVolumeMacro_Options_3_out_1 = Options( ClipVolumeMacro_Options_2_out_1, "Isosurface value", ClipVolumeMacro_Receiver_19_out_1, "CappedIsosurface capClip", ClipVolumeMacro_Receiver_20_out_1 ) [instance: 3, cache: 1]; // // node Switch[8]: x = 153, y = 541, inputs = 3, label = Switch // page group: main // ClipVolumeMacro_Switch_8_out_1 = Switch( ClipVolumeMacro_Compute_9_out_1, ClipVolumeMacro_Options_2_out_1, ClipVolumeMacro_Options_3_out_1 ) [instance: 8, cache: 1]; // // node Output[1]: x = 422, y = 551, inputs = 1, label = Output // page group: main // parameter: position = 1, name = 'output_1', value = ' ', descriptive = 0, description = ' ', required = 0, visible = 1 // output_1 = ClipVolumeMacro_Switch_8_out_1; // // node SetLocal[1]: x = 313, y = 283, inputs = 3, label = SetLocal // page group: clipCap // SetLocal( ClipVolumeMacro_ClipSurfaceMacro_3_out_1, ClipVolumeMacro_GetLocal_1_out_2, NULL ) [instance: 1, cache: 1]; // // decorator Annotate pos=(242,22) size=532x172 style(Label), value = // annotation user_begin: 671 // annotation user: Given a surface and the volume from which it was generated, this // annotation user: macro clips the surface against a given plane, and closes the result // annotation user: by generating the intersection of the volume with the plane (MapToPlane) // annotation user: and clipping it against any previous clipping planes. In this manner the // annotation user: ShowBoundary of the volume can be clipped away, revealing an interior // annotation user: slice. If the input surface is derived from ClippedIsosurface (and thus has // annotation user: both Isosurface value and CappedIsosurface capDir attributes) the mapped // annotation user: planar intersection is clipped at the isovalue and the one part or the other // annotation user: is disarded. In this manner we can slice away a closed isosurface to reveal // annotation user: its interior. // annotation user_end: // page group: main // // decorator Annotate pos=(176,214) size=471x44 style(Label), value = // annotation user_begin: 116 // annotation user: Create a planar equation from a point/normal form. Append this to // annotation user: the list of prior clipping planes, if one exists. // annotation user_end: // page group: plane // // decorator Annotate pos=(74,451) size=472x60 style(Label), value = // annotation user_begin: 155 // annotation user: Extract information from the input surface - is it an isosurface, and // annotation user: if so, what value? Were there earlier clipping planes? Was it a // annotation user: capped isosurface? // annotation user_end: // page group: surfaceInfo // // decorator Annotate pos=(171,20) size=453x44 style(Label), value = // annotation user_begin: 104 // annotation user: Generate the cap in the clipping plane, dividing it if the surfaces // annotation user: were derived from a CappedIsosurface // annotation user_end: // page group: cap // // decorator Annotate pos=(244,455) size=477x60 style(Label), value = // annotation user_begin: 166 // annotation user: If there were previous clipping planes, we need to apply then to the // annotation user: cap we are generating in this clipping plane. We do this by looping // annotation user: on the list of prior planes. // annotation user_end: // page group: clipCap // // decorator Annotate pos=(497,449) size=325x92 style(Label), value = // annotation user_begin: 193 // annotation user: Add the updated list of clipping planes as the // annotation user: ClipVolume planes attribute. If we were // annotation user: operating on a result of isosurface, add the // annotation user: Isosurface isovalue and CappedIsosurface // annotation user: capDir attributes. // annotation user_end: // page group: main // network: end of macro body } ClipVolumeMacro_Input_1_out_1 = NULL; ClipVolumeMacro_Transmitter_7_out_1 = NULL; ClipVolumeMacro_Receiver_5_out_1 = NULL; ClipVolumeMacro_Inquire_2_out_1 = NULL; ClipVolumeMacro_Route_3_out_1 = NULL; ClipVolumeMacro_Attribute_2_out_1 = NULL; ClipVolumeMacro_Inquire_3_out_1 = NULL; ClipVolumeMacro_Route_4_out_1 = NULL; ClipVolumeMacro_Attribute_3_out_1 = NULL; ClipVolumeMacro_Attribute_4_out_1 = NULL; ClipVolumeMacro_Input_2_out_1 = NULL; ClipVolumeMacro_Transmitter_5_out_1 = NULL; ClipVolumeMacro_Receiver_4_out_1 = NULL; ClipVolumeMacro_Input_3_out_1 = NULL; ClipVolumeMacro_Transmitter_2_out_1 = NULL; ClipVolumeMacro_Receiver_2_out_1 = NULL; ClipVolumeMacro_Input_4_out_1 = NULL; ClipVolumeMacro_Transmitter_3_out_1 = NULL; ClipVolumeMacro_Receiver_3_out_1 = NULL; ClipVolumeMacro_MapToPlane_1_out_1 = NULL; ClipVolumeMacro_Transmitter_9_out_1 = NULL; ClipVolumeMacro_Receiver_11_out_1 = NULL; ClipVolumeMacro_Band_3_out_1 = NULL; ClipVolumeMacro_Compute_2_out_1 = NULL; ClipVolumeMacro_Transmitter_6_out_1 = NULL; ClipVolumeMacro_Receiver_13_out_1 = NULL; ClipVolumeMacro_ClipSurfaceMacro_2_out_1 = NULL; ClipVolumeMacro_Transmitter_8_out_1 = NULL; ClipVolumeMacro_Receiver_10_out_1 = NULL; ClipVolumeMacro_Compute_7_out_1 = NULL; ClipVolumeMacro_Inquire_4_out_1 = NULL; ClipVolumeMacro_Switch_4_out_1 = NULL; ClipVolumeMacro_Transmitter_14_out_1 = NULL; ClipVolumeMacro_Receiver_12_out_1 = NULL; ClipVolumeMacro_Compute_8_out_1 = NULL; ClipVolumeMacro_Include_3_out_1 = NULL; ClipVolumeMacro_Include_4_out_1 = NULL; ClipVolumeMacro_Switch_6_out_1 = NULL; ClipVolumeMacro_Switch_7_out_1 = NULL; ClipVolumeMacro_Transmitter_15_out_1 = NULL; ClipVolumeMacro_Receiver_15_out_1 = NULL; ClipVolumeMacro_GetLocal_1_out_1 = NULL; ClipVolumeMacro_GetLocal_1_out_2 = NULL; ClipVolumeMacro_Transmitter_11_out_1 = NULL; ClipVolumeMacro_Receiver_14_out_1 = NULL; ClipVolumeMacro_ForEachMember_1_out_1 = NULL; ClipVolumeMacro_ForEachMember_1_out_3 = NULL; ClipVolumeMacro_ClipSurfaceMacro_3_out_1 = NULL; ClipVolumeMacro_Transmitter_10_out_1 = NULL; ClipVolumeMacro_Receiver_21_out_1 = NULL; ClipVolumeMacro_Compute_10_out_1 = NULL; ClipVolumeMacro_Transmitter_16_out_1 = NULL; ClipVolumeMacro_Receiver_22_out_1 = NULL; ClipVolumeMacro_Route_2_out_1 = NULL; ClipVolumeMacro_Switch_9_out_1 = NULL; ClipVolumeMacro_Transmitter_17_out_1 = NULL; ClipVolumeMacro_Receiver_23_out_1 = NULL; ClipVolumeMacro_Collect_3_out_1 = NULL; ClipVolumeMacro_Receiver_7_out_1 = NULL; ClipVolumeMacro_Compute_5_out_1 = NULL; ClipVolumeMacro_Receiver_18_out_1 = NULL; ClipVolumeMacro_Compute_9_out_1 = NULL; ClipVolumeMacro_Receiver_6_out_1 = NULL; ClipVolumeMacro_Receiver_8_out_1 = NULL; ClipVolumeMacro_List_1_out_1 = NULL; ClipVolumeMacro_Switch_3_out_1 = NULL; ClipVolumeMacro_Transmitter_12_out_1 = NULL; ClipVolumeMacro_Receiver_17_out_1 = NULL; ClipVolumeMacro_Options_2_out_1 = NULL; ClipVolumeMacro_Receiver_19_out_1 = NULL; ClipVolumeMacro_Receiver_20_out_1 = NULL; ClipVolumeMacro_Options_3_out_1 = NULL; ClipVolumeMacro_Switch_8_out_1 = NULL;