Changeset 4308


Ignore:
Timestamp:
Apr 1, 2014, 3:55:56 AM (10 years ago)
Author:
ldelgass
Message:

Add driver settings to add image/elevation layer

Location:
trunk/packages/vizservers/geovis
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/geovis/RenderServer.h

    r4274 r4308  
    1919class ResponseQueue;
    2020
    21 #define GEOVIS_VERSION_STRING "0.3"
     21#define GEOVIS_VERSION_STRING "0.4"
    2222
    2323#define MSECS_ELAPSED(t1, t2) \
  • trunk/packages/vizservers/geovis/Renderer.cpp

    r4307 r4308  
    573573        return;
    574574    }
     575    TRACE("layer: %s", name);
    575576    if (!opts.tileSize().isSet()) {
    576577        opts.tileSize() = 256;
     
    696697        return;
    697698    }
     699    TRACE("layer: %s", name);
    698700    if (!opts.tileSize().isSet()) {
    699701        opts.tileSize() = 15;
     
    760762        return;
    761763    }
     764    TRACE("layer: %s", name);
    762765    osgEarth::ModelLayerOptions layerOpts(name, opts);
    763766    _map->addModelLayer(new osgEarth::ModelLayer(layerOpts));
     
    10121015        if (queue != NULL) {
    10131016            queue->mouseMotion((float)x, (float)y);
     1017            _needsRedraw = true;
    10141018        }
    10151019#else
  • trunk/packages/vizservers/geovis/RendererCmd.cpp

    r4305 r4308  
    539539    char *type = Tcl_GetString(objv[3]);
    540540    if (type[0] == 'i' && strcmp(type, "image") == 0) {
    541         osgEarth::Drivers::GDALOptions opts;
    542         char *url =  Tcl_GetString(objv[4]);
    543         char *name = Tcl_GetString(objv[5]);
    544 
    545         opts.url() = url;
    546 
    547         g_renderer->addImageLayer(name, opts);
    548     } else if (type[0] == 't' && strcmp(type, "tms") == 0) {
    549         osgEarth::Drivers::TMSOptions opts;
    550         char *url =  Tcl_GetString(objv[4]);
    551         //char *tmsType = Tcl_GetString(objv[5]);
    552         //char *format = Tcl_GetString(objv[6]);
    553         char *name = Tcl_GetString(objv[5]);
    554 
    555         opts.url() = url;
    556         //opts.tmsType() = tmsType;
    557         //opts.format() = format;
    558 
    559         g_renderer->addImageLayer(name, opts);
    560     } else if (type[0] == 'w' && strcmp(type, "wms") == 0) {
    561         osgEarth::Drivers::WMSOptions opts;
    562         char *url =  Tcl_GetString(objv[4]);
    563         char *wmsLayers = Tcl_GetString(objv[5]);
    564         char *format = Tcl_GetString(objv[6]);
    565         bool transparent;
    566         if (GetBooleanFromObj(interp, objv[7], &transparent) != TCL_OK) {
     541        char *driver = Tcl_GetString(objv[4]);
     542        char *url =  Tcl_GetString(objv[5]);
     543
     544        if (driver[0] == 'g' && strcmp(driver, "gdal") == 0) {
     545            osgEarth::Drivers::GDALOptions opts;
     546            opts.url() = url;
     547            char *name = Tcl_GetString(objv[6]);
     548            g_renderer->addImageLayer(name, opts);
     549        } else if (driver[0] == 't' && strcmp(driver, "tms") == 0) {
     550            osgEarth::Drivers::TMSOptions opts;
     551            //char *tmsType = Tcl_GetString(objv[5]);
     552            //char *format = Tcl_GetString(objv[6]);
     553            opts.url() = url;
     554            //opts.tmsType() = tmsType;
     555            //opts.format() = format;
     556            char *name = Tcl_GetString(objv[6]);
     557            g_renderer->addImageLayer(name, opts);
     558        } else if (driver[0] == 'w' && strcmp(driver, "wms") == 0) {
     559            osgEarth::Drivers::WMSOptions opts;
     560            char *wmsLayers = Tcl_GetString(objv[6]);
     561            char *format = Tcl_GetString(objv[7]);
     562            bool transparent;
     563            if (GetBooleanFromObj(interp, objv[8], &transparent) != TCL_OK) {
     564                return TCL_ERROR;
     565            }
     566            opts.url() = url;
     567            opts.layers() = wmsLayers;
     568            opts.format() = format;
     569            opts.transparent() = transparent;
     570
     571            char *name = Tcl_GetString(objv[9]);
     572            g_renderer->addImageLayer(name, opts);
     573        } else {
     574            Tcl_AppendResult(interp, "unknown image driver \"", driver,
     575                             "\": should be 'gdal', 'tms' or 'wms'", (char*)NULL);
    567576            return TCL_ERROR;
    568577        }
    569         char *name = Tcl_GetString(objv[8]);
    570 
    571         opts.url() = url;
    572         opts.layers() = wmsLayers;
    573         opts.format() = format;
    574         opts.transparent() = transparent;
    575 
    576         g_renderer->addImageLayer(name, opts);
    577578    } else if (type[0] == 'e' && strcmp(type, "elevation") == 0) {
    578         osgEarth::Drivers::GDALOptions opts;
    579         char *url =  Tcl_GetString(objv[4]);
    580         char *name = Tcl_GetString(objv[5]);
    581 
    582         opts.url() = url;
    583 
    584         g_renderer->addElevationLayer(name, opts);
     579        char *driver = Tcl_GetString(objv[4]);
     580        char *url =  Tcl_GetString(objv[5]);
     581
     582        if (driver[0] == 'g' && strcmp(driver, "gdal") == 0) {
     583            osgEarth::Drivers::GDALOptions opts;
     584            opts.url() = url;
     585            char *name = Tcl_GetString(objv[6]);
     586            g_renderer->addElevationLayer(name, opts);
     587        } else if (driver[0] == 't' && strcmp(driver, "tms") == 0) {
     588            osgEarth::Drivers::TMSOptions opts;
     589            //char *tmsType = Tcl_GetString(objv[6]);
     590            //char *format = Tcl_GetString(objv[7]);
     591            opts.url() = url;
     592            //opts.tmsType() = tmsType;
     593            //opts.format() = format;
     594            char *name = Tcl_GetString(objv[6]);
     595            g_renderer->addElevationLayer(name, opts);
     596        } else {
     597            Tcl_AppendResult(interp, "unknown elevation driver \"", driver,
     598                             "\": should be 'gdal' or 'tms'", (char*)NULL);
     599            return TCL_ERROR;
     600        }
    585601    } else if (type[0] == 'p' && strcmp(type, "point") == 0) {
    586602        osgEarth::Drivers::OGRFeatureOptions opts;
    587603        char *url =  Tcl_GetString(objv[4]);
    588604        char *name = Tcl_GetString(objv[5]);
     605
    589606        opts.url() = url;
    590607
     
    813830
    814831static CmdSpec mapLayerOps[] = {
    815     {"add",     1, MapLayerAddOp,       6, 9, "type url ?args? name"},
     832    {"add",     1, MapLayerAddOp,       6, 0, "type url ?args? name"},
    816833    {"delete",  1, MapLayerDeleteOp,    3, 4, "?name?"},
    817834    {"move",    1, MapLayerMoveOp,      5, 5, "pos name"},
Note: See TracChangeset for help on using the changeset viewer.