fast::LinePlotter class

Plot lines to a graph Qt widget in real-time.

Inputs:

  • *: FloatScalar

Outputs: None

Base classes

class Plotter

Public functions

auto create(int bufferSize, int updateFrequency, bool circularMode, PlottingStyle style, std::string styleFilename, bool disableShowMousePosition) std -> std::shared_ptr<LinePlotter>
auto connect(std::shared_ptr<ProcessObject> parentProcessObject, uint outputPortID = 0) -> std::shared_ptr<LinePlotter>
auto connect(uint inputPortID, std::shared_ptr<DataObject> inputDataObject) -> std::shared_ptr<LinePlotter>
auto connect(std::shared_ptr<DataObject> inputDataObject) -> std::shared_ptr<LinePlotter>
void setNames(std::map<uint, std::string> names)
void setBufferSize(int size)
void addHorizontalLine(float x, Color color = Color::Green())
void setCircularMode(bool circular)

Public slots

void processQueue()

Protected functions

void removeUnusedHorizontalLines()
void execute() override

Protected variables

int m_bufferSize
std::map<uint, std::vector<double>> m_buffer
std::mutex m_queueMutex
std::deque<std::map<int, Vector2f>> m_queue
std::vector<double> m_xAxis
int m_currentIndex
std::map<uint, std::string> m_names
std::uint64_t m_frameCounter
bool m_circularMode
int64_t m_current
std::vector<std::pair<float, JKQTPGeoInfiniteLine*>> m_horizontalLines
std::mutex m_horizontalLinesMutex

Function documentation

void fast::LinePlotter::setNames(std::map<uint, std::string> names)

Parameters
names

Set names for each line