Changeset 6097


Ignore:
Timestamp:
Mar 3, 2016, 7:34:29 PM (9 years ago)
Author:
ldelgass
Message:

add validation for camera settings

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/gui/scripts/map.tcl

    r6096 r6097  
    501501
    502502itcl::body Rappture::Map::setCamera { camera } {
     503    if {$camera != "" && [llength $camera] % 2 != 0} {
     504        error "Bad camera settings, must be key/value pairs"
     505    }
     506    array set caminfo $camera
     507    foreach key [array names caminfo] {
     508        set valid 0
     509        foreach validkey {x y z heading pitch distance xmin ymin xmax ymax srs verticalDatum} {
     510            if {$key == $validkey} {
     511                set valid 1
     512                break
     513            }
     514        }
     515        if {!$valid} {
     516            error "Unknown camera setting: $key"
     517        }
     518    }
     519    if {([info exists caminfo(x)] || [info exists caminfo(y)] ||
     520         [info exists caminfo(z)] || [info exists caminfo(distance)]) &&
     521        ([info exists caminfo(xmin)] || [info exists caminfo(xmax)] ||
     522         [info exists caminfo(ymin)] || [info exists caminfo(ymax)])} {
     523        error "Bad camera settings: Cannot set both focal point and extents"
     524    }
    503525    $_tree set root "camera" $camera
    504526}
Note: See TracChangeset for help on using the changeset viewer.