# # Copyright 2004 (c) Pointwise, Inc. # All rights reserved. # # This sample Gridgen script is not supported by Pointwise, Inc. # It is provided freely for demonstration purposes only. # SEE THE WARRANTY DISCLAIMER AT THE BOTTOM OF THIS FILE. # ###################################################################### # Gridgen Glf Script to merge non-edge-matched domains # 07 Oct 04 # 25 Jul 05 - added catch to gg::domReport, and corrected typo ###################################################################### # Split domain if more than one connector on an edge set madeSplit 1 while { $madeSplit == 1 } { set madeSplit 0 # Split connectors at nodes gg::conMerge [gg::tolNode] set allDoms [gg::domGetAll] foreach dom $allDoms { if {[catch {gg::domReport $dom diag STRUCTURE}]} { continue } if { $diag(type) != "STRUCTURED" } { continue } set iDim [lindex $diag(dimensions) 0] set jDim [lindex $diag(dimensions) 1] # edge 1 set edgeCons [lindex [gg::domGetEdge $dom 1] 0] if { [llength $edgeCons] > 1 } { gg::domSplit $dom -i [gg::conDim [lindex $edgeCons 0]] set madeSplit 1 continue } # edge 2 set edgeCons [lindex [gg::domGetEdge $dom 2] 0] if { [llength $edgeCons] > 1 } { gg::domSplit $dom -j [gg::conDim [lindex $edgeCons 0]] set madeSplit 1 continue } # edge 3 set edgeCons [lindex [gg::domGetEdge $dom 3] 0] if { [llength $edgeCons] > 1 } { gg::domSplit $dom -i \ [expr { $iDim + 1 - [gg::conDim [lindex $edgeCons 0]] } ] set madeSplit 1 continue } # edge 4 set edgeCons [lindex [gg::domGetEdge $dom 4] 0] if { [llength $edgeCons] > 1 } { gg::domSplit $dom -j \ [expr { $jDim + 1 - [gg::conDim [lindex $edgeCons 0]] } ] set madeSplit 1 continue } } } # # DISCLAIMER: # TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, POINTWISE DISCLAIMS # ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED # TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE, WITH REGARD TO THIS SCRIPT. TO THE MAXIMUM EXTENT PERMITTED BY # APPLICABLE LAW, IN NO EVENT SHALL POINTWISE BE LIABLE TO ANY PARTY FOR # ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER # (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS # INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR # INABILITY TO USE THIS SCRIPT EVEN IF POINTWISE HAS BEEN ADVISED OF THE # POSSIBILITY OF SUCH DAMAGES AND REGARDLESS OF THE FAULT OR NEGLIGENCE OF # POINTWISE. #