summaryrefslogtreecommitdiff
path: root/src/plot/plot-buffer.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/plot/plot-buffer.js')
-rw-r--r--src/plot/plot-buffer.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/plot/plot-buffer.js b/src/plot/plot-buffer.js
new file mode 100644
index 0000000..b13cdd8
--- /dev/null
+++ b/src/plot/plot-buffer.js
@@ -0,0 +1,22 @@
+export class PlotBuffer {
+ constructor(maxPoints = 1600) {
+ this.maxPoints = maxPoints;
+ this.points = [];
+ }
+
+ addPoint(point) {
+ this.points.push(point);
+ if (this.points.length > this.maxPoints) {
+ this.points.splice(0, this.points.length - this.maxPoints);
+ }
+ }
+
+ clear() {
+ this.points = [];
+ }
+
+ getVisiblePoints(currentPlotTimeMs, windowDurationMs) {
+ const minTime = currentPlotTimeMs - windowDurationMs;
+ return this.points.filter((point) => point.timeMs >= minTime && point.timeMs <= currentPlotTimeMs);
+ }
+}