6 #ifndef __PLOTFUNCTION_H_
7 #define __PLOTFUNCTION_H_
9 #include "plotsconfig.h"
11 #include "plotexpression.h"
13 #include "plotfunctioninfo.h"
14 #include "plotfunctionresult.h"
56 virtual double sample(
double sampleTime)
const;
59 const QVector<PlotExpression *> &
args()
const {
return _args; }
62 QVector<PlotExpression *>
cloneArgs()
const;
69 virtual QString stringExpression()
const;
71 QVector<PlotExpression *> _args;
74 void *_functionContext;
77 #endif // __PLOTFUNCTION_H_
PlotFunction(const FunctionDefinition *function, const QVector< PlotExpression * > &args=QVector< PlotExpression * >())
Create a function expression.
Supports multiple bindings of the same expression to different curves.
Definition: plotbindingtracker.h:34
virtual BindResult bind(const QList< PlotInstance * > &curves, PlotBindingTracker &bindTracker, PlotExpressionBindDomain &info, bool repeatLastBinding=false)
Bind the argument expressions for the function.
Core data for binding a PlotExpression.
Definition: plotexpressionbinddomain.h:49
virtual PlotExpression * clone() const
Deep clone, including arguments.
Plot sampling progress information for PlotFunction.
Definition: plotfunctioninfo.h:16
~PlotFunction()
Destructor, releasing all args().
QVector< PlotExpression * > cloneArgs() const
Clone the arguments.
virtual double sample(double sampleTime) const
Sample at sampleTime.
BindResult
Return values for the PlotExpression::bind() method.
Definition: plotexpressionbinddomain.h:15
const QVector< PlotExpression * > & args() const
Get the argument expressions.
Definition: plotfunction.h:59
Defines a function which can be used with the FunctionRegister.
Definition: functiondefinition.h:34
virtual void unbind()
Unbind arguments.
A PlotExpression represents an operation in a plot equation.
Definition: plotexpression.h:91
A function called to operation on any number of plot expressions.
Definition: plotfunction.h:31