Ignore:
Timestamp:
Aug 17, 2012, 1:52:15 AM (12 years ago)
Author:
ldelgass
Message:

Add protocol for bond style (cylinder vs. line)

Location:
trunk/packages/vizservers/vtkvis
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/vtkvis/RpVtkRenderer.h

    r3138 r3143  
    448448    void setMoleculeBondVisibility(const DataSetId& id, bool state);
    449449
     450    void setMoleculeBondStyle(const DataSetId& id, Molecule::BondStyle style);
     451
    450452    void setMoleculeBondColorMode(const DataSetId& id, Molecule::BondColorMode mode);
    451453
  • trunk/packages/vizservers/vtkvis/RpVtkRendererCmd.cpp

    r3134 r3143  
    36103610
    36113611static int
     3612MoleculeBondStyleOp(ClientData clientData, Tcl_Interp *interp, int objc,
     3613                    Tcl_Obj *const *objv)
     3614{
     3615    Molecule::BondStyle style;
     3616    const char *styleStr = Tcl_GetString(objv[2]);
     3617    if (styleStr[0] == 'c' && strcmp(styleStr, "cylinder") == 0) {
     3618        style = Molecule::BOND_STYLE_CYLINDER;
     3619    } else if (styleStr[0] == 'l' && strcmp(styleStr, "line") == 0) {
     3620        style = Molecule::BOND_STYLE_LINE;
     3621    } else {
     3622        Tcl_AppendResult(interp, "bad bstyle option \"", styleStr,
     3623                         "\": should be cylinder or line", (char*)NULL);
     3624        return TCL_ERROR;
     3625    }
     3626    if (objc == 4) {
     3627        const char *name = Tcl_GetString(objv[3]);
     3628        g_renderer->setMoleculeBondStyle(name, style);
     3629    } else {
     3630        g_renderer->setMoleculeBondStyle("all", style);
     3631    }
     3632    return TCL_OK;
     3633}
     3634
     3635static int
    36123636MoleculeBondVisibilityOp(ClientData clientData, Tcl_Interp *interp, int objc,
    36133637                         Tcl_Obj *const *objv)
     
    38393863    {"bcolor",     3, MoleculeBondColorOp, 5, 6, "r g b ?dataSetName?"},
    38403864    {"bonds",      2, MoleculeBondVisibilityOp, 3, 4, "bool ?dataSetName?"},
    3841     {"bscale",     2, MoleculeBondScaleFactorOp, 3, 4, "value ?dataSetName?"},
     3865    {"bscale",     3, MoleculeBondScaleFactorOp, 3, 4, "value ?dataSetName?"},
     3866    {"bstyle",     3, MoleculeBondStyleOp, 3, 4, "value ?dataSetName?"},
    38423867    {"colormap",   1, MoleculeColorMapOp, 3, 4, "colorMapName ?dataSetName?"},
    38433868    {"delete",     1, MoleculeDeleteOp, 2, 3, "?dataSetName?"},
  • trunk/packages/vizservers/vtkvis/RpVtkRendererGraphicsObjs.cpp

    r3134 r3143  
    12551255}
    12561256
     1257void Renderer::setMoleculeBondStyle(const DataSetId& id, Molecule::BondStyle style)
     1258{
     1259    MoleculeHashmap::iterator itr;
     1260
     1261    bool doAll = false;
     1262
     1263    if (id.compare("all") == 0) {
     1264        itr = _molecules.begin();
     1265        doAll = true;
     1266    } else {
     1267        itr = _molecules.find(id);
     1268    }
     1269    if (itr == _molecules.end()) {
     1270        ERROR("Molecule not found: %s", id.c_str());
     1271        return;
     1272    }
     1273
     1274    do {
     1275        itr->second->setBondStyle(style);
     1276    } while (doAll && ++itr != _molecules.end());
     1277
     1278    _needsRedraw = true;
     1279}
     1280
    12571281void Renderer::setMoleculeBondColorMode(const DataSetId& id, Molecule::BondColorMode mode)
    12581282{
  • trunk/packages/vizservers/vtkvis/protocol.txt

    r3134 r3143  
    285285molecule bscale <val> <?datasetName?>
    286286         Set bond scale factor
     287molecule bstyle <cylinder|line> <?datasetName?>
     288         Set bond render style
    287289molecule colormap <colormapName> <?datasetName?>
    288290molecule delete <?datasetName?>
  • trunk/packages/vizservers/vtkvis/vtkRpAxisActor.cpp

    r2864 r3143  
    22
    33  Program:   Visualization Toolkit
    4   Module:    vtkRpAxisActor.cxx
     4  Module:    vtkRpAxisActor.cpp
    55  Thanks:    Kathleen Bonnell, B Division, Lawrence Livermore Nat'l Laboratory
    66
  • trunk/packages/vizservers/vtkvis/vtkRpAxisActor2D.cpp

    r2864 r3143  
    22
    33  Program:   Visualization Toolkit
    4   Module:    vtkRpAxisActor2D.cxx
     4  Module:    vtkRpAxisActor2D.cpp
    55
    66  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
Note: See TracChangeset for help on using the changeset viewer.