RIT VEXU Core API
Loading...
Searching...
No Matches
graph_drawer.h
1#pragma once
2
3#include "../core/include/utils/geometry.h"
4#include "../core/include/utils/vector2d.h"
5#include "vex.h"
6#include <cmath>
7#include <stdio.h>
8#include <string>
9#include <vector>
10
11class GraphDrawer {
12public:
19 GraphDrawer(int num_samples, double lower_bound, double upper_bound, std::vector<vex::color> colors,
20 size_t num_series = 1);
25 void add_samples(std::vector<point_t> sample);
26
32 void add_samples(std::vector<double> sample);
33
41 void draw(vex::brain::lcd &screen, int x, int y, int width, int height);
42
43private:
44 std::vector<std::vector<point_t>> series;
45 int sample_index = 0;
46 std::vector<vex::color> cols;
47 vex::color bgcol = vex::transparent;
48 bool border;
49 double upper;
50 double lower;
51 bool auto_fit = false;
52};