Changeset 2850


Ignore:
Timestamp:
Mar 13, 2012, 6:06:06 PM (13 years ago)
Author:
ldelgass
Message:

Do what the FIXME says and replace gradient computation block with common
function. No functional change.

File:
1 edited

Legend:

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

    r2849 r2850  
    245245            // scale all values [0-1], -1 => out of bounds
    246246            v = (isnan(v)) ? -1.0 : (v - vmin)/dv;
     247
    247248            data[ngen] = v;
    248249            ngen += 4;
     
    346347        }
    347348
    348         // FIXME: This next section of code should be replaced by a
    349         // call to the computeSimpleGradient() function. There is a slight
    350         // difference in the code below and the aforementioned function
    351         // in that the commented out lines in the else statements are
    352         // different.
    353         //
    354         // Compute the gradient of this data.  BE CAREFUL: center
    355         // calculation on each node to avoid skew in either direction.
    356         ngen = 0;
    357         for (int iz=0; iz < nz; iz++) {
    358             for (int iy=0; iy < ny; iy++) {
    359                 for (int ix=0; ix < nx; ix++) {
    360                     // gradient in x-direction
    361                     double valm1 = (ix == 0) ? 0.0 : data[ngen-4];
    362                     double valp1 = (ix == nx-1) ? 0.0 : data[ngen+4];
    363                     if (valm1 < 0 || valp1 < 0) {
    364                         data[ngen+1] = 0.0;
    365                     } else {
    366                         data[ngen+1] = valp1-valm1; // assume dx=1
    367                         //data[ngen+1] = ((valp1-valm1) + 1.0) * 0.5; // assume dz=1
    368                     }
    369                    
    370                     // gradient in y-direction
    371                     valm1 = (iy == 0) ? 0.0 : data[ngen-4*nx];
    372                     valp1 = (iy == ny-1) ? 0.0 : data[ngen+4*nx];
    373                     if (valm1 < 0 || valp1 < 0) {
    374                         data[ngen+2] = 0.0;
    375                     } else {
    376                         data[ngen+2] = valp1-valm1; // assume dy=1
    377                         //data[ngen+2] = ((valp1-valm1) + 1.0) * 0.5; // assume dz=1
    378                     }
    379                    
    380                     // gradient in z-direction
    381                     valm1 = (iz == 0) ? 0.0 : data[ngen-4*nx*ny];
    382                     valp1 = (iz == nz-1) ? 0.0 : data[ngen+4*nx*ny];
    383                     if (valm1 < 0 || valp1 < 0) {
    384                         data[ngen+3] = 0.0;
    385                     } else {
    386                         data[ngen+3] = valp1-valm1; // assume dz=1
    387                         //data[ngen+3] = ((valp1-valm1) + 1.0) * 0.5; // assume dz=1
    388                     }
    389                    
    390                     ngen += 4;
    391                 }
    392             }
    393         }
     349        computeSimpleGradient(data, nx, ny, nz);
    394350
    395351        volPtr = NanoVis::load_volume(tag, nx, ny, nz, 4, data,
Note: See TracChangeset for help on using the changeset viewer.