Ignore:
Timestamp:
Mar 26, 2014 3:25:30 AM (10 years ago)
Author:
ldelgass
Message:

Add terrain options, get/set viewpoint

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/geovis/RendererCmd.cpp

    r4246 r4273  
    887887}
    888888
     889static int
     890MapTerrainEdgesOp(ClientData clientData, Tcl_Interp *interp, int objc,
     891                  Tcl_Obj *const *objv)
     892{
     893    bool state;
     894    if (GetBooleanFromObj(interp, objv[3], &state) != TCL_OK) {
     895        return TCL_ERROR;
     896    }
     897    TRACE("Not implemented");
     898    //g_renderer->setTerrainEdges(state);
     899    return TCL_OK;
     900}
     901
     902static int
     903MapTerrainLightingOp(ClientData clientData, Tcl_Interp *interp, int objc,
     904                     Tcl_Obj *const *objv)
     905{
     906    bool state;
     907    if (GetBooleanFromObj(interp, objv[3], &state) != TCL_OK) {
     908        return TCL_ERROR;
     909    }
     910
     911    g_renderer->setTerrainLighting(state);
     912    return TCL_OK;
     913}
     914
     915static int
     916MapTerrainLineColorOp(ClientData clientData, Tcl_Interp *interp, int objc,
     917                      Tcl_Obj *const *objv)
     918{
     919    float color[3];
     920    if (GetFloatFromObj(interp, objv[2], &color[0]) != TCL_OK ||
     921        GetFloatFromObj(interp, objv[3], &color[1]) != TCL_OK ||
     922        GetFloatFromObj(interp, objv[4], &color[2]) != TCL_OK) {
     923        return TCL_ERROR;
     924    }
     925    TRACE("Not implemented");
     926    //g_renderer->setTerrainLineColor(color);
     927    return TCL_OK;
     928}
     929
     930static int
     931MapTerrainVertScaleOp(ClientData clientData, Tcl_Interp *interp, int objc,
     932                      Tcl_Obj *const *objv)
     933{
     934    double scale;
     935    if (Tcl_GetDoubleFromObj(interp, objv[3], &scale) != TCL_OK) {
     936        return TCL_ERROR;
     937    }
     938
     939    g_renderer->setTerrainVerticalScale(scale);
     940    return TCL_OK;
     941}
     942
     943static int
     944MapTerrainWireframeOp(ClientData clientData, Tcl_Interp *interp, int objc,
     945                      Tcl_Obj *const *objv)
     946{
     947    bool state;
     948    if (GetBooleanFromObj(interp, objv[3], &state) != TCL_OK) {
     949        return TCL_ERROR;
     950    }
     951
     952    g_renderer->setTerrainWireframe(state);
     953    return TCL_OK;
     954}
     955
     956static CmdSpec mapTerrainOps[] = {
     957    {"edges",     1, MapTerrainEdgesOp,     4, 4, "bool"},
     958    {"lighting",  2, MapTerrainLightingOp,  4, 4, "bool"},
     959    {"linecolor", 2, MapTerrainLineColorOp, 6, 6, "r g b"},
     960    {"vertscale", 1, MapTerrainVertScaleOp, 4, 4, "val"},
     961    {"wireframe", 1, MapTerrainWireframeOp, 4, 4, "bool"},
     962};
     963static int nMapTerrainOps = NumCmdSpecs(mapTerrainOps);
     964
     965static int
     966MapTerrainOp(ClientData clientData, Tcl_Interp *interp, int objc,
     967           Tcl_Obj *const *objv)
     968{
     969    Tcl_ObjCmdProc *proc;
     970
     971    proc = GetOpFromObj(interp, nMapTerrainOps, mapTerrainOps,
     972                        CMDSPEC_ARG2, objc, objv, 0);
     973    if (proc == NULL) {
     974        return TCL_ERROR;
     975    }
     976    return (*proc) (clientData, interp, objc, objv);
     977}
     978
    889979static CmdSpec mapOps[] = {
    890     {"layer",    2, MapLayerOp,       3, 9, "op ?params...?"},
     980    {"layer",    2, MapLayerOp,       3, 0, "op ?params...?"},
    891981    {"load",     2, MapLoadOp,        4, 5, "options"},
    892982    {"reset",    1, MapResetOp,       3, 8, "type ?profile xmin ymin xmax ymax?"},
     983    {"terrain",  1, MapTerrainOp,     3, 0, "op ?params...?"},
    893984};
    894985static int nMapOps = NumCmdSpecs(mapOps);
Note: See TracChangeset for help on using the changeset viewer.