Changeset 20579


Ignore:
Timestamp:
04/28/16 22:58:29 (9 years ago)
Author:
dlcheng
Message:

CHG (javascript): Addressing NaN data handling bugs and mask option.

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

Legend:

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

    r20541 r20579  
    1 function applyoptions(md,data,options,canvas,gl,node){
     1function applyoptions(md,data,datatype,options,canvas,gl,node){
    22        //APPLYOPTIONS - apply the options to current plot
    33        //
     
    1111                if (options.getfieldvalue('colorbar')==1) {
    1212                        //Handle movie data {{{
    13                                 if (typeof data == 'string') {
    14                                 //throw Error('plot error message: data of type string');
    15                                 return;
    16                         }
    17                         var     dataresults = processdata(md,data,options);
    18                         var     data2 = dataresults[0];
    19                         var     datatype = dataresults[1];
    2013                        if (datatype == 5) {
    21                                 //Transpose data to obtain column addressable data matrix
    22                                 data = data[0].map(function(col, i) {
    23                                         return data.map(function(row) {
    24                                                 return row[i]
    25                                         })
    26                                 });
    27                                 data = data[0].slice(0,-1);
     14                                data = data[0];
    2815                        } //}}}
    29                         //Variable options initialization {{{
    30                        
     16                        //Variable options initialization {{{           
    3117                        var caxis = options.getfieldvalue('caxis',[ArrayMin(data),ArrayMax(data)]);
    3218                        var canvassize = options.getfieldvalue('canvassize',480);
  • TabularUnified issm/trunk-jpl/src/m/plot/plot_manager.js

    r20401 r20579  
    224224        }
    225225       
    226         if (typeof data !== 'string'){
    227                 //plot unit
    228                 plot_unit(md,data,options,canvas,gl,canvas.nodes["data"+String(canvas.datalength)]);
    229         }
    230 
    231         applyoptions(md,data,options,canvas,gl,canvas.nodes["data"+String(canvas.datalength)]);
     226        var     dataresults = processdata(md,data,options);
     227        var     data2 = dataresults[0];
     228        var     datatype = dataresults[1];
     229       
     230        //plot unit
     231        plot_unit(md,data2,datatype,options,canvas,gl,canvas.nodes["data"+String(canvas.datalength)]);
     232
     233        applyoptions(md,data2,datatype,options,canvas,gl,canvas.nodes["data"+String(canvas.datalength)]);
    232234}
  • TabularUnified issm/trunk-jpl/src/m/plot/plot_mesh.js

    r20565 r20579  
    9494                                vertices[vertices.length] = vertex[1];
    9595                                vertices[vertices.length] = vertex[2];
     96                               
     97                                colors[colors.length] = color[0];
     98                                colors[colors.length] = color[1];
     99                                colors[colors.length] = color[2];
     100                                colors[colors.length] = color[3];
    96101                                continue;
    97102                        }
  • TabularUnified issm/trunk-jpl/src/m/plot/plot_overlay.js

    r20565 r20579  
    117117                        vertices[vertices.length] = vertex[1];
    118118                        vertices[vertices.length] = vertex[2];
     119                       
     120                        texcoords[texcoords.length] = 0.0;
     121                        texcoords[texcoords.length] = 0.0;
    119122                        continue;
    120123                }
  • TabularUnified issm/trunk-jpl/src/m/plot/plot_unit.js

    r20565 r20579  
    1 function plot_unit(md,data,options,canvas,gl,node) {
     1function plot_unit(md,data,datatype,options,canvas,gl,node) {
    22        //PLOT_UNIT - unit plot, display data
    33        //
     
    2626        var is2d = meshresults[4];
    2727        var isplanet = meshresults[5];
    28        
    29         var     dataresults = processdata(md,data,options);
    30         var     data2 = dataresults[0];
    31         var     datatype = dataresults[1];
    3228
    3329        //Compue scaling through matrices for 2d meshes and vertices for 3d meshes
     
    112108                                for(var i = 0; i < x.length; i++){
    113109                                        //Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
    114                                         if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i])) {
     110                                        if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i]) || isNaN(data[i])) {
    115111                                                nanindices[i] = i;
    116112                                                vertices[vertices.length] = vertex[0];
    117113                                                vertices[vertices.length] = vertex[1];
    118114                                                vertices[vertices.length] = vertex[2];
     115                                               
     116                                                texcoords[texcoords.length] = 0.0;
     117                                                texcoords[texcoords.length] = 0.0;
    119118                                                continue;
    120119                                        }
     
    144143
    145144                        }
     145               
    146146                        //Initalize buffers
    147147                        node["arrays"] = [vertices, texcoords, indices];
     
    175175                                for(var i = 0; i < x.length; i++){
    176176                                        //Check for NaN values and remove from indices array as necessary, but preserve vertex array spacing
    177                                         if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i])) {
     177                                        if (isNaN(x[i]) || isNaN(y[i]) || isNaN(z[i]) || isNaN(data[i])) {
    178178                                                nanindices[i] = i;
    179179                                                vertices[vertices.length] = vertex[0];
    180180                                                vertices[vertices.length] = vertex[1];
    181181                                                vertices[vertices.length] = vertex[2];
     182                                               
     183                                                texcoords[texcoords.length] = 0.0;
     184                                                texcoords[texcoords.length] = 0.0;
    182185                                                continue;
    183186                                        }
     
    191194                                        vertices[vertices.length] = vertex[2];
    192195                                }       
    193                                
    194196                                //Transpose data to obtain column addressable data matrix
    195197                                data = data[0].map(function(col, i) {
     
    271273                        throw Error(sprintf("%s%i%s\n",'case ',datatype,' not supported'));
    272274        }
     275       
    273276        if (canvas.requestDrawing) draw(gl,options,canvas);
    274277}
Note: See TracChangeset for help on using the changeset viewer.