Browse Source

Moved recurring code for StepNumber to start() method

codeClimate
Wim Rijnders 8 years ago
parent
commit
a2350bb590
2 changed files with 27 additions and 19 deletions
  1. +8
    -16
      lib/graph3d/Graph3d.js
  2. +19
    -3
      lib/graph3d/StepNumber.js

+ 8
- 16
lib/graph3d/Graph3d.js View File

@ -1118,10 +1118,8 @@ Graph3d.prototype._redrawLegend = function() {
var legendMin = isValueLegend ? this.valueMin : this.zMin;
var legendMax = isValueLegend ? this.valueMax : this.zMax;
var step = new StepNumber(legendMin, legendMax, (legendMax-legendMin)/5, true);
step.start();
if (step.getCurrent() < legendMin) {
step.next();
}
step.start(true);
var y;
while (!step.end()) {
y = bottom - (step.getCurrent() - legendMin) / (legendMax - legendMin) * height;
@ -1254,10 +1252,8 @@ Graph3d.prototype._redrawAxis = function() {
ctx.lineWidth = 1;
prettyStep = (this.defaultXStep === undefined);
step = new StepNumber(this.xMin, this.xMax, this.xStep, prettyStep);
step.start();
if (step.getCurrent() < this.xMin) {
step.next();
}
step.start(true);
while (!step.end()) {
var x = step.getCurrent();
@ -1301,10 +1297,8 @@ Graph3d.prototype._redrawAxis = function() {
ctx.lineWidth = 1;
prettyStep = (this.defaultYStep === undefined);
step = new StepNumber(this.yMin, this.yMax, this.yStep, prettyStep);
step.start();
if (step.getCurrent() < this.yMin) {
step.next();
}
step.start(true);
while (!step.end()) {
if (this.showGrid) {
from = this._convert3Dto2D(new Point3d(this.xMin, step.getCurrent(), this.zMin));
@ -1346,10 +1340,8 @@ Graph3d.prototype._redrawAxis = function() {
ctx.lineWidth = 1;
prettyStep = (this.defaultZStep === undefined);
step = new StepNumber(this.zMin, this.zMax, this.zStep, prettyStep);
step.start();
if (step.getCurrent() < this.zMin) {
step.next();
}
step.start(true);
xText = (Math.cos(armAngle ) > 0) ? this.xMin : this.xMax;
yText = (Math.sin(armAngle ) < 0) ? this.yMin : this.yMax;
while (!step.end()) {

+ 19
- 3
lib/graph3d/StepNumber.js View File

@ -115,13 +115,29 @@ StepNumber.prototype.getStep = function () {
};
/**
* Set the current value to the largest value smaller than start, which
* is a multiple of the step size
* Set the current to its starting value.
*
* By default, this will be the largest value smaller than start, which
* is a multiple of the step size.
*
* Parameters checkFirst is optional, default false.
* If set to true, move the current value one step if smaller than start.
*/
StepNumber.prototype.start = function() {
StepNumber.prototype.start = function(checkFirst) {
if (checkFirst === undefined) {
checkFirst = false;
}
this._current = this._start - this._start % this._step;
if (checkFirst) {
if (this.getCurrent() < this._start) {
this.next();
}
}
};
/**
* Do a step, add the step size to the current value
*/

Loading…
Cancel
Save