Ignore:
Timestamp:
Jun 9, 2008, 9:08:02 AM (16 years ago)
Author:
gah
Message:

various cleanups

File:
1 edited

Legend:

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

    r1000 r1028  
    7373#include <NvLIC.h>
    7474
    75 //#define ISO_TEST                1
     75#define ISO_TEST                1
    7676#define PLANE_CMD               0
    7777#define __TEST_CODE__           0
     
    143143#endif
    144144static Tcl_ObjCmdProc ScreenCmd;
    145 static Tcl_ObjCmdProc ScreenShotCmd;
     145static Tcl_ObjCmdProc SnapshotCmd;
    146146static Tcl_ObjCmdProc TransfuncCmd;
    147147static Tcl_ObjCmdProc UniRect2dCmd;
     
    175175static int
    176176GetCullMode(Tcl_Interp *interp, Tcl_Obj *objPtr,
    177             graphics::RenderContext::CullMode *modePtr)
    178 {
    179     char *string = Tcl_GetString(objPtr);
     177            graphics::RenderContext::CullMode *modePtr)
     178{
     179    const char *string = Tcl_GetString(objPtr);
    180180    if (strcmp(string, "none") == 0) {
    181181        *modePtr = graphics::RenderContext::NO_CULL;
     
    186186    } else {
    187187        Tcl_AppendResult(interp, "invalid cull mode \"", string,
    188                         "\": should be front, back, or none\"", (char *)NULL);
     188                        "\": should be front, back, or none\"", (char *)NULL);
    189189        return TCL_ERROR;
    190190    }
     
    196196                graphics::RenderContext::ShadingModel *modelPtr)
    197197{
    198     char *string = Tcl_GetString(objPtr);
     198    const char *string = Tcl_GetString(objPtr);
     199
    199200    if (strcmp(string,"flat") == 0) {
    200201        *modelPtr = graphics::RenderContext::FLAT;
     
    213214               graphics::RenderContext::PolygonMode *modePtr)
    214215{
    215     char *string = Tcl_GetString(objPtr);
     216    const char *string = Tcl_GetString(objPtr);
     217
    216218    if (strcmp(string,"wireframe") == 0) {
    217219        *modePtr = graphics::RenderContext::LINE;
     
    220222    } else {
    221223        Tcl_AppendResult(interp, "invalid polygon mode \"", string,
    222                         "\": should be wireframe or fill\"", (char *)NULL);
     224                        "\": should be wireframe or fill\"", (char *)NULL);
    223225        return TCL_ERROR;
    224226    }
     
    243245static HeightMap *
    244246CreateHeightMap(ClientData clientData, Tcl_Interp *interp, int objc,
    245                 Tcl_Obj *CONST *objv)
     247                Tcl_Obj *const *objv)
    246248{
    247249    float xMin, yMin, xMax, yMax;
     
    250252    if (objc != 7) {
    251253        Tcl_AppendResult(interp,
    252                         "wrong # of values: should be xMin yMin xMax yMax xNum yNum heights",
    253                         (char *)NULL);
     254        "wrong # of values: should be xMin yMin xMax yMax xNum yNum heights",
     255        (char *)NULL);
    254256        return NULL;
    255257    }
     
    280282    if (heights == NULL) {
    281283        Tcl_AppendResult(interp, "can't allocate array of heights",
    282                         (char *)NULL);
     284                        (char *)NULL);
    283285        return NULL;
    284286    }
     
    317319    if (index < 0) {
    318320        Tcl_AppendResult(interp, "can't have negative index \"",
    319                         Tcl_GetString(objPtr), "\"", (char*)NULL);
     321                        Tcl_GetString(objPtr), "\"", (char*)NULL);
    320322        return TCL_ERROR;
    321323    }
     
    347349    if (hmPtr == NULL) {
    348350        Tcl_AppendResult(interp, "no heightmap defined for index \"",
    349                         Tcl_GetString(objPtr), "\"", (char*)NULL);
     351                        Tcl_GetString(objPtr), "\"", (char*)NULL);
    350352        return TCL_ERROR;
    351353    }
     
    376378    if (index < 0) {
    377379        Tcl_AppendResult(interp, "can't have negative index \"",
    378                         Tcl_GetString(objPtr), "\"", (char*)NULL);
     380                        Tcl_GetString(objPtr), "\"", (char*)NULL);
    379381        return TCL_ERROR;
    380382    }
     
    412414    if (vol == NULL) {
    413415        Tcl_AppendResult(interp, "no volume defined for index \"",
    414                         Tcl_GetString(objPtr), "\"", (char*)NULL);
     416                        Tcl_GetString(objPtr), "\"", (char*)NULL);
    415417        return TCL_ERROR;
    416418    }
     
    433435 */
    434436static int
    435 GetVolumeIndices(Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv,
    436                 vector<unsigned int>* vectorPtr)
     437GetVolumeIndices(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv,
     438                vector<unsigned int>* vectorPtr)
    437439{
    438440    if (objc == 0) {
     
    471473 */
    472474static int
    473 GetVolumes(Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv,
    474            vector<Volume *>* vectorPtr)
     475GetVolumes(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv,
     476           vector<Volume *>* vectorPtr)
    475477{
    476478    if (objc == 0) {
     
    487489                return TCL_ERROR;
    488490            }
    489             vectorPtr->push_back(volPtr);
     491            vectorPtr->push_back(volPtr);
    490492        }
    491493    }
     
    507509 */
    508510static int
    509 GetHeightMaps(Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv,
    510            vector<HeightMap *>* vectorPtr)
     511GetHeightMaps(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv,
     512           vector<HeightMap *>* vectorPtr)
    511513{
    512514    if (objc == 0) {
     
    523525                return TCL_ERROR;
    524526            }
    525             vectorPtr->push_back(hmPtr);
     527            vectorPtr->push_back(hmPtr);
    526528        }
    527529    }
     
    560562    }
    561563    Tcl_AppendResult(interp, "bad axis \"", string,
    562                      "\": should be x, y, or z", (char*)NULL);
     564                     "\": should be x, y, or z", (char*)NULL);
    563565    return TCL_ERROR;
    564566}
     
    593595GetAxisDirFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr, int *indexPtr, int *dirPtr)
    594596{
    595     char *string = Tcl_GetString(objPtr);
     597    const char *string = Tcl_GetString(objPtr);
    596598
    597599    int sign = 1;
     
    620622 */
    621623static int
    622 GetColor(Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv, float *rgbPtr)
     624GetColor(Tcl_Interp *interp, int objc, Tcl_Obj *const *objv, float *rgbPtr)
    623625{
    624626    if (objc < 3) {
    625627        Tcl_AppendResult(interp, "missing color values\": ",
    626                         "should list of R G B values 0.0 - 1.0", (char*)NULL);
     628                        "should list of R G B values 0.0 - 1.0", (char*)NULL);
    627629        return TCL_ERROR;
    628630    }
     
    661663        if (ferror(stdin)) {
    662664            Tcl_AppendResult(interp, "while reading data stream: ",
    663                              Tcl_PosixError(interp), (char*)NULL);
     665                             Tcl_PosixError(interp), (char*)NULL);
    664666            return TCL_ERROR;
    665667        }
    666668        if (feof(stdin)) {
    667669            Tcl_AppendResult(interp, "premature EOF while reading data stream",
    668                              (char*)NULL);
     670                             (char*)NULL);
    669671            return TCL_ERROR;
    670672        }
     
    687689
    688690static int
    689 CameraAimOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     691CameraAimOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    690692{
    691693    double x0, y0, z0;
     
    700702
    701703static int
    702 CameraAngleOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     704CameraAngleOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    703705{
    704706    double xangle, yangle, zangle;
     
    713715
    714716static int
    715 CameraZoomOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     717CameraZoomOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    716718{
    717719    double zoom;
     
    744746 */
    745747static int
    746 CameraCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     748CameraCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    747749{
    748750    Tcl_ObjCmdProc *proc;
    749751
    750752    proc = Rappture::GetOpFromObj(interp, nCameraOps, cameraOps,
    751                                   Rappture::CMDSPEC_ARG1, objc, objv, 0);
     753                                  Rappture::CMDSPEC_ARG1, objc, objv, 0);
    752754    if (proc == NULL) {
    753755        return TCL_ERROR;
     
    756758}
    757759
    758 static int
    759 ScreenShotCmd(ClientData cdata, Tcl_Interp *interp, int objc,
    760               Tcl_Obj *CONST *objv)
    761 {
    762 #ifdef XINETD
    763     NanoVis::resize_offscreen_buffer(1024, 1024);
    764     NanoVis::cam->set_screen_size(30, 90, 1024 - 60, 1024 - 120);
     760/*ARGSUSED*/
     761static int
     762SnapshotCmd(ClientData cdata, Tcl_Interp *interp, int objc,
     763              Tcl_Obj *const *objv)
     764{
     765    int w, h;
     766
     767    w = NanoVis::win_width, h = NanoVis::win_height;
     768    NanoVis::resize_offscreen_buffer(2048, 2048);
     769#ifdef notdef
     770    NanoVis::cam->set_screen_size(0, 0, NanoVis::win_width,NanoVis::win_height);
     771    NanoVis::cam->set_screen_size(30, 90, 2048 - 60, 2048 - 120);
     772#endif
    765773    NanoVis::offscreen_buffer_capture();  //enable offscreen render
    766774    NanoVis::display();
    767 
    768     // INSOO
    769     // TBD
    770     /*
    771       Volume* vol = NanoVis::volume[0];
    772       TransferFunction* tf;
    773       tf = NanoVis::vol_renderer->get_volume_shading(vol);
    774       if (tf != NULL)
    775       {
    776       float data[512];
    777 
    778       for (int i=0; i < 256; i++) {
    779       data[i] = data[i+256] = (float)(i/255.0);
    780       }
    781       Texture2D* plane = new Texture2D(256, 2, GL_FLOAT, GL_LINEAR, 1, data);
    782       NanoVis::color_table_renderer->render(1024, 1024, plane, tf, vol->wAxis.Min(),
    783                 vol->wAxis.Max());
    784       delete plane;
    785    
    786       }
    787     */
     775    NanoVis::read_screen();
     776#ifdef notdef
     777    glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
    788778#endif
    789 
     779    NanoVis::ppm_write("nv>print -bytes");
     780    NanoVis::resize_offscreen_buffer(w, h);
    790781    return TCL_OK;
    791782}
     
    793784static int
    794785CutplanePositionOp(ClientData cdata, Tcl_Interp *interp, int objc,
    795                    Tcl_Obj *CONST *objv)
     786                   Tcl_Obj *const *objv)
    796787{
    797788    float relval;
     
    825816static int
    826817CutplaneStateOp(ClientData cdata, Tcl_Interp *interp, int objc,
    827                 Tcl_Obj *CONST *objv)
     818                Tcl_Obj *const *objv)
    828819{
    829820    bool state;
     
    877868 */
    878869static int
    879 CutplaneCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     870CutplaneCmd(ClientData cdata, Tcl_Interp *interp, int objc,
     871            Tcl_Obj *const *objv)
    880872{
    881873    Tcl_ObjCmdProc *proc;
    882874
    883875    proc = Rappture::GetOpFromObj(interp, nCutplaneOps, cutplaneOps,
    884                                   Rappture::CMDSPEC_ARG1, objc, objv, 0);
     876                                  Rappture::CMDSPEC_ARG1, objc, objv, 0);
    885877    if (proc == NULL) {
    886878        return TCL_ERROR;
     
    901893 */
    902894static int
    903 LegendCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     895LegendCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    904896{
    905897    if (objc != 4) {
    906898        Tcl_AppendResult(interp, "wrong # args: should be \"",
    907                         Tcl_GetString(objv[0]), " volIndex width height\"", (char*)NULL);
     899            Tcl_GetString(objv[0]), " volIndex width height\"", (char*)NULL);
    908900        return TCL_ERROR;
    909901    }
     
    917909    if (tf == NULL) {
    918910        Tcl_AppendResult(interp, "no transfer function defined for volume \"",
    919                         Tcl_GetString(objv[1]), "\"", (char*)NULL);
    920         return TCL_ERROR;
    921     }
    922     char *label;
     911                        Tcl_GetString(objv[1]), "\"", (char*)NULL);
     912        return TCL_ERROR;
     913    }
     914    const char *label;
    923915    label = Tcl_GetString(objv[1]);
    924916
     
    929921    }
    930922    if (volPtr->update_pending) {
    931         NanoVis::SetVolumeRanges();
     923        NanoVis::SetVolumeRanges();
    932924    }
    933925    NanoVis::render_legend(tf, Volume::valueMin, Volume::valueMax, w, h, label);
     
    945937 */
    946938static int
    947 ScreenCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     939ScreenCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    948940{
    949941    if (objc != 3) {
    950942        Tcl_AppendResult(interp, "wrong # args: should be \"",
    951                         Tcl_GetString(objv[0]), " width height\"", (char*)NULL);
     943                        Tcl_GetString(objv[0]), " width height\"", (char*)NULL);
    952944        return TCL_ERROR;
    953945    }
     
    974966static int
    975967TransfuncCmd(ClientData cdata, Tcl_Interp *interp, int objc,
    976              Tcl_Obj *CONST *objv)
     968             Tcl_Obj *const *objv)
    977969{
    978970    if (objc < 2) {
    979971        Tcl_AppendResult(interp, "wrong # args: should be \"",
    980                 Tcl_GetString(objv[0]), " option arg arg...\"", (char*)NULL);
    981         return TCL_ERROR;
    982     }
    983 
    984     char *string = Tcl_GetString(objv[1]);
     972                Tcl_GetString(objv[0]), " option arg arg...\"", (char*)NULL);
     973        return TCL_ERROR;
     974    }
     975
     976    const char *string = Tcl_GetString(objv[1]);
    985977    char c = string[0];
    986     if ((c == 'd') && (strcmp(string, "define") == 0))
    987     {
     978    if ((c == 'd') && (strcmp(string, "define") == 0)) {
    988979        if (objc != 5) {
    989980            Tcl_AppendResult(interp, "wrong # args: should be \"",
    990                     Tcl_GetString(objv[0]), " define name colorMap alphaMap\"",
    991                 (char*)NULL);
     981                Tcl_GetString(objv[0]), " define name colorMap alphaMap\"",
     982                (char*)NULL);
    992983            return TCL_ERROR;
    993984        }
     
    1005996        if ((cmapc % 4) != 0) {
    1006997            Tcl_AppendResult(interp, "wrong # elements is colormap: should be ",
    1007                 "{ v r g b ... }", (char*)NULL);
     998                "{ v r g b ... }", (char*)NULL);
    1008999            return TCL_ERROR;
    10091000        }
     
    10131004        if ((wmapc % 2) != 0) {
    10141005            Tcl_AppendResult(interp, "wrong # elements in alphamap: should be ",
    1015                 " { v w ... }", (char*)NULL);
     1006                " { v w ... }", (char*)NULL);
    10161007            return TCL_ERROR;
    10171008        }
     
    10261017                if ((q[j] < 0.0) || (q[j] > 1.0)) {
    10271018                    Tcl_AppendResult(interp, "bad colormap value \"",
    1028                         Tcl_GetString(cmapv[i+j]),
    1029                         "\": should be in the range 0-1", (char*)NULL);
     1019                        Tcl_GetString(cmapv[i+j]),
     1020                        "\": should be in the range 0-1", (char*)NULL);
    10301021                    return TCL_ERROR;
    10311022                }
     
    10451036                if ((q[j] < 0.0) || (q[j] > 1.0)) {
    10461037                    Tcl_AppendResult(interp, "bad alphamap value \"",
    1047                         Tcl_GetString(wmapv[i+j]),
    1048                         "\": should be in the range 0-1", (char*)NULL);
     1038                        Tcl_GetString(wmapv[i+j]),
     1039                        "\": should be in the range 0-1", (char*)NULL);
    10491040                    return TCL_ERROR;
    10501041                }
     
    10661057    } else {
    10671058        Tcl_AppendResult(interp, "bad option \"", string,
    1068                 "\": should be define", (char*)NULL);
     1059                "\": should be define", (char*)NULL);
    10691060        return TCL_ERROR;
    10701061    }
     
    10821073 */
    10831074static int
    1084 UpCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     1075UpCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    10851076{
    10861077    if (objc != 2) {
    10871078        Tcl_AppendResult(interp, "wrong # args: should be \"",
    1088                         Tcl_GetString(objv[0]), " x|y|z|-x|-y|-z\"", (char*)NULL);
     1079                        Tcl_GetString(objv[0]), " x|y|z|-x|-y|-z\"", (char*)NULL);
    10891080        return TCL_ERROR;
    10901081    }
     
    11021093static int
    11031094VolumeAnimationCaptureOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1104                          Tcl_Obj *CONST *objv)
     1095                         Tcl_Obj *const *objv)
    11051096{
    11061097    int total;
    11071098    if (Tcl_GetIntFromObj(interp, objv[3], &total) != TCL_OK) {
    1108         return TCL_ERROR;
     1099        return TCL_ERROR;
    11091100    }
    11101101    VolumeInterpolator* interpolator;
     
    11121103    interpolator->start();
    11131104    if (interpolator->is_started()) {
    1114         char *fileName = (objc < 5) ? NULL : Tcl_GetString(objv[4]);
    1115         for (int frame_num = 0; frame_num < total; ++frame_num) {
    1116             float fraction;
    1117            
    1118             fraction = ((float)frame_num) / (total - 1);
    1119             Trace("fraction : %f\n", fraction);
    1120             //interpolator->update(((float)frame_num) / (total - 1));
    1121             interpolator->update(fraction);
    1122            
    1123             NanoVis::offscreen_buffer_capture();  //enable offscreen render
    1124            
    1125             NanoVis::display();
    1126             NanoVis::read_screen();
    1127            
    1128             glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
     1105        const char *fileName = (objc < 5) ? NULL : Tcl_GetString(objv[4]);
     1106        for (int frame_num = 0; frame_num < total; ++frame_num) {
     1107            float fraction;
    11291108           
    1130             NanoVis::bmp_write_to_file(frame_num, fileName);
    1131         }
     1109            fraction = ((float)frame_num) / (total - 1);
     1110            Trace("fraction : %f\n", fraction);
     1111            //interpolator->update(((float)frame_num) / (total - 1));
     1112            interpolator->update(fraction);
     1113           
     1114            NanoVis::offscreen_buffer_capture();  //enable offscreen render
     1115           
     1116            NanoVis::display();
     1117            NanoVis::read_screen();
     1118           
     1119            glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
     1120           
     1121            NanoVis::bmp_write_to_file(frame_num, fileName);
     1122        }
    11321123    }
    11331124    return TCL_OK;
     
    11361127static int
    11371128VolumeAnimationClearOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1138                        Tcl_Obj *CONST *objv)
     1129                       Tcl_Obj *const *objv)
    11391130{
    11401131    NanoVis::vol_renderer->clearAnimatedVolumeInfo();
     
    11441135static int
    11451136VolumeAnimationStartOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1146                        Tcl_Obj *CONST *objv)
     1137                       Tcl_Obj *const *objv)
    11471138{
    11481139    NanoVis::vol_renderer->startVolumeAnimation();
     
    11521143static int
    11531144VolumeAnimationStopOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1154                       Tcl_Obj *CONST *objv)
     1145                      Tcl_Obj *const *objv)
    11551146{
    11561147    NanoVis::vol_renderer->stopVolumeAnimation();
     
    11601151static int
    11611152VolumeAnimationVolumesOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1162                          Tcl_Obj *CONST *objv)
     1153                         Tcl_Obj *const *objv)
    11631154{
    11641155    vector<unsigned int> ivol;
    11651156    if (GetVolumeIndices(interp, objc - 3, objv + 3, &ivol) != TCL_OK) {
    1166         return TCL_ERROR;
     1157        return TCL_ERROR;
    11671158    }
    11681159    Trace("parsing volume index\n");
    11691160    vector<unsigned int>::iterator iter;
    11701161    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1171         Trace("index: %d\n", *iter);
    1172         NanoVis::vol_renderer->addAnimatedVolume(NanoVis::volume[*iter], *iter);
     1162        Trace("index: %d\n", *iter);
     1163        NanoVis::vol_renderer->addAnimatedVolume(NanoVis::volume[*iter], *iter);
    11731164    }
    11741165    return TCL_OK;
     
    11871178static int
    11881179VolumeAnimationOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1189                   Tcl_Obj *CONST *objv)
     1180                  Tcl_Obj *const *objv)
    11901181{
    11911182    Tcl_ObjCmdProc *proc;
    11921183
    11931184    proc = Rappture::GetOpFromObj(interp, nVolumeAnimationOps, volumeAnimationOps,
    1194                                   Rappture::CMDSPEC_ARG2, objc, objv, 0);
     1185                                  Rappture::CMDSPEC_ARG2, objc, objv, 0);
    11951186    if (proc == NULL) {
    11961187        return TCL_ERROR;
     
    12021193static int
    12031194VolumeDataFollowsOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1204                     Tcl_Obj *CONST *objv)
     1195                    Tcl_Obj *const *objv)
    12051196{
    12061197    printf("Data Loading\n");
     
    13351326       
    13361327        if (Volume::update_pending) {
    1337             NanoVis::SetVolumeRanges();
     1328            NanoVis::SetVolumeRanges();
    13381329        }
    13391330        volPtr = NanoVis::volume[n];
    13401331        sprintf(info, "nv>data id %d min %g max %g vmin %g vmax %g\n",
    13411332                n, volPtr->wAxis.Min(), volPtr->wAxis.Max(),
    1342                 Volume::valueMin, Volume::valueMax);
     1333                Volume::valueMin, Volume::valueMax);
    13431334        write(0, info, strlen(info));
    13441335    }
     
    13481339static int
    13491340VolumeDataStateOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1350                   Tcl_Obj *CONST *objv)
     1341                  Tcl_Obj *const *objv)
    13511342{
    13521343    bool state;
     
    13801371static int
    13811372VolumeDataOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1382              Tcl_Obj *CONST *objv)
     1373             Tcl_Obj *const *objv)
    13831374{
    13841375    Tcl_ObjCmdProc *proc;
    13851376
    13861377    proc = Rappture::GetOpFromObj(interp, nVolumeDataOps, volumeDataOps,
    1387                                   Rappture::CMDSPEC_ARG2, objc, objv, 0);
     1378                                  Rappture::CMDSPEC_ARG2, objc, objv, 0);
    13881379    if (proc == NULL) {
    13891380        return TCL_ERROR;
     
    13941385static int
    13951386VolumeOutlineColorOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1396                      Tcl_Obj *CONST *objv)
     1387                     Tcl_Obj *const *objv)
    13971388{
    13981389    float rgb[3];
    13991390    if (GetColor(interp, objc - 3, objv + 3, rgb) != TCL_OK) {
    1400         return TCL_ERROR;
     1391        return TCL_ERROR;
    14011392    }
    14021393    vector<Volume *> ivol;
    14031394    if (GetVolumes(interp, objc - 6, objv + 6, &ivol) != TCL_OK) {
    1404         return TCL_ERROR;
     1395        return TCL_ERROR;
    14051396    }
    14061397    vector<Volume *>::iterator iter;
    14071398    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1408         (*iter)->set_outline_color(rgb);
     1399        (*iter)->set_outline_color(rgb);
    14091400    }
    14101401    return TCL_OK;
     
    14131404static int
    14141405VolumeOutlineStateOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1415                      Tcl_Obj *CONST *objv)
     1406                     Tcl_Obj *const *objv)
    14161407{
    14171408    bool state;
    14181409    if (GetBooleanFromObj(interp, objv[3], &state) != TCL_OK) {
    1419         return TCL_ERROR;
     1410        return TCL_ERROR;
    14201411    }
    14211412    vector<Volume *> ivol;
    14221413    if (GetVolumes(interp, objc - 4, objv + 4, &ivol) != TCL_OK) {
    1423         return TCL_ERROR;
     1414        return TCL_ERROR;
    14241415    }
    14251416    if (state) {
    1426         vector<Volume *>::iterator iter;
    1427         for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1428             (*iter)->enable_outline();
    1429         }
     1417        vector<Volume *>::iterator iter;
     1418        for (iter = ivol.begin(); iter != ivol.end(); iter++) {
     1419            (*iter)->enable_outline();
     1420        }
    14301421    } else {
    1431         vector<Volume *>::iterator iter;
    1432         for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1433             (*iter)->disable_outline();
    1434         }
     1422        vector<Volume *>::iterator iter;
     1423        for (iter = ivol.begin(); iter != ivol.end(); iter++) {
     1424            (*iter)->disable_outline();
     1425        }
    14351426    }
    14361427    return TCL_OK;
     
    14471438static int
    14481439VolumeOutlineOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1449                 Tcl_Obj *CONST *objv)
     1440                Tcl_Obj *const *objv)
    14501441{
    14511442    Tcl_ObjCmdProc *proc;
    14521443
    14531444    proc = Rappture::GetOpFromObj(interp, nVolumeOutlineOps, volumeOutlineOps,
    1454                                   Rappture::CMDSPEC_ARG2, objc, objv, 0);
     1445        Rappture::CMDSPEC_ARG2, objc, objv, 0);
    14551446    if (proc == NULL) {
    14561447        return TCL_ERROR;
     
    14611452static int
    14621453VolumeShadingDiffuseOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1463                        Tcl_Obj *CONST *objv)
     1454                       Tcl_Obj *const *objv)
    14641455{
    14651456    float diffuse;
    14661457    if (GetFloatFromObj(interp, objv[3], &diffuse) != TCL_OK) {
    1467         return TCL_ERROR;
     1458        return TCL_ERROR;
    14681459    }
    14691460
    14701461    vector<Volume *> ivol;
    14711462    if (GetVolumes(interp, objc - 4, objv + 4, &ivol) != TCL_OK) {
    1472         return TCL_ERROR;
     1463        return TCL_ERROR;
    14731464    }
    14741465    vector<Volume *>::iterator iter;
    14751466    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1476             (*iter)->set_diffuse(diffuse);
     1467        (*iter)->set_diffuse(diffuse);
    14771468    }
    14781469    return TCL_OK;
     
    14811472static int
    14821473VolumeShadingIsosurfaceOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1483                           Tcl_Obj *CONST *objv)
     1474                          Tcl_Obj *const *objv)
    14841475{
    14851476    bool iso_surface;
    14861477    if (GetBooleanFromObj(interp, objv[3], &iso_surface) != TCL_OK) {
    1487         return TCL_ERROR;
     1478        return TCL_ERROR;
    14881479    }
    14891480    vector<Volume *> ivol;
    14901481    if (GetVolumes(interp, objc - 4, objv + 4, &ivol) != TCL_OK) {
    1491         return TCL_ERROR;
     1482        return TCL_ERROR;
    14921483    }
    14931484    vector<Volume *>::iterator iter;
    14941485    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1495         (*iter)->set_isosurface(iso_surface);
     1486        (*iter)->set_isosurface(iso_surface);
    14961487    }
    14971488    return TCL_OK;
     
    15001491static int
    15011492VolumeShadingOpacityOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1502                        Tcl_Obj *CONST *objv)
     1493                       Tcl_Obj *const *objv)
    15031494{
    15041495
    15051496    float opacity;
    15061497    if (GetFloatFromObj(interp, objv[3], &opacity) != TCL_OK) {
    1507         return TCL_ERROR;
     1498        return TCL_ERROR;
    15081499    }
    15091500    printf("set opacity %f\n", opacity);
    15101501    vector<Volume *> ivol;
    15111502    if (GetVolumes(interp, objc - 4, objv + 4, &ivol) != TCL_OK) {
    1512         return TCL_ERROR;
     1503        return TCL_ERROR;
    15131504    }
    15141505    vector<Volume *>::iterator iter;
    15151506    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1516         (*iter)->set_opacity_scale(opacity);
     1507        (*iter)->set_opacity_scale(opacity);
    15171508    }
    15181509    return TCL_OK;
     
    15211512static int
    15221513VolumeShadingSpecularOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1523                         Tcl_Obj *CONST *objv)
     1514                        Tcl_Obj *const *objv)
    15241515{
    15251516    float specular;
    15261517    if (GetFloatFromObj(interp, objv[3], &specular) != TCL_OK) {
    1527         return TCL_ERROR;
     1518        return TCL_ERROR;
    15281519    }
    15291520    vector<Volume *> ivol;
    15301521    if (GetVolumes(interp, objc - 4, objv + 4, &ivol) != TCL_OK) {
    1531         return TCL_ERROR;
     1522        return TCL_ERROR;
    15321523    }
    15331524    vector<Volume *>::iterator iter;
    15341525    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1535         (*iter)->set_specular(specular);
     1526        (*iter)->set_specular(specular);
    15361527    }
    15371528    return TCL_OK;
     
    15401531static int
    15411532VolumeShadingTransFuncOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1542                          Tcl_Obj *CONST *objv)
     1533                         Tcl_Obj *const *objv)
    15431534{
    15441535    TransferFunction *tf;
    1545     char *name = Tcl_GetString(objv[3]);
     1536    const char *name = Tcl_GetString(objv[3]);
    15461537    tf = NanoVis::get_transfunc(name);
    15471538    if (tf == NULL) {
    1548         Tcl_AppendResult(interp, "transfer function \"", name,
    1549                         "\" is not defined", (char*)NULL);
    1550         return TCL_ERROR;
     1539        Tcl_AppendResult(interp, "transfer function \"", name,
     1540                        "\" is not defined", (char*)NULL);
     1541        return TCL_ERROR;
    15511542    }
    15521543    vector<Volume *> ivol;
    15531544    if (GetVolumes(interp, objc - 4, objv + 4, &ivol) != TCL_OK) {
    1554         return TCL_ERROR;
     1545        return TCL_ERROR;
    15551546    }
    15561547    vector<Volume *>::iterator iter;
    15571548    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1558         NanoVis::vol_renderer->shade_volume(*iter, tf);
     1549        NanoVis::vol_renderer->shade_volume(*iter, tf);
    15591550#ifdef POINTSET
    1560         // TBD..
    1561         // POINTSET
    1562         if ((*iter)->pointsetIndex != -1) {
    1563             g_pointSet[(*iter)->pointsetIndex]->updateColor(tf->getData(), 256);
    1564         }
     1551        // TBD..
     1552        // POINTSET
     1553        if ((*iter)->pointsetIndex != -1) {
     1554            g_pointSet[(*iter)->pointsetIndex]->updateColor(tf->getData(), 256);
     1555        }
    15651556#endif /*POINTSET*/
    15661557    }
     
    15791570static int
    15801571VolumeShadingOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1581                 Tcl_Obj *CONST *objv)
     1572                Tcl_Obj *const *objv)
    15821573{
    15831574    Tcl_ObjCmdProc *proc;
    15841575
    15851576    proc = Rappture::GetOpFromObj(interp, nVolumeShadingOps, volumeShadingOps,
    1586         Rappture::CMDSPEC_ARG2, objc, objv, 0);
     1577        Rappture::CMDSPEC_ARG2, objc, objv, 0);
    15871578    if (proc == NULL) {
    15881579        return TCL_ERROR;
     
    15931584static int
    15941585VolumeAxisOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1595              Tcl_Obj *CONST *objv)
    1596 {
    1597     char *string = Tcl_GetString(objv[2]);
     1586             Tcl_Obj *const *objv)
     1587{
     1588    const char *string = Tcl_GetString(objv[2]);
    15981589    char c;
    15991590    c = string[0];
    16001591    if ((c == 'l') && (strcmp(string, "label") == 0)) {
    1601         int axis;
    1602         if (GetAxisFromObj(interp, objv[3], &axis) != TCL_OK) {
    1603             return TCL_ERROR;
    1604         }
    1605         vector<Volume *> ivol;
    1606         if (GetVolumes(interp, objc - 5, objv + 5, &ivol) != TCL_OK) {
    1607             return TCL_ERROR;
    1608         }
    1609         vector<Volume *>::iterator iter;
    1610         char *label;
    1611         label = Tcl_GetString(objv[4]);
    1612         for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1613             (*iter)->set_label(axis, label);
    1614         }
     1592        int axis;
     1593        if (GetAxisFromObj(interp, objv[3], &axis) != TCL_OK) {
     1594            return TCL_ERROR;
     1595        }
     1596        vector<Volume *> ivol;
     1597        if (GetVolumes(interp, objc - 5, objv + 5, &ivol) != TCL_OK) {
     1598            return TCL_ERROR;
     1599        }
     1600        vector<Volume *>::iterator iter;
     1601        const char *label;
     1602        label = Tcl_GetString(objv[4]);
     1603        for (iter = ivol.begin(); iter != ivol.end(); iter++) {
     1604            (*iter)->set_label(axis, label);
     1605        }
    16151606    } else {
    1616         Tcl_AppendResult(interp, "bad option \"", string,
    1617                         "\": should be label", (char*)NULL);
    1618         return TCL_ERROR;
     1607        Tcl_AppendResult(interp, "bad option \"", string,
     1608                        "\": should be label", (char*)NULL);
     1609        return TCL_ERROR;
    16191610    }
    16201611    return TCL_OK;
     
    16231614static int
    16241615VolumeStateOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1625               Tcl_Obj *CONST *objv)
     1616              Tcl_Obj *const *objv)
    16261617{
    16271618    bool state;
    16281619    if (GetBooleanFromObj(interp, objv[2], &state) != TCL_OK) {
    1629         return TCL_ERROR;
     1620        return TCL_ERROR;
    16301621    }
    16311622    vector<Volume *> ivol;
    16321623    if (GetVolumes(interp, objc - 3, objv + 3, &ivol) != TCL_OK) {
    1633         return TCL_ERROR;
     1624        return TCL_ERROR;
    16341625    }
    16351626    if (state) {
    1636         vector<Volume *>::iterator iter;
    1637         for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1638             (*iter)->enable();
    1639         }
     1627        vector<Volume *>::iterator iter;
     1628        for (iter = ivol.begin(); iter != ivol.end(); iter++) {
     1629            (*iter)->enable();
     1630        }
    16401631    } else {
    1641         vector<Volume *>::iterator iter;
    1642         for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    1643             (*iter)->disable();
    1644         }
     1632        vector<Volume *>::iterator iter;
     1633        for (iter = ivol.begin(); iter != ivol.end(); iter++) {
     1634            (*iter)->disable();
     1635        }
    16451636    }
    16461637    return TCL_OK;
     
    16491640static int
    16501641VolumeTestOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1651              Tcl_Obj *CONST *objv)
     1642             Tcl_Obj *const *objv)
    16521643{
    16531644    NanoVis::volume[1]->disable_data();
     
    16841675 */
    16851676static int
    1686 VolumeCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     1677VolumeCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    16871678{
    16881679    Tcl_ObjCmdProc *proc;
    16891680
    16901681    proc = Rappture::GetOpFromObj(interp, nVolumeOps, volumeOps,
    1691         Rappture::CMDSPEC_ARG1, objc, objv, 0);
     1682        Rappture::CMDSPEC_ARG1, objc, objv, 0);
    16921683    if (proc == NULL) {
    16931684        return TCL_ERROR;
     
    16971688
    16981689static int
    1699 FlowCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     1690FlowCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    17001691{
    17011692    Rappture::Outcome err;
     
    17031694    if (objc < 2) {
    17041695        Tcl_AppendResult(interp, "wrong # args: should be \"",
    1705                 Tcl_GetString(objv[0]), " option ?arg arg?", (char *)NULL);
    1706         return TCL_ERROR;
    1707     }
    1708     char *string = Tcl_GetString(objv[1]);
     1696                Tcl_GetString(objv[0]), " option ?arg arg?", (char *)NULL);
     1697        return TCL_ERROR;
     1698    }
     1699    const char *string = Tcl_GetString(objv[1]);
    17091700    char c = string[0];
    17101701    if ((c == 'v') && (strcmp(string, "vectorid") == 0)) {
    17111702        if (objc != 3) {
    17121703            Tcl_AppendResult(interp, "wrong # args: should be \"",
    1713                 Tcl_GetString(objv[0]), " vectorid volume", (char *)NULL);
     1704                Tcl_GetString(objv[0]), " vectorid volume", (char *)NULL);
    17141705            return TCL_ERROR;
    17151706        }
     
    17201711        if (NanoVis::particleRenderer != NULL) {
    17211712            NanoVis::particleRenderer->setVectorField(volPtr->id, 1.0f,
    1722                 volPtr->height / (float)volPtr->width,
    1723                 volPtr->depth  / (float)volPtr->width,
    1724                 volPtr->wAxis.Max());
     1713                volPtr->height / (float)volPtr->width,
     1714                volPtr->depth  / (float)volPtr->width,
     1715                volPtr->wAxis.Max());
    17251716            NanoVis::initParticle();
    17261717        }
    17271718        if (NanoVis::licRenderer != NULL) {
    17281719            NanoVis::licRenderer->setVectorField(volPtr->id,
    1729                 1.0f / volPtr->aspect_ratio_width,
    1730                 1.0f / volPtr->aspect_ratio_height,
    1731                 1.0f / volPtr->aspect_ratio_depth,
    1732                 volPtr->wAxis.Max());
     1720                1.0f / volPtr->aspect_ratio_width,
     1721                1.0f / volPtr->aspect_ratio_height,
     1722                1.0f / volPtr->aspect_ratio_depth,
     1723                volPtr->wAxis.Max());
    17331724            NanoVis::licRenderer->set_offset(NanoVis::lic_slice_z);
    17341725        }
     
    17361727        if (objc != 3) {
    17371728            Tcl_AppendResult(interp, "wrong # args: should be \"",
    1738                              Tcl_GetString(objv[0]), " lic on|off\"", (char*)NULL);
     1729                             Tcl_GetString(objv[0]), " lic on|off\"", (char*)NULL);
    17391730            return TCL_ERROR;
    17401731        }
     
    17471738        if (objc < 3) {
    17481739            Tcl_AppendResult(interp, "wrong # args: should be \"",
    1749                 Tcl_GetString(objv[0]), " particle visible|slice|slicepos arg \"",
    1750                 (char*)NULL);
     1740                Tcl_GetString(objv[0]), " particle visible|slice|slicepos arg \"",
     1741                (char*)NULL);
    17511742            return TCL_ERROR;
    17521743        }
    1753         char *string = Tcl_GetString(objv[2]);
     1744        const char *string = Tcl_GetString(objv[2]);
    17541745        c = string[0];
    17551746        if ((c == 'v') && (strcmp(string, "visible") == 0)) {
    17561747            if (objc != 4) {
    17571748                Tcl_AppendResult(interp, "wrong # args: should be \"",
    1758                                 Tcl_GetString(objv[0]), " particle visible on|off\"",
    1759                                 (char*)NULL);
     1749                                Tcl_GetString(objv[0]), " particle visible on|off\"",
     1750                                (char*)NULL);
    17601751                return TCL_ERROR;
    17611752            }
     
    17681759            if (objc != 4) {
    17691760                Tcl_AppendResult(interp, "wrong # args: should be \"",
    1770                                 Tcl_GetString(objv[0]),
    1771                                 " particle slice volume\"", (char*)NULL);
     1761                                Tcl_GetString(objv[0]),
     1762                                " particle slice volume\"", (char*)NULL);
    17721763                return TCL_ERROR;
    17731764            }
     
    17801771            if (objc != 4) {
    17811772                Tcl_AppendResult(interp, "wrong # args: should be \"",
    1782                                 Tcl_GetString(objv[0]), " particle slicepos value\"",
    1783                                 (char*)NULL);
     1773                                Tcl_GetString(objv[0]), " particle slicepos value\"",
     1774                                (char*)NULL);
    17841775                return TCL_ERROR;
    17851776            }
     
    18051796            }
    18061797        } else {
    1807             Tcl_AppendResult(interp, "unknown option \"",string,"\": should be \"",
    1808                              Tcl_GetString(objv[0]), " visible, slice, or slicepos\"",
    1809                             (char *)NULL);
     1798            Tcl_AppendResult(interp, "unknown option \"", string,
     1799                "\": should be \"", Tcl_GetString(objv[0]),
     1800                " visible, slice, or slicepos\"", (char *)NULL);
    18101801            return TCL_ERROR;
    18111802        }
     
    18151806        if (objc > 4 || objc < 3) {
    18161807            Tcl_AppendResult(interp, "wrong # args: should be \"",
    1817                              Tcl_GetString(objv[0]), " capture numframes [directory]\"",
    1818                              (char*)NULL);
     1808                             Tcl_GetString(objv[0]), " capture numframes [directory]\"",
     1809                             (char*)NULL);
    18191810            return TCL_ERROR;
    18201811        }
     
    18331824        //
    18341825        Trace("FLOW started\n");
    1835         char *fileName;
     1826        const char *fileName;
    18361827        fileName = (objc < 4) ? NULL : Tcl_GetString(objv[3]);
    18371828        for (int frame_count = 0; frame_count < total_frame_count;
     
    18691860        if (objc < 3) {
    18701861            Tcl_AppendResult(interp, "wrong # args: should be \"",
    1871                              Tcl_GetString(objv[0]), " data follows ?args?", (char *)NULL);
     1862                Tcl_GetString(objv[0]), " data follows ?args?", (char *)NULL);
    18721863            return TCL_ERROR;
    18731864        }
    1874         char *string = Tcl_GetString(objv[2]);;
     1865        const char *string = Tcl_GetString(objv[2]);;
    18751866        c = string[0];
    18761867        if ((c == 'f') && (strcmp(string,"follows") == 0)) {
    18771868            if (objc != 4) {
    18781869                Tcl_AppendResult(interp, "wrong # args: should be \"",
    1879                                 Tcl_GetString(objv[0]), " data follows length",
    1880                                 (char *)NULL);
     1870                    Tcl_GetString(objv[0]), " data follows length",
     1871                    (char *)NULL);
    18811872                return TCL_ERROR;
    18821873            }
     
    19101901
    19111902                NanoVis::vol_renderer->add_volume(volPtr,
    1912                         NanoVis::get_transfunc("default"));
     1903                        NanoVis::get_transfunc("default"));
    19131904            }
    19141905        }
     
    19221913static int
    19231914HeightMapDataFollowsOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1924                        Tcl_Obj *CONST *objv)
     1915                       Tcl_Obj *const *objv)
    19251916{
    19261917    Rappture::Buffer buf;
     
    19451936static int
    19461937HeightMapDataVisibleOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1947                        Tcl_Obj *CONST *objv)
     1938                       Tcl_Obj *const *objv)
    19481939{
    19491940    bool visible;
     
    19571948    vector<HeightMap *>::iterator iter;
    19581949    for (iter = imap.begin(); iter != imap.end(); iter++) {
    1959         (*iter)->setVisible(visible);
     1950        (*iter)->setVisible(visible);
    19601951    }
    19611952    return TCL_OK;
     
    19701961static int
    19711962HeightMapDataOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1972                 Tcl_Obj *CONST *objv)
     1963                Tcl_Obj *const *objv)
    19731964{
    19741965    Tcl_ObjCmdProc *proc;
    19751966
    19761967    proc = Rappture::GetOpFromObj(interp, nHeightMapDataOps, heightMapDataOps,
    1977                                   Rappture::CMDSPEC_ARG2, objc, objv, 0);
     1968                                  Rappture::CMDSPEC_ARG2, objc, objv, 0);
    19781969    if (proc == NULL) {
    19791970        return TCL_ERROR;
     
    19851976static int
    19861977HeightMapLineContourColorOp(ClientData cdata, Tcl_Interp *interp, int objc,
    1987                             Tcl_Obj *CONST *objv)
     1978                            Tcl_Obj *const *objv)
    19881979{
    19891980    float rgb[3];
     
    19971988    vector<HeightMap *>::iterator iter;
    19981989    for (iter = imap.begin(); iter != imap.end(); iter++) {
    1999         (*iter)->setLineContourColor(rgb);
     1990        (*iter)->setLineContourColor(rgb);
    20001991    }
    20011992    return TCL_OK;
     
    20041995static int
    20051996HeightMapLineContourVisibleOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2006                               Tcl_Obj *CONST *objv)
     1997                              Tcl_Obj *const *objv)
    20071998{
    20081999    bool visible;
     
    20162007    vector<HeightMap *>::iterator iter;
    20172008    for (iter = imap.begin(); iter != imap.end(); iter++) {
    2018         (*iter)->setLineContourVisible(visible);
     2009        (*iter)->setLineContourVisible(visible);
    20192010    }
    20202011    return TCL_OK;
     
    20292020static int
    20302021HeightMapLineContourOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2031                        Tcl_Obj *CONST *objv)
     2022                       Tcl_Obj *const *objv)
    20322023{
    20332024    Tcl_ObjCmdProc *proc;
    20342025
    20352026    proc = Rappture::GetOpFromObj(interp, nHeightMapLineContourOps,
    2036         heightMapLineContourOps, Rappture::CMDSPEC_ARG2, objc, objv, 0);
     2027        heightMapLineContourOps, Rappture::CMDSPEC_ARG2, objc, objv, 0);
    20372028    if (proc == NULL) {
    20382029        return TCL_ERROR;
     
    20432034static int
    20442035HeightMapCullOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2045                 Tcl_Obj *CONST *objv)
     2036                Tcl_Obj *const *objv)
    20462037{
    20472038    graphics::RenderContext::CullMode mode;
     
    20552046static int
    20562047HeightMapCreateOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2057                   Tcl_Obj *CONST *objv)
     2048                  Tcl_Obj *const *objv)
    20582049{
    20592050    HeightMap *hmPtr;
     
    20712062static int
    20722063HeightMapLegendOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2073                   Tcl_Obj *CONST *objv)
     2064                  Tcl_Obj *const *objv)
    20742065{
    20752066    HeightMap *hmPtr;
     
    20812072    if (tf == NULL) {
    20822073        Tcl_AppendResult(interp, "no transfer function defined for heightmap \"",
    2083                         Tcl_GetString(objv[2]), "\"", (char*)NULL);
     2074                        Tcl_GetString(objv[2]), "\"", (char*)NULL);
    20842075        return TCL_ERROR;
    20852076    }
     
    20902081    }
    20912082    if (HeightMap::update_pending) {
    2092         NanoVis::SetHeightmapRanges();
     2083        NanoVis::SetHeightmapRanges();
    20932084    }
    20942085    NanoVis::render_legend(tf, HeightMap::valueMin, HeightMap::valueMax, w, h,
    2095         "label");
     2086        "label");
    20962087    return TCL_OK;
    20972088}
     
    20992090static int
    21002091HeightMapPolygonOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2101                    Tcl_Obj *CONST *objv)
     2092                   Tcl_Obj *const *objv)
    21022093{
    21032094    graphics::RenderContext::PolygonMode mode;
     
    21112102static int
    21122103HeightMapShadingOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2113                  Tcl_Obj *CONST *objv)
     2104                 Tcl_Obj *const *objv)
    21142105{
    21152106    graphics::RenderContext::ShadingModel model;
     
    21232114static int
    21242115HeightMapTestOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2125                 Tcl_Obj *CONST *objv)
     2116                Tcl_Obj *const *objv)
    21262117{
    21272118    srand((unsigned)time(NULL));
     
    21552146static int
    21562147HeightMapTransFuncOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2157                      Tcl_Obj *CONST *objv)
    2158 {
    2159     char *name;
     2148                     Tcl_Obj *const *objv)
     2149{
     2150    const char *name;
    21602151    name = Tcl_GetString(objv[2]);
    21612152    TransferFunction *tf;
     
    21722163    vector<HeightMap *>::iterator iter;
    21732164    for (iter = imap.begin(); iter != imap.end(); iter++) {
    2174         (*iter)->setColorMap(tf);
     2165        (*iter)->setColorMap(tf);
    21752166    }
    21762167    return TCL_OK;
     
    21922183
    21932184static int
    2194 HeightMapCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     2185HeightMapCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    21952186{
    21962187    Tcl_ObjCmdProc *proc;
    21972188
    21982189    proc = Rappture::GetOpFromObj(interp, nHeightMapOps, heightMapOps,
    2199                                   Rappture::CMDSPEC_ARG1, objc, objv, 0);
     2190                                  Rappture::CMDSPEC_ARG1, objc, objv, 0);
    22002191    if (proc == NULL) {
    22012192        return TCL_ERROR;
     
    22062197static int
    22072198GridAxisColorOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2208                 Tcl_Obj *CONST *objv)
     2199                Tcl_Obj *const *objv)
    22092200{
    22102201    float r, g, b, a;
     
    22262217static int
    22272218GridAxisNameOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2228                Tcl_Obj *CONST *objv)
    2229 {
    2230     int axisId;
    2231     if (GetAxisFromObj(interp, objv[2], &axisId) != TCL_OK) {
    2232         return TCL_ERROR;
    2233     }
    2234     if (NanoVis::grid) {
    2235 #ifdef notdef
    2236         NanoVis::grid->setAxisName(axisId, Tcl_GetString(objv[3]));
    2237 #endif
     2219               Tcl_Obj *const *objv)
     2220{
     2221    int axis;
     2222    if (GetAxisFromObj(interp, objv[2], &axis) != TCL_OK) {
     2223        return TCL_ERROR;
     2224    }
     2225    if (NanoVis::grid != NULL) {
     2226        Axis *axisPtr;
     2227
     2228        switch (axis) {
     2229        case 0: axisPtr = &NanoVis::grid->xAxis; break;
     2230        case 1: axisPtr = &NanoVis::grid->yAxis; break;
     2231        case 2: axisPtr = &NanoVis::grid->zAxis; break;
     2232        }
     2233        axisPtr->SetName(Tcl_GetString(objv[3]));
     2234        axisPtr->SetUnits(Tcl_GetString(objv[4]));
    22382235    }
    22392236    return TCL_OK;
     
    22422239static int
    22432240GridLineColorOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2244                 Tcl_Obj *CONST *objv)
     2241                Tcl_Obj *const *objv)
    22452242{
    22462243    float r, g, b, a;
     
    22612258
    22622259static int
    2263 GridVisibleOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     2260GridVisibleOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    22642261{
    22652262    bool visible;
     
    22732270static Rappture::CmdSpec gridOps[] = {
    22742271    {"axiscolor",  5, GridAxisColorOp,  5, 6, "r g b ?a?",},
    2275     {"axisname",   5, GridAxisNameOp,   5, 5, "index width height",},
     2272    {"axisname",   5, GridAxisNameOp,   5, 5, "index title units",},
    22762273    {"linecolor",  7, GridLineColorOp,  5, 6, "r g b ?a?",},
    22772274    {"visible",    1, GridVisibleOp,    3, 3, "bool",},
     
    22802277
    22812278static int
    2282 GridCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     2279GridCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    22832280{
    22842281    Tcl_ObjCmdProc *proc;
    22852282
    22862283    proc = Rappture::GetOpFromObj(interp, nGridOps, gridOps,
    2287                                   Rappture::CMDSPEC_ARG1, objc, objv, 0);
     2284        Rappture::CMDSPEC_ARG1, objc, objv, 0);
    22882285    if (proc == NULL) {
    22892286        return TCL_ERROR;
     
    22932290
    22942291static int
    2295 AxisCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     2292AxisCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    22962293{
    22972294    if (objc < 2) {
    22982295        Tcl_AppendResult(interp, "wrong # args: should be \"",
    2299                         Tcl_GetString(objv[0]), " option arg arg...\"", (char*)NULL);
    2300         return TCL_ERROR;
    2301     }
    2302     char *string = Tcl_GetString(objv[1]);
     2296                Tcl_GetString(objv[0]), " option arg arg...\"", (char*)NULL);
     2297        return TCL_ERROR;
     2298    }
     2299    const char *string = Tcl_GetString(objv[1]);
    23032300    char c = string[0];
    23042301    if ((c == 'v') && (strcmp(string, "visible") == 0)) {
     
    23192316#if PLANE_CMD
    23202317static int
    2321 PlaneNewOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     2318PlaneNewOp(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    23222319{
    23232320    fprintf(stderr, "load plane for 2D visualization command\n");
     
    23252322    if (objc != 4) {
    23262323        Tcl_AppendResult(interp, "wrong # args: should be \"",
    2327                         Tcl_GetString(objv[0]), " plane_index w h \"", (char*)NULL);
     2324            Tcl_GetString(objv[0]), " plane_index w h \"", (char*)NULL);
    23282325        return TCL_ERROR;
    23292326    }
     
    23382335    }
    23392336   
    2340     //Now read w*h*4 bytes. The server expects the plane to be a stream of floats
     2337    //Now read w*h*4 bytes. The server expects the plane to be a stream of
     2338    //floats
    23412339    char* tmp = new char[int(w*h*sizeof(float))];
    23422340    if (tmp == NULL) {
     
    23582356static int
    23592357PlaneLinkOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2360             Tcl_Obj *CONST *objv)
     2358            Tcl_Obj *const *objv)
    23612359{
    23622360    fprintf(stderr, "link the plane to the 2D renderer command\n");
     
    23662364    if (objc != 3) {
    23672365        Tcl_AppendResult(interp, "wrong # args: should be \"",
    2368                         Tcl_GetString(objv[0]), " plane_index tf_index \"", (char*)NULL);
     2366            Tcl_GetString(objv[0]), " plane_index tf_index \"", (char*)NULL);
    23692367        return TCL_ERROR;
    23702368    }
     
    23832381static int
    23842382PlaneEnableOp(ClientData cdata, Tcl_Interp *interp, int objc,
    2385               Tcl_Obj *CONST *objv)
     2383              Tcl_Obj *const *objv)
    23862384{
    23872385    fprintf(stderr,"enable a plane so the 2D renderer can render it command\n");
     
    23892387    if (objc != 3) {
    23902388        Tcl_AppendResult(interp, "wrong # args: should be \"",
    2391                         Tcl_GetString(objv[0]), " plane_index mode \"", (char*)NULL);
     2389            Tcl_GetString(objv[0]), " plane_index mode \"", (char*)NULL);
    23922390        return TCL_ERROR;
    23932391    }
     
    24152413
    24162414static int
    2417 PlaneCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     2415PlaneCmd(ClientData cdata, Tcl_Interp *interp, int objc, Tcl_Obj *const *objv)
    24182416{
    24192417    Tcl_ObjCmdProc *proc;
    24202418
    24212419    proc = Rappture::GetOpFromObj(interp, nPlaneOps, planeOps,
    2422                                   Rappture::CMDSPEC_ARG1, objc, objv, 0);
     2420                                  Rappture::CMDSPEC_ARG1, objc, objv, 0);
    24232421    if (proc == NULL) {
    24242422        return TCL_ERROR;
     
    24412439 */
    24422440static int
    2443 UniRect2dCmd(ClientData, Tcl_Interp *interp, int objc, Tcl_Obj *CONST *objv)
     2441UniRect2dCmd(ClientData clientData, Tcl_Interp *interp, int objc,
     2442             Tcl_Obj *const *objv)
    24442443{   
    24452444    int xNum, yNum, zNum;
     
    24492448    if ((objc & 0x01) == 0) {
    24502449        Tcl_AppendResult(interp, Tcl_GetString(objv[0]), ": ",
    2451                         "wrong number of arguments: should be key-value pairs",
    2452                         (char *)NULL);
     2450                "wrong number of arguments: should be key-value pairs",
     2451                (char *)NULL);
    24532452        return TCL_ERROR;
    24542453    }
     
    24582457    int i;
    24592458    for (i = 1; i < objc; i += 2) {
    2460         char *string;
     2459        const char *string;
    24612460
    24622461        string = Tcl_GetString(objv[i]);
     
    25102509        } else {
    25112510            Tcl_AppendResult(interp, "unknown key \"", string,
    2512                              "\": should be xmin, xmax, xnum, ymin, ymax, ynum, or zvalues",
    2513                              (char *)NULL);
     2511                "\": should be xmin, xmax, xnum, ymin, ymax, ynum, or zvalues",
     2512                (char *)NULL);
    25142513            return TCL_ERROR;
    25152514        }
     
    25212520    if (zNum != (xNum * yNum)) {
    25222521        Tcl_AppendResult(interp, "wrong number of z values must be xnum*ynum",
    2523                         (char *)NULL);
     2522                (char *)NULL);
    25242523        return TCL_ERROR;
    25252524    }
     
    25592558    Tcl_CreateObjCommand(interp, "legend",      LegendCmd,      NULL, NULL);
    25602559    Tcl_CreateObjCommand(interp, "screen",      ScreenCmd,      NULL, NULL);
    2561     Tcl_CreateObjCommand(interp, "screenshot",  ScreenShotCmd,  NULL, NULL);
     2560    Tcl_CreateObjCommand(interp, "snapshot",    SnapshotCmd,    NULL, NULL);
    25622561    Tcl_CreateObjCommand(interp, "transfunc",   TransfuncCmd,   NULL, NULL);
    25632562    Tcl_CreateObjCommand(interp, "unirect2d",   UniRect2dCmd,   NULL, NULL);
     
    26322631    if (status != TCL_OK) {
    26332632        std::ostringstream errmsg;
    2634         errmsg << "ERROR: " << Tcl_GetStringResult(interp) << std::endl;
     2633        errmsg << "NanoVis Server Error: " << Tcl_GetStringResult(interp) << std::endl;
    26352634        write(0, errmsg.str().c_str(), errmsg.str().size());
    26362635        return;
     
    26772676    write(0, rle, rle_size);    //unsigned byte
    26782677#else
    2679     NanoVis::bmp_write("nv>image -bytes");
     2678    NanoVis::ppm_write("nv>image -bytes");
    26802679#endif
    26812680}
Note: See TracChangeset for help on using the changeset viewer.