Commit 6aed7015 authored by Michael Zinsmaier's avatar Michael Zinsmaier

Adapted curved lines to process slice wise

 - still have to insert the defect values to get the desired segments
 - one extra iteration
parent a495be54
...@@ -167,10 +167,40 @@ ____________________________________________________ ...@@ -167,10 +167,40 @@ ____________________________________________________
} }
} }
// split input data at datapoints with "null" values for x or y coordinate
function calculateCurvePoints(datapoints, curvedLinesOptions, yPos) { function calculateCurvePoints(datapoints, curvedLinesOptions, yPos) {
// typeof points[curX] === 'number' var start = 0;
return calculateCurvePointsSlice(datapoints.points, datapoints.pointsize, curvedLinesOptions, yPos) var slicing = false;
var points = datapoints.points;
var pointSize = datapoints.pointsize;
var result = [];
for (var i = 0; i < points.length; i += pointSize) {
if (typeof points[i] === 'number' && typeof points[i + yPos] === 'number') {
if (!slicing) {
slicing = true;
start = i;
}
} else {
if (slicing) {
// a slice ends
slicing = false;
var slice = points.slice(start, i);
result = result.concat(calculateCurvePointsSlice(slice, pointSize, curvedLinesOptions, yPos));
}
// ensure that even defective points are included => line segment rendering
result = result.concat(points.slice(i, i + pointSize))
}
}
// last slice ends
if (slicing) {
var slice = points.slice(start, points.length);
result = result.concat(calculateCurvePointsSlice(slice, pointSize, curvedLinesOptions, yPos));
}
return result;
} }
function calculateCurvePointsSlice(points, pointSize, curvedLinesOptions, yPos) { function calculateCurvePointsSlice(points, pointSize, curvedLinesOptions, yPos) {
...@@ -314,7 +344,7 @@ ____________________________________________________ ...@@ -314,7 +344,7 @@ ____________________________________________________
//if fit option is selected additional datapoints get inserted before the curve calculations in nergal.dev s code. //if fit option is selected additional datapoints get inserted before the curve calculations in nergal.dev s code.
function calculateLegacyCurvePoints(points, pointSize, curvedLinesOptions, yPos) { function calculateLegacyCurvePoints(points, pointSize, curvedLinesOptions, yPos) {
var num = Number(curvedLinesOptions.curvePointFactor) * (points.length / pointSize); var num = Number(curvedLinesOptions.curvePointFactor) * (points.length / pointSize);
var xdata = new Array; var xdata = new Array;
var ydata = new Array; var ydata = new Array;
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
//curved line paramters //curved line paramters
var defaultParameters = { var defaultParameters = {
apply: true, apply: true,
legacyOverride: false legacyOverride: true
} }
//plot function //plot function
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<script id="source" language="javascript" type="text/javascript"> <script id="source" language="javascript" type="text/javascript">
$(function() { $(function() {
//data split //data split
var d1 = [[20, 20], [30, 80], [42, 60], [54, null], [80, 80], [90, 80]]; var d1 = [[10,10], [20, 20], [30, 80], [42, 60], [54, null], [80, 80], [90, 80]];
//general plot options //general plot options
var options = { var options = {
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
//curved line paramters //curved line paramters
var defaultParameters = { var defaultParameters = {
apply: true, apply: true,
legacyOverride: false legacyOverride: true
} }
//plot function //plot function
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
//curved line paramters //curved line paramters
var defaultParameters = { var defaultParameters = {
apply: true, apply: true,
legacyOverride: false legacyOverride: true
} }
//plot function //plot function
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment