Changeset 20197


Ignore:
Timestamp:
02/16/16 21:55:57 (9 years ago)
Author:
dlcheng
Message:

CHG: Adding support for mesh3dsurface display.

Location:
issm/trunk-jpl/src/m/plot
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/plot/plot_overlay.js

    r19929 r20197  
    2424        var is2d = meshresults[4];
    2525        var isplanet = meshresults[5];
     26        var is3d = (md.mesh.classname() == 'mesh3dsurface');    //use is2d/isplanet once verified to work with mesh3dsurface
    2627       
    27         if (md.geometry.surface) {
     28        if (!is3d && md.geometry.surface) {
    2829                z = md.geometry.surface;
    2930        }
     
    4950        node["shader"] = gl["shaders"][node["shaderName"]]["program"];
    5051        node["scale"] = [scale, scale, scale*options.getfieldvalue('heightscale',1)];
    51         node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmax) / (-1 / scale)];
     52        node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (2 / scale)];
    5253        node["modelMatrix"] = recalculateModelMatrix(node);
    5354        node["texture"] = initTexture(gl,options.getfieldvalue('image'));
  • issm/trunk-jpl/src/m/plot/plot_unit.js

    r19929 r20197  
    2626        var is2d = meshresults[4];
    2727        var isplanet = meshresults[5];
     28        var is3d = (md.mesh.classname() == 'mesh3dsurface');    //use is2d/isplanet once verified to work with mesh3dsurface
    2829       
    2930        var     dataresults = processdata(md,data,options);
     
    3132        var     datatype = dataresults[1];
    3233       
    33         if (md.geometry.surface) {
     34        if (!is3d && md.geometry.surface) {
    3435                z = md.geometry.surface;
    3536        }
     
    5657        node["shader"] = gl["shaders"][node["shaderName"]]["program"];
    5758        node["scale"] = [scale, scale, scale*options.getfieldvalue('heightscale',1)];
    58         node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmax) / (-1 / scale)];
     59        node["translation"] = [(xmin + xmax) / (-2 / scale), (ymin + ymax) / (-2 / scale), (zmin + zmax) / (-2 / scale)];
    5960        node["modelMatrix"] = recalculateModelMatrix(node);
    60         node["alpha"] = options.getfieldvalue('alpha',.6);
     61        node["alpha"] = options.getfieldvalue('alpha',0.9);
    6162        node["overlay"] = options.getfieldvalue('overlay','off') == 'on';
    6263        node["drawOrder"] = 0;
     
    6566        node["maskColor"] = options.getfieldvalue('innermaskcolor',[0.0,0.0,1.0,1.0]);
    6667        node["enabled"] = options.getfieldvalue('nodata','off') == 'off';
     68       
     69        console.log(node["translation"]);
    6770       
    6871        switch(datatype){
     
    9295                                vertices.itemSize = 3;
    9396                                texcoords.itemSize = 2;
     97                                var height = vec3.create();
     98                                var heightscale = options.getfieldvalue('heightscale',1);
    9499                                for(var i = 0; i < x.length; i++){
    95                                         vertices[vertices.length] = x[i];
    96                                         vertices[vertices.length] = y[i];
    97                                         vertices[vertices.length] = z[i];
     100                                        vec3.normalize(height, vec3.fromValues(x[i], y[i], z[i])); //fix to use normalized earth radius instead of radius+ height
     101                                        vec3.scale(height, height, heightscale);
     102                                        vertices[vertices.length] = x[i] + height[0];
     103                                        vertices[vertices.length] = y[i] + height[1];
     104                                        vertices[vertices.length] = z[i] + height[2];
    98105
    99106                                        texcoords[texcoords.length] = 0.5;
Note: See TracChangeset for help on using the changeset viewer.