Changeset 6350 for geovis


Ignore:
Timestamp:
May 17, 2016 1:53:55 AM (8 years ago)
Author:
ldelgass
Message:

Update protocol for agglite rasterizing driver to match feature layer.

Location:
geovis/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • geovis/trunk/RendererCmd.cpp

    r6349 r6350  
    14161416            const char *typeName = Tcl_GetString(objv[11]);
    14171417
    1418             osgEarth::Config styleConf("style", Tcl_GetString(objv[12]));
     1418            long ssSize;
     1419            if (Tcl_GetLongFromObj(interp, objv[12], &ssSize) != TCL_OK) {
     1420                return TCL_ERROR;
     1421            }
     1422            char *styleSheetStr = (char *)malloc((size_t)ssSize);
     1423            if (!SocketRead(styleSheetStr, ssSize)) {
     1424                free(styleSheetStr);
     1425                return TCL_ERROR;
     1426            }
     1427            osgEarth::Config styleConf("style", styleSheetStr);
     1428            free(styleSheetStr);
    14191429            styleConf.add("type", "text/css");
    14201430            TRACE("style CSS: %s", styleConf.value().c_str());
     
    14271437
    14281438            if (objc > 13) {
    1429                 std::string scripts(Tcl_GetString(objv[13]));
     1439                long scriptSize;
     1440                if (Tcl_GetLongFromObj(interp, objv[13], &scriptSize) != TCL_OK) {
     1441                    return TCL_ERROR;
     1442                }
     1443                char *scriptStr = NULL;
     1444                if (scriptSize > 0) {
     1445                    scriptStr = (char *)malloc((size_t)scriptSize);
     1446                    if (!SocketRead(scriptStr, scriptSize)) {
     1447                        free(scriptStr);
     1448                        return TCL_ERROR;
     1449                    }
     1450                }
     1451                std::string scripts(scriptStr, scriptSize);
     1452                free(scriptStr);
    14301453                if (!scripts.empty()) {
    14311454                    TRACE("script: %s", scripts.c_str());
     
    14381461            }
    14391462            if (objc > 14) {
     1463                long selectorsSize;
     1464                if (Tcl_GetLongFromObj(interp, objv[14], &selectorsSize) != TCL_OK) {
     1465                    return TCL_ERROR;
     1466                }
     1467                char *selectorsStr = (char *)malloc((size_t)selectorsSize);
     1468                if (!SocketRead(selectorsStr, selectorsSize)) {
     1469                    free(selectorsStr);
     1470                    return TCL_ERROR;
     1471                }
     1472                Tcl_Obj *selectorsObj = Tcl_NewStringObj(selectorsStr, selectorsSize);
    14401473                int numSelectors;
    14411474                Tcl_Obj **selectors;
    1442                 if (Tcl_ListObjGetElements(interp, objv[14], &numSelectors, &selectors) != TCL_OK) {
     1475                if (Tcl_ListObjGetElements(interp, selectorsObj, &numSelectors, &selectors) != TCL_OK) {
    14431476                    return TCL_ERROR;
    14441477                }
     
    14931526                    aggOpts.styles()->selectors().push_back(ss);
    14941527                }
     1528                Tcl_DecrRefCount(selectorsObj);
    14951529            }
    14961530            if (featureDriver[0] == 'd' && strcmp(featureDriver, "db") == 0) {
  • geovis/trunk/geovis_protocol.txt

    r6347 r6350  
    192192
    193193Specific image layer types:
    194 map layer add <layerName> image agglite <url> <cache> <coverage> <featuredriver> <format> <typeName> <style> <?scripts?> <?selectors?>
     194map layer add <layerName> image agglite <url> <cache> <coverage> <featuredriver> <format> <typeName> <styleLen> <?scriptLen?> <?selectorsLen?>
    195195    Rasterize a feature source to an image layer using the AGGLite renderer
    196196    <url> = URL of source
     
    201201    <format> = See Feature/model layers below
    202202    <typeName> = See Feature/model layers below
    203     <style> = See Feature/model layers below
    204     <scripts> = See Feature/model layers below
    205     <selectors> = See Feature/model layers below
     203    <styleLen> = See Feature/model layers below
     204    <scriptLen> = See Feature/model layers below
     205    <selectorsLen> = See Feature/model layers below
    206206map layer add <layerName> image colorramp <url> <cache> <coverage> <elevdriver> <profile> <colormapName>
    207207    Add a colormapped image layer from a file or URL
Note: See TracChangeset for help on using the changeset viewer.