OpenCurves  0.9
plotconstant.h
1 //
2 // author Kazys Stepanas
3 //
4 // Copyright (c) CSIRO 2013
5 //
6 #ifndef __PLOTCONSTANT_H_
7 #define __PLOTCONSTANT_H_
8 
9 #include "plotsconfig.h"
10 
11 #include "plotexpression.h"
12 
18 {
19 public:
22  inline PlotConstant(double constant) : _constant(constant) {}
23 
26  inline void setConstant(double constant) { _constant = constant; }
27 
30  inline double constant() const { return _constant; }
31 
34  virtual double sample(double sampleTime) const;
35 
37  virtual BindResult bind(const QList<PlotInstance *> &curves, PlotBindingTracker &bindTracker, PlotExpressionBindDomain &info, bool repeatLastBinding = false);
38 
40  virtual PlotExpression *clone() const;
41 
42 private:
44  virtual QString stringExpression() const;
45 
46  double _constant;
47 };
48 
49 #endif // __PLOTCONSTANT_H_
virtual PlotExpression * clone() const
Deep clone.
PlotConstant(double constant)
Create a constant expression.
Definition: plotconstant.h:22
Supports multiple bindings of the same expression to different curves.
Definition: plotbindingtracker.h:34
void setConstant(double constant)
Sets the constant value.
Definition: plotconstant.h:26
An expression yielding a constant numeric value.
Definition: plotconstant.h:17
Core data for binding a PlotExpression.
Definition: plotexpressionbinddomain.h:49
double constant() const
Get the constant value.
Definition: plotconstant.h:30
virtual BindResult bind(const QList< PlotInstance * > &curves, PlotBindingTracker &bindTracker, PlotExpressionBindDomain &info, bool repeatLastBinding=false)
Always bound, but sets the domain sample count to 1.
BindResult
Return values for the PlotExpression::bind() method.
Definition: plotexpressionbinddomain.h:15
A PlotExpression represents an operation in a plot equation.
Definition: plotexpression.h:91
virtual double sample(double sampleTime) const
Return the constant.