Changeset 38706
- Timestamp:
- Sep 3, 2015, 6:25:56 AM (11 years ago)
- Location:
- branches/eam_branches/ipp-20150625/Ohana/src/kapa2
- Files:
-
- 4 edited
-
include/prototypes.h (modified) (1 diff)
-
src/DrawFrame.c (modified) (5 diffs)
-
src/PSFrame.c (modified) (1 diff)
-
src/bDrawFrame.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20150625/Ohana/src/kapa2/include/prototypes.h
r38465 r38706 40 40 void DrawYErrors PROTO((KapaGraphWidget *graph, Gobjects *objects)); 41 41 void DrawTick PROTO((Graphic *graphic, Axis *axis, int P, TickMarkData *tick, int naxis)); 42 void AxisTickScale PROTO((Axis *axis, double * major, double *minor, int *nsignif));42 void AxisTickScale PROTO((Axis *axis, double *range, double *major, double *minor, int *nsignif)); 43 43 TickMarkData *CreateAxisTicks PROTO((Axis *axis, int *nticks)); 44 44 int PrintTick PROTO((char *string, double value, double min, double max, int nsignif)); -
branches/eam_branches/ipp-20150625/Ohana/src/kapa2/src/DrawFrame.c
r34088 r38706 116 116 117 117 if ((naxis == 0) || (naxis == 2)) { 118 x = MAX(x, fx); 119 } 120 // y = MAX(y, fy); 121 // } 118 x = MIN(MAX(x, fx),fx+dfx); 119 } 120 if ((naxis == 1) || (naxis == 3)) { 121 y = MAX(MIN(y, fy),fy+dfy); 122 } 122 123 123 124 dir = ((naxis == 0) || (naxis == 1)) ? -1 : +1; … … 154 155 # define MIN_RANGE 1e-30 155 156 156 void AxisTickScale (Axis *axis, double *major, double *minor, int *nsignif) { 157 158 double range, lrange, factor, mantis, fmantis, power; 159 160 range = axis[0].max - axis[0].min; 161 if (fabs(range) < MIN_RANGE) { 162 range = (range < 0) ? -MIN_RANGE : +MIN_RANGE; 163 } 164 165 lrange = log10(MAX(fabs(range), MIN_RANGE)); 157 void AxisTickScale (Axis *axis, double *range, double *major, double *minor, int *nsignif) { 158 159 double lrange, factor, mantis, fmantis, power; 160 161 *range = (axis[0].max - axis[0].min); 162 if (fabs(*range) < MIN_RANGE) { 163 *range = (*range < 0) ? -MIN_RANGE : +MIN_RANGE; 164 } 165 166 lrange = log10(MAX(fabs(*range), MIN_RANGE)); 167 double truncRange = ((int) ((lrange + 0.005) * 1000)) / 1000.0; 168 lrange = truncRange; 169 166 170 mantis = modf (lrange, &factor); 167 171 if (mantis < 0.0) { … … 240 244 if (isnan(axis->max) || isinf(axis->max)) return NULL; 241 245 242 range = axis->max - axis->min;243 244 // not sure why I skip out here instead of using the MIN_RANGE value245 if (fabs(range) < MIN_RANGE) return NULL;246 247 if (fabs(range) < MIN_RANGE) {248 range = (range < 0) ? -MIN_RANGE : +MIN_RANGE;249 }250 251 246 // length of the axis in pixels 252 247 // int nPixels = hypot(axis->dfx, axis->dfy); 253 248 // double dPixels = nPixels / range; // axis pixel-scale 254 249 255 AxisTickScale (axis, & major, &minor, &nsignif);250 AxisTickScale (axis, &range, &major, &minor, &nsignif); 256 251 257 252 // be a little generous … … 260 255 261 256 // value of the tick mark 262 ifirst = (axis->min < 0.0) ? (axis->min/minor - 0.05) : (axis->min/minor + 0.05); 257 if (axis->min > 0.0) { 258 double minValue = axis->min / minor; 259 if (minValue - (int)minValue < +0.1) { 260 ifirst = (int) minValue; 261 } else { 262 ifirst = (int) (minValue + 1); 263 } 264 } else { 265 double minValue = axis->min / minor; 266 if (minValue - (int)minValue > -0.1) { 267 ifirst = (int) minValue; 268 } else { 269 ifirst = (int) (minValue - 1); 270 } 271 } 272 // ifirst = (axis->min < 0.0) ? (axis->min/minor - 0.01) : (axis->min/minor + 0.01); 263 273 first = minor*ifirst; 264 274 … … 292 302 value -= minor; 293 303 294 done |= (range > 0) && (value > axis->max); 295 done |= (range < 0) && (value < axis->max); 304 done |= (range > 0) && (value > axis->max + 0.1*minor); 305 done |= (range < 0) && (value < axis->max - 0.1*minor); 306 // fprintf (stderr, "%d : %f %f %f %f\n", done, range, value, axis->max, 0.1*minor); 296 307 } 297 308 -
branches/eam_branches/ipp-20150625/Ohana/src/kapa2/src/PSFrame.c
r34088 r38706 81 81 y = fy + (value-min)*dfy/(max - min); 82 82 83 if ((naxis == 0) || (naxis == 2)) { 84 x = MIN(MAX(x, fx),fx+dfx); 85 } 86 if ((naxis == 1) || (naxis == 3)) { 87 y = MIN(MAX(y, fy),fy+dfy); 88 } 89 83 90 dir = ((naxis == 0) || (naxis == 1)) ? +1 : -1; 84 91 dx = dir*size*dfy*n; -
branches/eam_branches/ipp-20150625/Ohana/src/kapa2/src/bDrawFrame.c
r34088 r38706 84 84 y = fy + (value-min)*dfy/(max - min); 85 85 86 if ((naxis == 0) || (naxis == 2)) { 87 x = MIN(MAX(x, fx),fx+dfx); 88 } 89 if ((naxis == 1) || (naxis == 3)) { 90 y = MAX(MIN(y, fy),fy+dfy); 91 } 92 86 93 dir = ((naxis == 0) || (naxis == 1)) ? -1 : +1; 87 94 dx = dir*size*dfy*n;
Note:
See TracChangeset
for help on using the changeset viewer.
