Ignore:
Timestamp:
Dec 22, 2014, 7:18:59 AM (5 years ago)
Author:
ldelgass
Message:

Merge serveral changes from trunk. Does not include threading, world space
changes, etc.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • nanovis/branches/1.1/Command.cpp

    r4893 r4904  
    3737#include <unistd.h>                     /* Needed for getpid, gethostname,
    3838                                         * write, etc. */
     39
     40#include <sstream>
     41
    3942#include <tcl.h>
    4043
    4144#include <RpEncode.h>
    42 #include <RpOutcome.h>
    4345#include <RpBuffer.h>
    4446
     
    569571        return TCL_ERROR;
    570572    }
    571     NanoVis::cam->rotate(phi, theta, psi);
     573    NanoVis::rotateCamera(phi, theta, psi);
    572574    return TCL_OK;
    573575}
     
    584586        return TCL_ERROR;
    585587    }
    586     NanoVis::cam->rotate(quat);
     588    NanoVis::orientCamera(quat);
    587589    return TCL_OK;
    588590}
     
    597599        return TCL_ERROR;
    598600    }
    599     NanoVis::pan(x, y);
     601    NanoVis::panCamera(x, y);
    600602    return TCL_OK;
    601603}
     
    605607                 Tcl_Obj *const *objv)
    606608{
    607     float x, y, z;
    608     if ((GetFloatFromObj(interp, objv[2], &x) != TCL_OK) ||
    609         (GetFloatFromObj(interp, objv[3], &y) != TCL_OK) ||
    610         (GetFloatFromObj(interp, objv[4], &z) != TCL_OK)) {
    611         return TCL_ERROR;
    612     }
    613     NanoVis::cam->x(x);
    614     NanoVis::cam->y(y);
    615     NanoVis::cam->z(z);
     609    Vector3f pos;
     610    if ((GetFloatFromObj(interp, objv[2], &pos.x) != TCL_OK) ||
     611        (GetFloatFromObj(interp, objv[3], &pos.y) != TCL_OK) ||
     612        (GetFloatFromObj(interp, objv[4], &pos.z) != TCL_OK)) {
     613        return TCL_ERROR;
     614    }
     615    NanoVis::setCameraPosition(pos);
    616616    return TCL_OK;
    617617}
     
    644644        return TCL_ERROR;
    645645    }
    646     NanoVis::zoom(z);
     646    NanoVis::zoomCamera(z);
    647647    return TCL_OK;
    648648}
     
    721721    std::vector<Volume *>::iterator iter;
    722722    for (iter = ivol.begin(); iter != ivol.end(); iter++) {
    723         (*iter)->moveCutplane(axis, relval);
     723        (*iter)->setCutplanePosition(axis, relval);
    724724    }
    725725    return TCL_OK;
     
    10981098                }
    10991099            }
     1100
    11001101            alphaKeys[i/2] = (float)q[0];
    11011102            alphas[i/2] = (float)q[1];
     
    11531154        return TCL_ERROR;
    11541155    }
    1155     NanoVis::updir = (axis+1)*sign;
     1156    NanoVis::setCameraUpdir(Camera::AxisDirection((axis+1)*sign));
    11561157    return TCL_OK;
    11571158}
     
    12831284    if ((nBytes > 5) && (strncmp(bytes, "<HDR>", 5) == 0)) {
    12841285        TRACE("ZincBlende Stream loading...");
    1285         volume = ZincBlendeReconstructor::getInstance()->loadFromMemory(buf.bytes());
     1286        volume = ZincBlendeReconstructor::getInstance()->loadFromMemory(bytes);
    12861287        if (volume == NULL) {
    12871288            Tcl_AppendResult(interp, "can't get volume instance", (char *)NULL);
     
    12911292
    12921293        Vector3f scale = volume->getPhysicalScaling();
    1293         Vector3f loc(scale);
    1294         loc *= -0.5;
    1295         volume->location(loc);
     1294        Vector3f pos(scale);
     1295        pos *= -0.5;
     1296        volume->setPosition(pos);
    12961297
    12971298        NanoVis::VolumeHashmap::iterator itr = NanoVis::volumeTable.find(tag);
     
    13051306    } else if ((nBytes > 14) && (strncmp(bytes, "# vtk DataFile", 14) == 0)) {
    13061307        TRACE("VTK loading...");
    1307         std::stringstream fdata;
    1308         fdata.write(bytes, nBytes);
    13091308        if (nBytes <= 0) {
    13101309            ERROR("data buffer is empty");
    13111310            abort();
    13121311        }
    1313         Rappture::Outcome context;
    1314         volume = load_vtk_volume_stream(context, tag, fdata);
     1312        std::stringstream fdata;
     1313        fdata.write(bytes, nBytes);
     1314        volume = load_vtk_volume_stream(tag, fdata);
    13151315        if (volume == NULL) {
    1316             Tcl_AppendResult(interp, context.remark(), (char*)NULL);
     1316            Tcl_AppendResult(interp, "Failed to load VTK file", (char*)NULL);
    13171317            return TCL_ERROR;
    13181318        }
     
    13331333        std::stringstream fdata;
    13341334        fdata.write(bytes, nBytes);
    1335         Rappture::Outcome context;
    1336         volume = load_dx_volume_stream(context, tag, fdata);
     1335        volume = load_dx_volume_stream(tag, fdata);
    13371336        if (volume == NULL) {
    1338             Tcl_AppendResult(interp, context.remark(), (char*)NULL);
     1337            Tcl_AppendResult(interp, "Failed to load DX file", (char*)NULL);
    13391338            return TCL_ERROR;
    13401339        }
     
    13621361        }
    13631362    }
     1363
    13641364    return TCL_OK;
    13651365}
     
    17661766    }
    17671767    Unirect2d data(1);
    1768     if (data.parseBuffer(interp, buf) != TCL_OK) {
     1768    if (data.parseBuffer(interp, buf.bytes(), buf.size()) != TCL_OK) {
    17691769        return TCL_ERROR;
    17701770    }
Note: See TracChangeset for help on using the changeset viewer.