Ignore:
Timestamp:
Dec 18, 2013 11:18:54 PM (10 years ago)
Author:
ldelgass
Message:

Add commands to manually set cut plane on image slice

File:
1 edited

Legend:

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

    r4089 r4090  
    69366936
    69376937static int
     6938ImageFollowCameraOp(ClientData clientData, Tcl_Interp *interp, int objc,
     6939                    Tcl_Obj *const *objv)
     6940{
     6941    bool state;
     6942    if (GetBooleanFromObj(interp, objv[2], &state) != TCL_OK) {
     6943        return TCL_ERROR;
     6944    }
     6945    if (objc == 4) {
     6946        const char *name = Tcl_GetString(objv[3]);
     6947        g_renderer->setImageSliceFollowsCamera(name, state);
     6948    } else {
     6949        g_renderer->setImageSliceFollowsCamera("all", state);
     6950    }
     6951    return TCL_OK;
     6952}
     6953
     6954static int
    69386955ImageLevelOp(ClientData clientData, Tcl_Interp *interp, int objc,
    69396956             Tcl_Obj *const *objv)
     
    70237040    } else {
    70247041        g_renderer->setGraphicsObjectScale<Image>("all", scale);
     7042    }
     7043    return TCL_OK;
     7044}
     7045
     7046static int
     7047ImageSlicePlaneOp(ClientData clientData, Tcl_Interp *interp, int objc,
     7048                  Tcl_Obj *const *objv)
     7049{
     7050    double normal[3], origin[3];
     7051    if (Tcl_GetDoubleFromObj(interp, objv[2], &normal[0]) != TCL_OK ||
     7052        Tcl_GetDoubleFromObj(interp, objv[3], &normal[1]) != TCL_OK ||
     7053        Tcl_GetDoubleFromObj(interp, objv[4], &normal[2]) != TCL_OK ||
     7054        Tcl_GetDoubleFromObj(interp, objv[5], &origin[0]) != TCL_OK ||
     7055        Tcl_GetDoubleFromObj(interp, objv[6], &origin[1]) != TCL_OK ||
     7056        Tcl_GetDoubleFromObj(interp, objv[7], &origin[2]) != TCL_OK) {
     7057        return TCL_ERROR;
     7058    }
     7059    if (objc == 4) {
     7060        const char *name = Tcl_GetString(objv[8]);
     7061        g_renderer->setImageSlicePlane(name, normal, origin);
     7062    } else {
     7063        g_renderer->setImageSlicePlane("all", normal, origin);
    70257064    }
    70267065    return TCL_OK;
     
    70877126    {"delete",       1, ImageDeleteOp, 2, 3, "?dataSetName?"},
    70887127    {"extents",      1, ImageExtentsOp, 8, 9, "xmin xmax ymin ymax zmin zmax ?dataSetName?"},
     7128    {"follow",       1, ImageFollowCameraOp, 3, 4, "bool ?dataSetName?"},
    70897129    {"level",        1, ImageLevelOp, 3, 4, "val ?dataSetName?"},
    70907130    {"opacity",      2, ImageOpacityOp, 3, 4, "value ?dataSetName?"},
    70917131    {"orient",       2, ImageOrientOp, 6, 7, "qw qx qy qz ?dataSetName?"},
    70927132    {"pos",          1, ImagePositionOp, 5, 6, "x y z ?dataSetName?"},
    7093     {"scale",        1, ImageScaleOp, 5, 6, "sx sy sz ?dataSetName?"},
     7133    {"scale",        2, ImageScaleOp, 5, 6, "sx sy sz ?dataSetName?"},
     7134    {"slice",        2, ImageSlicePlaneOp, 8, 9, "nx ny nz ox oy oz ?dataSetName?"},
    70947135    {"visible",      1, ImageVisibleOp, 3, 4, "bool ?dataSetName?"},
    70957136    {"window",       1, ImageWindowOp, 3, 4, "val ?dataSetName?"},
Note: See TracChangeset for help on using the changeset viewer.