Ignore:
Timestamp:
Mar 11, 2009, 4:58:43 PM (15 years ago)
Author:
gah
Message:

Fixes for flow commands

Location:
trunk/packages/vizservers/nanovis
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/nanovis/Command.cpp

    r1309 r1310  
    18781878}
    18791879
    1880 static int
    1881 FlowParticleVisibleOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1882              Tcl_Obj *const *objv)
    1883 {
    1884     bool state;
    1885     if (GetBooleanFromObj(interp, objv[3], &state) != TCL_OK) {
    1886         return TCL_ERROR;
    1887     }
    1888 
    1889     NanoVis::particle_on = state;
    1890     return TCL_OK;
    1891 }
    1892 
    1893 static int
    1894 FlowParticleSliceOp(ClientData cdata, Tcl_Interp *interp, int objc,
     1880
     1881static int
     1882FlowSliceVisibleOp(ClientData cdata, Tcl_Interp *interp, int objc,
    18951883             Tcl_Obj *const *objv)
    18961884{
     
    18991887        return TCL_ERROR;
    19001888    }
    1901     NanoVis::lic_axis = axis;
    1902     return TCL_OK;
    1903 }
    1904 
    1905 static int
    1906 FlowParticleSliceposOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1907              Tcl_Obj *const *objv)
    1908 {
     1889    int state;
     1890    if (Tcl_GetBooleanFromObj(interp, objv[4], &state) != TCL_OK) {
     1891        return TCL_ERROR;
     1892    }
     1893    switch (axis) {
     1894    case 0 :
     1895        NanoVis::lic_slice_x_visible = state;
     1896        break;
     1897    case 1 :
     1898        NanoVis::lic_slice_y_visible = state;
     1899        break;
     1900    case 2 :
     1901        NanoVis::lic_slice_z_visible = state;
     1902        break;
     1903    }
     1904    return TCL_OK;
     1905}
     1906
     1907static int
     1908FlowSlicePositionOp(ClientData cdata, Tcl_Interp *interp, int objc,
     1909                    Tcl_Obj *const *objv)
     1910{
     1911    int axis;
     1912    if (GetAxisFromObj(interp, objv[3], &axis) != TCL_OK) {
     1913        return TCL_ERROR;
     1914    }
    19091915    float pos;
    1910     if (GetFloatFromObj(interp, objv[2], &pos) != TCL_OK) {
     1916    if (GetFloatFromObj(interp, objv[4], &pos) != TCL_OK) {
    19111917        return TCL_ERROR;
    19121918    }
     
    19161922        pos = 1.0f;
    19171923    }
    1918     switch (NanoVis::lic_axis) {
     1924    switch (axis) {
    19191925    case 0 :
    19201926        NanoVis::lic_slice_x = pos;
     
    19301936}
    19311937
     1938static Rappture::CmdSpec flowSliceOps[] = {
     1939    {"position",  1, FlowSlicePositionOp, 5, 5, "axis value",},
     1940    {"visible",   1, FlowSliceVisibleOp,  5, 5, "bool axis",},
     1941};
     1942static int nFlowSliceOps = NumCmdSpecs(flowSliceOps);
     1943
     1944static int
     1945FlowSliceOp(ClientData cdata, Tcl_Interp *interp, int objc,
     1946             Tcl_Obj *const *objv)
     1947{
     1948    Tcl_ObjCmdProc *proc;
     1949
     1950    proc = Rappture::GetOpFromObj(interp, nFlowSliceOps, flowSliceOps,
     1951        Rappture::CMDSPEC_ARG2, objc, objv, 0);
     1952    if (proc == NULL) {
     1953        return TCL_ERROR;
     1954    }
     1955    return (*proc) (cdata, interp, objc, objv);
     1956}
     1957
     1958static int
     1959FlowParticleVisibleOp(ClientData cdata, Tcl_Interp *interp, int objc,
     1960             Tcl_Obj *const *objv)
     1961{
     1962    bool state;
     1963    if (GetBooleanFromObj(interp, objv[3], &state) != TCL_OK) {
     1964        return TCL_ERROR;
     1965    }
     1966
     1967    NanoVis::particle_on = state;
     1968    return TCL_OK;
     1969}
     1970
    19321971static Rappture::CmdSpec flowParticleOps[] = {
    1933     {"slice",      5, FlowParticleSliceOp,    4, 4, "index",},
    1934     {"slicepos",   6, FlowParticleSliceposOp, 4, 4, "value",},
    19351972    {"visible",    1, FlowParticleVisibleOp,  4, 4, "on|off",},
    19361973};
     
    20312068    {"play",      2, FlowPlayOp,          2, 2, "",},
    20322069    {"reset",     1, FlowResetOp,         2, 2, "",},
     2070    {"slice",     1, FlowSliceOp,         3, 0, "oper ?args?",},
    20332071    {"vectorid",  1, FlowVectorIdOp,      3, 3, "index",},
    20342072};
  • trunk/packages/vizservers/nanovis/Makefile.in

    r1309 r1310  
    3636DX_INC_SPEC     = -I$(DX_DIR)/include
    3737DX_LIB_SPEC     = -L$(DX_DIR)/lib_linux -lDXcallm
    38 FFMPEG_DIR      = @FFMPEG_DIR@
    39 FF_INC_SPEC     = -I$(FFMPEG_DIR)/include
    40 FF_LIB_SPEC     = -L$(FFMPEG_DIR)/lib -lavformat -lavcodec
     38FF_LIB_SPEC     = -lavformat -lavcodec
    4139# might also need -lavutil
    4240GL_INC_SPEC     = -I/usr/include/GL
  • trunk/packages/vizservers/nanovis/nanovis.cpp

    r1299 r1310  
    129129bool NanoVis::config_pending = false;
    130130bool NanoVis::debug_flag = false;
     131bool NanoVis::lic_slice_x_visible = false;
     132bool NanoVis::lic_slice_y_visible = false;
     133bool NanoVis::lic_slice_z_visible = false;
    131134
    132135Tcl_Interp *NanoVis::interp;
  • trunk/packages/vizservers/nanovis/nanovis.h

    r1299 r1310  
    129129    static float lic_slice_y;
    130130    static float lic_slice_z;
     131    static bool lic_slice_x_visible;
     132    static bool lic_slice_y_visible;
     133    static bool lic_slice_z_visible;
    131134    static int lic_axis;        /* 0:x, 1:y, 2:z */
    132135
Note: See TracChangeset for help on using the changeset viewer.