Ignore:
Timestamp:
Jan 4, 2015 6:52:23 PM (9 years ago)
Author:
gah
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/r9/gui/scripts/drawing.tcl

    r4002 r4919  
    11# -*- mode: tcl; indent-tabs-mode: nil -*-
    2 
    3 # ----------------------------------------------------------------------
    4 #  COMPONENT: drawing - 2D drawing of data
     2# ----------------------------------------------------------------------
     3#  COMPONENT: drawing - 3D drawing of data
    54# ======================================================================
    65#  AUTHOR:  Michael McLennan, Purdue University
     
    2019    private variable _drawing
    2120    private variable _xmlobj
    22     private variable _actors
    2321    private variable _styles
    2422    private variable _shapes
     
    2826    private variable _hints
    2927    private variable _units
    30     private variable _limits
    3128
    3229    constructor {xmlobj path} {
     
    3633        # defined below
    3734    }
    38     public method limits {axis}
     35
    3936    public method label { elem }
    4037    public method type { elem }
     
    6360        set xunits "um"
    6461    }
    65     array set _limits {
    66         xMin 0
    67         xMax 0
    68         yMin 0
    69         yMax 0
    70         zMin 0
    71         zMax 0
    72     }
    7362    # determine the overall size of the device
    7463    foreach elem [$_xmlobj children $path] {
    7564        switch -glob -- $elem {
    76             polygon* {
    77                 set _data($elem) [$_xmlobj get $path.$elem.vtk]
    78                 set _data($elem) [string trim $_data($elem)]
    79                 set _styles($elem) [$_xmlobj get $path.$elem.about.style]
    80                 set _labels($elem) [$_xmlobj get $path.$elem.about.label]
    81                 set _types($elem) polydata
    82             }
    83             polydata* {
     65            # polygon is deprecated in favor of polydata
     66            polygon* - polydata* {
    8467                set _data($elem) [$_xmlobj get $path.$elem.vtk]
    8568                set _data($elem) [string trim $_data($elem)]
     
    8770                set _labels($elem) [$_xmlobj get $path.$elem.about.label]
    8871                set _types($elem) polydata
    89             }
    90             streamlines* {
    91                 set _data($elem) [$_xmlobj get $path.$elem.vtk]
    92                 set _data($elem) [string trim $_data($elem)]
    93                 set _styles($elem) [$_xmlobj get $path.$elem.about.style]
    94                 set _labels($elem) [$_xmlobj get $path.$elem.about.label]
    95                 set _types($elem) streamlines
    9672            }
    9773            glyphs* {
     
    250226
    251227# ----------------------------------------------------------------------
    252 # method limits <axis>
    253 #       Returns a list {min max} representing the limits for the
    254 #       specified axis.
    255 # ----------------------------------------------------------------------
    256 itcl::body Rappture::Drawing::limits {which} {
    257     set min ""
    258     set max ""
    259     foreach key [array names _data] {
    260         set actor $_actors($key)
    261         foreach key { xMin xMax yMin yMax zMin zMax} value [$actor GetBounds] {
    262             set _limits($key) $value
    263         }
    264         break
    265     }   
    266    
    267     foreach key [array names _actors] {
    268         set actor $_actors($key)
    269         foreach { xMin xMax yMin yMax zMin zMax} [$actor GetBounds] break
    270         if { $xMin < $_limits(xMin) } {
    271             set _limits(xMin) $xMin
    272         }
    273         if { $xMax > $_limits(xMax) } {
    274             set _limits(xMax) $xMax
    275         }
    276         if { $yMin < $_limits(yMin) } {
    277             set _limits(yMin) $yMin
    278         }
    279         if { $yMax > $_limits(yMax) } {
    280             set _limits(yMax) $yMax
    281         }
    282         if { $zMin < $_limits(zMin) } {
    283             set _limits(zMin) $zMin
    284         }
    285         if { $zMax > $_limits(zMax) } {
    286             set _limits(zMax) $zMax
    287         }
    288     }
    289     switch -- $which {
    290         x {
    291             set min $_limits(xMin)
    292             set max $_limits(xMax)
    293             set axis "xaxis"
    294         }
    295         y {
    296             set min $_limits(yMin)
    297             set max $_limits(yMax)
    298             set axis "yaxis"
    299         }
    300         v - z {
    301             set min $_limits(zMin)
    302             set max $_limits(zMax)
    303             set axis "zaxis"
    304         }
    305         default {
    306             error "unknown axis description \"$which\""
    307         }
    308     }
    309     return [list $min $max]
    310 }
    311 
    312 # ----------------------------------------------------------------------
    313228# USAGE: hints ?<keyword>?
    314229#
     
    340255    return [array get _hints]
    341256}
    342 
Note: See TracChangeset for help on using the changeset viewer.