Browse Source

Merge pull request #2165 from wimrijnders/PR6

Moved recurring code for StepNumber to start() method
codeClimate
yotamberk 8 years ago
committed by GitHub
parent
commit
11b921028c
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 legendMin = isValueLegend ? this.valueMin : this.zMin;
var legendMax = isValueLegend ? this.valueMax : this.zMax; var legendMax = isValueLegend ? this.valueMax : this.zMax;
var step = new StepNumber(legendMin, legendMax, (legendMax-legendMin)/5, true); var step = new StepNumber(legendMin, legendMax, (legendMax-legendMin)/5, true);
step.start();
if (step.getCurrent() < legendMin) {
step.next();
}
step.start(true);
var y; var y;
while (!step.end()) { while (!step.end()) {
y = bottom - (step.getCurrent() - legendMin) / (legendMax - legendMin) * height; y = bottom - (step.getCurrent() - legendMin) / (legendMax - legendMin) * height;
@ -1267,10 +1265,8 @@ Graph3d.prototype._redrawAxis = function() {
ctx.lineWidth = 1; ctx.lineWidth = 1;
prettyStep = (this.defaultXStep === undefined); prettyStep = (this.defaultXStep === undefined);
step = new StepNumber(this.xMin, this.xMax, this.xStep, prettyStep); 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()) { while (!step.end()) {
var x = step.getCurrent(); var x = step.getCurrent();
@ -1314,10 +1310,8 @@ Graph3d.prototype._redrawAxis = function() {
ctx.lineWidth = 1; ctx.lineWidth = 1;
prettyStep = (this.defaultYStep === undefined); prettyStep = (this.defaultYStep === undefined);
step = new StepNumber(this.yMin, this.yMax, this.yStep, prettyStep); 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()) { while (!step.end()) {
if (this.showGrid) { if (this.showGrid) {
from = new Point3d(this.xMin, step.getCurrent(), this.zMin); from = new Point3d(this.xMin, step.getCurrent(), this.zMin);
@ -1359,10 +1353,8 @@ Graph3d.prototype._redrawAxis = function() {
ctx.lineWidth = 1; ctx.lineWidth = 1;
prettyStep = (this.defaultZStep === undefined); prettyStep = (this.defaultZStep === undefined);
step = new StepNumber(this.zMin, this.zMax, this.zStep, prettyStep); 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; xText = (Math.cos(armAngle ) > 0) ? this.xMin : this.xMax;
yText = (Math.sin(armAngle ) < 0) ? this.yMin : this.yMax; yText = (Math.sin(armAngle ) < 0) ? this.yMin : this.yMax;
while (!step.end()) { 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; 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 * Do a step, add the step size to the current value
*/ */

Loading…
Cancel
Save