Changeset 3478 for trunk


Ignore:
Timestamp:
Mar 8, 2013 8:07:21 PM (11 years ago)
Author:
ldelgass
Message:

Add background color protocol command to nanovis, also change resize protocol
to use 'size', so new commands are:

screen bgcolor r g b
screen size width height

Location:
trunk
Files:
6 edited

Legend:

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

    r3477 r3478  
    26222622itcl::body Rappture::FlowvisViewer::Resize {} {
    26232623    $_arcball resize $_width $_height
    2624     SendCmd "screen $_width $_height"
     2624    SendCmd "screen size $_width $_height"
    26252625    set _resizePending 0
    26262626}
  • trunk/gui/scripts/nanovisviewer.tcl

    r3454 r3478  
    20392039itcl::body Rappture::NanovisViewer::DoResize {} {
    20402040    $_arcball resize $_width $_height
    2041     SendCmd "screen $_width $_height"
     2041    SendCmd "screen size $_width $_height"
    20422042    set _resizePending 0
    20432043}
  • trunk/packages/vizservers/nanovis/Command.cpp

    r3463 r3478  
    885885}
    886886
     887static int
     888ScreenBgColorOp(ClientData clientData, Tcl_Interp *interp, int objc,
     889                Tcl_Obj *const *objv)
     890{
     891    float rgb[3];
     892    if ((GetFloatFromObj(interp, objv[2], &rgb[0]) != TCL_OK) ||
     893        (GetFloatFromObj(interp, objv[3], &rgb[1]) != TCL_OK) ||
     894        (GetFloatFromObj(interp, objv[4], &rgb[2]) != TCL_OK)) {
     895        return TCL_ERROR;
     896    }
     897    NanoVis::setBgColor(rgb);
     898    return TCL_OK;
     899}
     900
    887901/*
    888902 * ----------------------------------------------------------------------
    889903 * CLIENT COMMAND:
    890  *   screen <width> <height>
     904 *   screen size <width> <height>
    891905 *
    892906 * Clients send this command to set the size of the rendering area.
     
    895909 */
    896910static int
     911ScreenSizeOp(ClientData clientData, Tcl_Interp *interp, int objc,
     912             Tcl_Obj *const *objv)
     913{
     914    int w, h;
     915    if ((Tcl_GetIntFromObj(interp, objv[2], &w) != TCL_OK) ||
     916        (Tcl_GetIntFromObj(interp, objv[3], &h) != TCL_OK)) {
     917        return TCL_ERROR;
     918    }
     919    NanoVis::resizeOffscreenBuffer(w, h);
     920    return TCL_OK;
     921}
     922
     923static Rappture::CmdSpec screenOps[] = {
     924    {"bgcolor",  1, ScreenBgColorOp,  5, 5, "r g b",},
     925    {"size",     1, ScreenSizeOp, 4, 4, "width height",},
     926};
     927static int nScreenOps = NumCmdSpecs(screenOps);
     928
     929static int
    897930ScreenCmd(ClientData clientData, Tcl_Interp *interp, int objc,
    898           Tcl_Obj *const *objv)
    899 {
    900     if (objc != 3) {
    901         Tcl_AppendResult(interp, "wrong # args: should be \"",
    902                          Tcl_GetString(objv[0]), " width height\"", (char*)NULL);
    903         return TCL_ERROR;
    904     }
    905 
    906     int w, h;
    907     if ((Tcl_GetIntFromObj(interp, objv[1], &w) != TCL_OK) ||
    908         (Tcl_GetIntFromObj(interp, objv[2], &h) != TCL_OK)) {
    909         return TCL_ERROR;
    910     }
    911     NanoVis::resizeOffscreenBuffer(w, h);
    912     return TCL_OK;
     931          Tcl_Obj *const *objv)
     932{
     933    Tcl_ObjCmdProc *proc;
     934
     935    proc = Rappture::GetOpFromObj(interp, nScreenOps, screenOps,
     936                                  Rappture::CMDSPEC_ARG1, objc, objv, 0);
     937    if (proc == NULL) {
     938        return TCL_ERROR;
     939    }
     940    return (*proc) (clientData, interp, objc, objv);
    913941}
    914942
     
    21062134
    21072135    proc = Rappture::GetOpFromObj(interp, nGridOps, gridOps,
    2108         Rappture::CMDSPEC_ARG1, objc, objv, 0);
     2136                                  Rappture::CMDSPEC_ARG1, objc, objv, 0);
    21092137    if (proc == NULL) {
    21102138        return TCL_ERROR;
  • trunk/packages/vizservers/nanovis/nanovis.cpp

    r3470 r3478  
    15731573
    15741574void
     1575NanoVis::setBgColor(float color[3])
     1576{
     1577    TRACE("Setting bgcolor to %g %g %g", color[0], color[1], color[2]);
     1578    glClearColor(color[0], color[1], color[2], 1);
     1579}
     1580
     1581void
    15751582NanoVis::display()
    15761583{
  • trunk/packages/vizservers/nanovis/nanovis.h

    r3463 r3478  
    8181    static void initOffscreenBuffer();
    8282    static void resizeOffscreenBuffer(int w, int h);
     83    static void setBgColor(float color[3]);
    8384    static void display();
    8485    static void draw3dAxis();
  • trunk/packages/vizservers/nanovis/protocol-nanovis.txt

    r3362 r3478  
    4343
    4444camera angle <xAngle> <yAngle> <zAngle>
     45       ** Deprecated, use camera orient **
    4546camera orient <quatW> <quatX> <quatY> <quatZ>
    4647camera pan <x> <y>
    4748camera pos <x> <y> <z>
     49camera reset <?all?>
    4850camera zoom <factor>
    4951
    50 screen <width> <height>
    51     Set size of rendered images
     52screen bgcolor <r> <g> <b>
     53       Set screen background color
     54screen size <width> <height>
     55       Set size of rendered images
     56
    5257snapshot
    53     Render a 2k x 2k image (offscreen buffer)
     58         Render a 2k x 2k image (offscreen buffer)
    5459
    5560transfunc define <name> {colors} {alpha}
     
    197202Error Replies:
    198203================================================================================
    199 Prefixed with "NanoVis Server Error: "
    200 Currently not guaranteed to be on a single line
    201 ================================================================================
     204nv>viserror -bytes <nbytes>
     205   <multi-line error string of nbytes>
     206================================================================================
Note: See TracChangeset for help on using the changeset viewer.