Changeset 3684 for trunk


Ignore:
Timestamp:
Jun 14, 2013 12:22:12 PM (11 years ago)
Author:
gah
Message:

fixes to rlimit for unlimited

Location:
trunk/gui/scripts
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/scripts/Makefile.in

    r3636 r3684  
    131131                $(srcdir)/visviewer.tcl \
    132132                $(srcdir)/vtkviewer.tcl \
     133                $(srcdir)/vtkglyphviewer.tcl \
    133134                $(srcdir)/vtkisosurfaceviewer.tcl \
    134135                $(srcdir)/vtkstreamlinesviewer.tcl \
  • trunk/gui/scripts/field.tcl

    r3594 r3684  
    7575    private variable _field ""
    7676    private variable _comp2fldName ;    # cname => field names.
     77    private variable _comp2type ;       # cname => type (e.g. "vector")
     78    private variable _comp2size ;       # cname => # of components in element
     79    private variable _comp2assoc; # cname => association (e.g. pointdata)
    7780    private variable _fld2Components;   # field name => number of components
    7881    private variable _fld2Label;        # field name => label
     
    9497    public method controls {option args}
    9598    public method extents {{cname -overall}}
     99    public method numComponents {cname}
    96100    public method fieldlimits {}
    97101    public method flowhints { cname }
     
    146150    private common _counter 0    ;# counter for unique vector names
    147151
     152    private method AvsToVtk { cname contents }
    148153    private method BuildPointsOnMesh { cname }
    149154    private method ConvertToVtkData { cname }
     155    private method GetAssociation { cname }
     156    private method GetTypeAndSize { cname }
    150157    private method ReadVtkDataSet { cname contents }
    151158    private method VerifyVtkDataSet { contents }
    152     private method AvsToVtk { cname contents }
    153159    private variable _values ""
    154160}
     
    780786        set _comp2extents($cname) $extents
    781787        set _type $type
     788
     789        GetTypeAndSize $cname
     790        GetAssociation $cname
     791        if { $_comp2size($cname) > 1 } {
     792            set viewer [$_field get "about.view"]
     793            if { $viewer == "" } {
     794                set _viewer "glyphs"
     795            }
     796        }
    782797        if {$type == "1D"} {
    783798            #
     
    10261041itcl::body Rappture::Field::type {} {
    10271042    return $_type
     1043}
     1044
     1045#
     1046# numComponents --
     1047#
     1048# Returns if the number of components in the field component.
     1049#
     1050itcl::body Rappture::Field::numComponents {cname} {
     1051    set name $cname
     1052    regsub -all { } $name {_} name
     1053    if {[info exists _fld2Components($name)] } {
     1054        return $_fld2Components($name)
     1055    }
     1056    return 1;                           # Default to scalar.
    10281057}
    10291058
     
    12561285            set _fld2Units($fname) ""
    12571286            set _fld2Label($fname) $fname
     1287            # Let the VTK file override the <type> designated.
    12581288            set _fld2Components($fname) [$array GetNumberOfComponents]
    12591289            lappend _comp2fldName($cname) $fname
     
    12981328        append out "ASCII\n"
    12991329        append out [$mesh vtkdata]
    1300         append out "POINT_DATA [$vector length]\n"
    1301         append out "SCALARS $label double 1\n"
     1330
     1331        if { $_comp2assoc($cname) == "pointdata" } {
     1332            set vtkassoc "POINT_DATA"
     1333        } elseif { $_comp2assoc($cname) == "celldata" } {
     1334            set vtkassoc "CELL_DATA"
     1335        } elseif { $_comp2assoc($cname) == "fielddata" } {
     1336            set vtkassoc "FIELD_DATA"
     1337        } else {
     1338            error "unknown association \"$_comp2assoc($cname)\""
     1339        }
     1340        set elemSize [numComponents $cname]
     1341        set numValues [expr [$vector length] / $elemSize]
     1342        append out "$vtkassoc $numValues\n"
     1343        if { $_comp2type($cname) == "scalar" } {
     1344            set vtktype "SCALARS"
     1345        } elseif { $_comp2type($cname) == "vector" } {
     1346            set vtktype "VECTORS"
     1347        } else {
     1348            error "unknown element type \"$_comp2type($cname)\""
     1349        }
     1350        append out "$vtktype $label double $elemSize\n"
    13021351        append out "LOOKUP_TABLE default\n"
    13031352        append out "[$vector range 0 end]\n"
     
    13271376        return 0
    13281377    }
    1329     set _viewer [$_field get "about.view"]
     1378    set viewer [$_field get "about.view"]
     1379    if { $viewer != "" } {
     1380        set _viewer $viewer
     1381    }
    13301382    set element [$_xmlobj element -as type $path]
    13311383    set name $cname
     
    13371389    }
    13381390    set _fld2Units($name) [hints zunits]
    1339     set _fld2Components($name) 1
     1391    set _fld2Components($name) $_comp2size($cname)
    13401392    lappend _comp2fldName($cname) $name
    13411393
     
    13441396        # Special case: unirect3d (should be deprecated) + flow.
    13451397        if { [$_field element $cname.extents] != "" } {
    1346             set extents [$_field get $cname.extents]
     1398            set vectorsize [$_field get $cname.extents]
    13471399        } else {
    1348             set extents 1
     1400            set vectorsize 1
    13491401        }
    13501402        set _dim 3
     
    13541406        set _comp2dims($cname) "3D"
    13551407        set _comp2unirect3d($cname) \
    1356             [Rappture::Unirect3d \#auto $_xmlobj $_field $cname $extents]
     1408            [Rappture::Unirect3d \#auto $_xmlobj $_field $cname $vectorsize]
    13571409        set _comp2style($cname) [$_field get $cname.style]
    13581410        if {[$_field element $cname.flow] != ""} {
     
    13661418        # Special case: unirect2d (normally deprecated) + flow.
    13671419        if { [$_field element $cname.extents] != "" } {
    1368             set extents [$_field get $cname.extents]
     1420            set vectorsize [$_field get $cname.extents]
    13691421        } else {
    1370             set extents 1
     1422            set vectorsize 1
    13711423        }
    13721424        set _dim 2
     
    15331585    return $vtkdata
    15341586}
     1587
     1588itcl::body Rappture::Field::GetTypeAndSize { cname } {
     1589    array set type2components {
     1590        "colorscalar"          4
     1591        "scalar"               1
     1592        "tcoord"               2
     1593        "tensor"               9
     1594        "vector"               3
     1595    }
     1596    set type [$_field get $cname.elemtype]
     1597    if { $type == "" } {
     1598        set type "scalar"
     1599    }
     1600    if { ![info exists type2components($type)] } {
     1601        error "unknown <elemtype> \"$type\" in field"
     1602    }
     1603    set size [$_field get $cname.elemsize]
     1604    if { $size == "" } {
     1605        set size $type2components($type)
     1606    }
     1607    set _comp2type($cname) $type
     1608    set _comp2size($cname) $size
     1609}
     1610
     1611itcl::body Rappture::Field::GetAssociation { cname } {
     1612    set assoc [$_field get $cname.association]
     1613    if { $assoc == "" } {
     1614        set _comp2assoc($cname) "pointdata"
     1615        return
     1616    }
     1617    switch -- $assoc {
     1618        "pointdata" - "celldata" - "fielddata" {
     1619            set _comp2assoc($cname) $assoc
     1620            return
     1621        }
     1622        default {
     1623            error "unknown field association \"$assoc\""
     1624        }
     1625    }
     1626}
  • trunk/gui/scripts/field2dresult.tcl

    r3424 r3684  
    6767            set servers [Rappture::VisViewer::GetServerList "nanovis"]
    6868        }
    69         "auto" - "contour" - "heightmap" - "streamlines" - "vtkviewer" {
     69        "auto" - "contour" - "heightmap" - "streamlines" - "vtkviewer" - "glyphs" {
    7070            set servers [Rappture::VisViewer::GetServerList "vtkvis"]
    7171        }
     
    8383                    Rappture::VtkHeightmapViewer $itk_interior.heightmap \
    8484                        $servers -mode $flags(-mode)
     85                }
     86            }
     87            "glyphs" {
     88                itk_component add renderer {
     89                    Rappture::VtkGlyphViewer $itk_interior.glyphs $servers
    8590                }
    8691            }
  • trunk/gui/scripts/field3dresult.tcl

    r3592 r3684  
    5757    array set flags $args
    5858    set servers ""
     59    puts stderr "field3d: args=$args"
    5960    switch -- $flags(-mode) {
    6061        "auto" - "nanovis" - "flowvis" {
    6162            set servers [Rappture::VisViewer::GetServerList "nanovis"]
    6263        }
    63         "isosurface" - "heightmap" - "streamlines" - "vtkviewer" - "vtkvolume" {
     64        "isosurface" - "heightmap" - "streamlines" - "vtkviewer" - "vtkvolume" - "glyphs" {
    6465            set servers [Rappture::VisViewer::GetServerList "vtkvis"]
    6566        }
     
    8182                itk_component add renderer {
    8283                    Rappture::FlowvisViewer $itk_interior.ren $servers
     84                }
     85            }
     86            "glyphs" {
     87                itk_component add renderer {
     88                    Rappture::VtkGlyphViewer $itk_interior.glyphs $servers
    8389                }
    8490            }
  • trunk/gui/scripts/mesh.tcl

    r3582 r3684  
    499499            set _dim 3
    500500            set _numPoints [expr $xNum * $yNum * $zNum]
    501             $all set $points
    502501            if { ($_numPoints*3) != $numCoords } {
    503502                puts stderr "WARNING: bad grid \"$path\": invalid grid: \# of points does not match dimensions <xdim> * <ydim>"
     
    10291028                return 0
    10301029            }
     1030            set all [blt::vector create \#auto]
    10311031            set xv [blt::vector create \#auto]
    10321032            set yv [blt::vector create \#auto]
  • trunk/gui/scripts/tool.tcl

    r3507 r3684  
    172172    } result]
    173173
    174     # set limits for cpu time
     174    # Set limits for cpu time
    175175    set limit [$_xmlobj get tool.limits.cputime]
    176     if {"" == $limit || [catch {Rappture::rlimit set cputime $limit}]} {
    177         Rappture::rlimit set cputime 900  ;# 15 mins by default
    178     }
    179 
     176    if { $limit == "unlimited" } {
     177        set limit 43200;                # 12 hours
     178    } else {
     179        if { [scan $limit "%d" dum] != 1 } {
     180            set limit 900;              # 15 mins by default
     181        } elseif { $limit > 43200 } {
     182            set limit 43200;            # limit to 12 hrs.
     183        } elseif { $limit < 10 } {
     184            set limit 10;               # lower bound is 10 seconds.
     185        }
     186    }
     187    Rappture::rlimit set cputime $limit 
    180188    # execute the tool using the path from the tool description
    181189    if {$status == 0} {
Note: See TracChangeset for help on using the changeset viewer.