Changeset 4329


Ignore:
Timestamp:
Apr 7, 2014 3:54:07 AM (10 years ago)
Author:
ldelgass
Message:

Partial fix for resets: need to set _reset in Connect, otherwise Rebuild was
being called without _reset set after connection was reopened -- not sure why.
Also, clear _layers array on reset. As camera is now set (via 'camera get') by
the server automatically, we need to reset the camera before any image is
returned, so reset the camera before image flush. Need to fix the server to
honor this on first render.

File:
1 edited

Legend:

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

    r4326 r4329  
    756756    global readyForNextFrame
    757757    set readyForNextFrame 1
     758    set _reset 1
    758759    set _hosts [GetServerList "geovis"]
    759760    if { "" == $_hosts } {
     
    816817    VisViewer::Disconnect
    817818
     819    $_dispatcher cancel !rebuild
     820    $_dispatcher cancel !resize
     821    $_dispatcher cancel !rotate
     822    $_dispatcher cancel !motion
    818823    # disconnected -- no more data sitting on server
     824    array unset _layers
    819825    array unset _layersFrame
    820826    global readyForNextFrame
     
    947953                    terrain-vertscale terrain-wireframe
    948954            }
    949             SendCmd "imgflush"
    950         }
     955        } else {
     956            error "No map settings on reset"
     957        }
     958
     959        # FIXME: How to tell if this is the first reset?
     960        # If we reset the connection, we shouldn't use
     961        # the map settings
     962        if { [info exists _mapsettings(camera)] } {
     963            set location $_mapsettings(camera)
     964            if { $location != "" } {
     965                array set _view $location
     966            }
     967        }
     968        camera set all
     969        SendCmd "imgflush"
    951970    }
    952971
     
    9851004        }
    9861005    }
    987     if { [info exists _mapsettings(camera)] } {
    988         set location $_mapsettings(camera)
    989         if { $location != "" } {
    990             array set _view $location
    991             camera set all
    992         }
    993     }
    994     if { $_reset } {
    995         camera reset
    996     }
     1006
    9971007    UpdateLayerControls
    9981008    set _reset 0
     
    14941504    }
    14951505
     1506    if {0} {
    14961507    button $inner.get \
    14971508        -text "Get Camera Settings" \
     
    15111522    blt::table configure $inner r$row -resize none
    15121523    incr row
     1524    }
    15131525
    15141526    if {$_useServerManip} {
     
    15451557                set _view($name) $value
    15461558            }
    1547 puts stderr "view: $_view(x), $_view(y), $_view(z), $_view(heading), $_view(pitch), $_view(distance), $_view(srs), $_view(verticalDatum)"
     1559            puts stderr "view: $_view(x), $_view(y), $_view(z), $_view(heading), $_view(pitch), $_view(distance), $_view(srs), $_view(verticalDatum)"
    15481560        }
    15491561        "go" {
     
    15711583                    SendCmd "camera reset"
    15721584                    # Retrieve the settings
    1573                     SendCmd "camera get"
     1585                    #SendCmd "camera get"
    15741586                }
    15751587            } else {
    15761588                SendCmd "camera reset"
    15771589                # Retrieve the settings
    1578                 SendCmd "camera get"
     1590               # SendCmd "camera get"
    15791591            }
    15801592        }
Note: See TracChangeset for help on using the changeset viewer.