MyScript Interactive Ink SDK 4.2.0
MathExternalExpression.h
1// Copyright @ MyScript. All rights reserved.
2
3#pragma once
4
5#include <iink/MathSolverController.h>
6#include <iink/graphics/PointD.h>
7#include <iink/String.h>
8
9#include <memory>
10#include <vector>
11
12namespace myscript {
13namespace iink {
14
15class ParameterSet;
16
23{
24public:
25
26 virtual ~MathExternalExpression() = default;
27
33 virtual String getString() = 0;
34
46 virtual MathDiagnostic getDiagnostic(const String& task, std::shared_ptr<ParameterSet> overrideConfiguration = nullptr) = 0;
47
64 virtual std::vector<MathEvaluationVariables> getEvaluables() = 0;
65
87 virtual std::vector<std::vector<graphics::PointD>> evaluate(const MathEvaluationVariables& variables,
88 double from, double to, int pointCount, std::shared_ptr<ParameterSet> overrideConfiguration = nullptr) = 0;
89
99
105 virtual std::vector<MathVariableInfo> getVariables() = 0;
106
116 virtual double getVariableValue(const String& name) = 0;
117
127 virtual void setVariableValue(const String& name, double value) = 0;
128
136 virtual bool removeVariableValue(const String& name) = 0;
137};
138
139}
140}
Definition: MathExternalExpression.h:23
virtual void setVariableValue(const String &name, double value)=0
virtual bool removeVariableValue(const String &name)=0
virtual std::vector< MathEvaluationVariables > getEvaluables()=0
virtual MathDiagnostic getDiagnostic(const String &task, std::shared_ptr< ParameterSet > overrideConfiguration=nullptr)=0
virtual double getVariableValue(const String &name)=0
virtual MathVariableDefinition asVariableDefinition()=0
virtual std::vector< MathVariableInfo > getVariables()=0
virtual std::vector< std::vector< graphics::PointD > > evaluate(const MathEvaluationVariables &variables, double from, double to, int pointCount, std::shared_ptr< ParameterSet > overrideConfiguration=nullptr)=0
Definition: String.h:27
MathDiagnostic
Definition: MathSolverController.h:24
Definition: Configuration.h:10
Definition: MathSolverController.h:116
Definition: MathSolverController.h:76