Ignore:
Timestamp:
Nov 7, 2013, 2:21:45 PM (11 years ago)
Author:
ldelgass
Message:

Fix square aspect scaling problem

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/packages/vizservers/vtkvis/HeightMap.cpp

    r3818 r4037  
    578578        switch (_sliceAxis) {
    579579        case X_AXIS: {
    580             if (size[1] > size[2] && size[2] > 1.0e-6) {
     580            if (size[1] > size[2] && size[2] > 0.0) {
    581581                scale[2] = size[1] / size[2];
    582             } else if (size[2] > size[1] && size[1] > 1.0e-6) {
     582            } else if (size[2] > size[1] && size[1] > 0.0) {
    583583                scale[1] = size[2] / size[1];
    584584            }
     
    586586            break;
    587587        case Y_AXIS: {
    588             if (size[0] > size[2] && size[2] > 1.0e-6) {
     588            if (size[0] > size[2] && size[2] > 0.0) {
    589589                scale[2] = size[0] / size[2];
    590             } else if (size[2] > size[0] && size[0] > 1.0e-6) {
     590            } else if (size[2] > size[0] && size[0] > 0.0) {
    591591                scale[0] = size[2] / size[0];
    592592            }
     
    594594            break;
    595595        case Z_AXIS: {
    596             if (size[0] > size[1] && size[1] > 1.0e-6) {
     596            if (size[0] > size[1] && size[1] > 0.0) {
    597597                scale[1] = size[0] / size[1];
    598             } else if (size[1] > size[0] && size[0] > 1.0e-6) {
     598            } else if (size[1] > size[0] && size[0] > 0.0) {
    599599                scale[0] = size[1] / size[0];
    600600            }
     
    606606        case X_AXIS: {
    607607            if (aspect > 1.0) {
    608                 if (size[2] > size[1]) {
     608                if (size[2] > size[1] && size[1] > 0.0) {
    609609                    scale[1] = (size[2] / aspect) / size[1];
    610                 } else {
     610                } else if (size[2] > 0.0) {
    611611                    scale[2] = (size[1] * aspect) / size[2];
    612612                }
    613613            } else {
    614                 if (size[1] > size[2]) {
     614                if (size[1] > size[2] && size[2] > 0.0) {
    615615                    scale[2] = (size[1] * aspect) / size[2];
    616                 } else {
     616                } else if (size[1] > 0.0) {
    617617                    scale[1] = (size[2] / aspect) / size[1];
    618618                }
     
    622622        case Y_AXIS: {
    623623            if (aspect > 1.0) {
    624                 if (size[0] > size[2]) {
     624                if (size[0] > size[2] && size[2] > 0.0) {
    625625                    scale[2] = (size[0] / aspect) / size[2];
    626                 } else {
     626                } else if (size[0] > 0.0) {
    627627                    scale[0] = (size[2] * aspect) / size[0];
    628628                }
    629629            } else {
    630                 if (size[2] > size[0]) {
     630                if (size[2] > size[0] && size[0] > 0.0) {
    631631                    scale[0] = (size[2] * aspect) / size[0];
    632                 } else {
     632                } else if (size[2] > 0.0) {
    633633                    scale[2] = (size[0] / aspect) / size[2];
    634634                }
     
    638638        case Z_AXIS: {
    639639            if (aspect > 1.0) {
    640                 if (size[0] > size[1]) {
     640                if (size[0] > size[1] && size[1] > 0.0) {
    641641                    scale[1] = (size[0] / aspect) / size[1];
    642                 } else {
     642                } else if (size[0] > 0.0) {
    643643                    scale[0] = (size[1] * aspect) / size[0];
    644644                }
    645645            } else {
    646                 if (size[1] > size[0]) {
     646                if (size[1] > size[0] && size[0] > 0.0) {
    647647                    scale[0] = (size[1] * aspect) / size[0];
    648                 } else {
     648                } else if (size[1] > 0.0) {
    649649                    scale[1] = (size[0] / aspect) / size[1];
    650650                }
Note: See TracChangeset for help on using the changeset viewer.