custom_function.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 #include <string>
5 #include <QWidget>
6 #include <QString>
7 #include <QDomDocument>
8 #include <QString>
9 #include "PlotJuggler/plotdata.h"
10 
11 using namespace PJ;
12 
14 
15 typedef std::shared_ptr<CustomFunction> CustomPlotPtr;
16 typedef std::unordered_map<std::string, CustomPlotPtr> CustomPlotMap;
17 
19 {
20  QString name;
21  QString globalVars;
22  QString function;
23  QString linkedSource;
24  QStringList additionalSources;
25 };
26 
27 typedef std::map<QString, SnippetData> SnippetsMap;
28 
29 SnippetData GetSnippetFromXML(const QDomElement& snippets_element);
30 
31 SnippetsMap GetSnippetsFromXML(const QString& xml_text);
32 
33 SnippetsMap GetSnippetsFromXML(const QDomElement& snippets_element);
34 
35 QDomElement ExportSnippetToXML(const SnippetData& snippet, QDomDocument& destination_doc);
36 
37 QDomElement ExportSnippets(const SnippetsMap& snippets, QDomDocument& destination_doc);
38 
39 
41 {
42 public:
43 
44  CustomFunction(const SnippetData& snippet);
45 
46  void clear();
47 
48  void calculateAndAdd(PlotDataMapRef& plotData);
49 
50  const SnippetData& snippet() const;
51 
52  const std::string& name() const;
53 
54  const std::string& linkedPlotName() const;
55 
56  QDomElement xmlSaveState(QDomDocument& doc) const;
57 
58  static CustomPlotPtr createFromXML(QDomElement& element);
59 
60  void calculate(const PlotDataMapRef& plotData, PlotData* dst_data);
61 
62  virtual QString language() const = 0;
63 
64  virtual void initEngine() = 0;
65 
66  virtual PlotData::Point calculatePoint(const PlotData& src_data,
67  const std::vector<const PlotData*>& channels_data,
68  size_t point_index) = 0;
69 
70 protected:
72  const std::string _linked_plot_name;
73  const std::string _plot_name;
74 
75  std::vector<std::string> _used_channels;
76 };
std::vector< std::string > _used_channels
QString globalVars
std::map< QString, SnippetData > SnippetsMap
QString linkedSource
const std::string _plot_name
std::shared_ptr< CustomFunction > CustomPlotPtr
const SnippetData _snippet
const char * name
std::unordered_map< std::string, CustomPlotPtr > CustomPlotMap
const std::string _linked_plot_name
SnippetData GetSnippetFromXML(const QDomElement &snippets_element)
void clear(lua_State *L, int table_index)
Definition: sol.hpp:10569
QStringList additionalSources
SnippetsMap GetSnippetsFromXML(const QString &xml_text)
QDomElement ExportSnippetToXML(const SnippetData &snippet, QDomDocument &destination_doc)
typename PlotDataBase< Value >::Point Point
Definition: plotdata.h:290
QDomElement ExportSnippets(const SnippetsMap &snippets, QDomDocument &destination_doc)


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Dec 6 2020 03:47:33