Commit 2df5e06a authored by niklas.baumgarten's avatar niklas.baumgarten
Browse files

More virtual functions... trying to get rid of it at some point

parent 211a4e72
......@@ -8,6 +8,15 @@
typedef std::complex<double> Complex;
typedef std::vector<Complex> ComplexField1D;
typedef std::vector<Scalar> ScalarField1D;
typedef std::vector<std::vector<Complex>> ComplexField2D;
typedef std::vector<std::vector<Scalar>> ScalarField2D;
template<typename T>
class SampleGenerator {
protected:
int plotting = 0;
......@@ -35,6 +44,34 @@ public:
virtual string Name() const = 0;
virtual T EvalSample() {
Exit("Not implemented")
}
virtual T EvalSample(const Point &) {
Exit("Not implemented")
}
virtual T EvalSample(int, const Point &) {
Exit("Not implemented")
}
virtual T EvalSample(double, const Point &) {
Exit("Not implemented")
}
virtual T EvalSample(const cell &) {
Exit("Not implemented")
}
virtual T EvalSample(int, const cell &) {
Exit("Not implemented")
}
virtual T EvalSample(double, const cell &) {
Exit("Not implemented")
}
/*
* Scalar return values
*/
......@@ -158,9 +195,133 @@ public:
virtual Tensor EvalTensorSample(double, const cell &) {
Exit("Not implemented")
}
/*
* Complex Field 1D return values
*/
virtual ComplexField1D EvalComplexField1DSample() {
Exit("Not implemented")
}
virtual ComplexField1D EvalComplexField1DSample(const Point &) {
Exit("Not implemented")
}
virtual ComplexField1D EvalComplexField1DSample(int, const Point &) {
Exit("Not implemented")
}
virtual ComplexField1D EvalComplexField1DSample(double, const Point &) {
Exit("Not implemented")
}
virtual ComplexField1D EvalComplexField1DSample(const cell &) {
Exit("Not implemented")
}
virtual ComplexField1D EvalComplexField1DSample(int, const cell &) {
Exit("Not implemented")
}
virtual ComplexField1D EvalComplexField1DSample(double, const cell &) {
Exit("Not implemented")
}
/*
* Complex Field 2D return values
*/
virtual ComplexField2D EvalComplexField2DSample() {
Exit("Not implemented")
}
virtual ComplexField2D EvalComplexField2DSample(const Point &) {
Exit("Not implemented")
}
virtual ComplexField2D EvalComplexField2DSample(int, const Point &) {
Exit("Not implemented")
}
virtual ComplexField2D EvalComplexField2DSample(double, const Point &) {
Exit("Not implemented")
}
virtual ComplexField2D EvalComplexField2DSample(const cell &) {
Exit("Not implemented")
}
virtual ComplexField2D EvalComplexField2DSample(int, const cell &) {
Exit("Not implemented")
}
virtual ComplexField2D EvalComplexField2DSample(double, const cell &) {
Exit("Not implemented")
}
/*
* Complex Field 1D return values
*/
virtual ScalarField1D EvalScalarField1DSample() {
Exit("Not implemented")
}
virtual ScalarField1D EvalScalarField1DSample(const Point &) {
Exit("Not implemented")
}
virtual ScalarField1D EvalScalarField1DSample(int, const Point &) {
Exit("Not implemented")
}
virtual ScalarField1D EvalScalarField1DSample(double, const Point &) {
Exit("Not implemented")
}
virtual ScalarField1D EvalScalarField1DSample(const cell &) {
Exit("Not implemented")
}
virtual ScalarField1D EvalScalarField1DSample(int, const cell &) {
Exit("Not implemented")
}
virtual ScalarField1D EvalScalarField1DSample(double, const cell &) {
Exit("Not implemented")
}
/*
* Scalar Field 2D return values
*/
virtual ScalarField2D EvalScalarField2DSample() {
Exit("Not implemented")
}
virtual ScalarField2D EvalScalarField2DSample(const Point &) {
Exit("Not implemented")
}
virtual ScalarField2D EvalScalarField2DSample(int, const Point &) {
Exit("Not implemented")
}
virtual ScalarField2D EvalScalarField2DSample(double, const Point &) {
Exit("Not implemented")
}
virtual ScalarField2D EvalScalarField2DSample(const cell &) {
Exit("Not implemented")
}
virtual ScalarField2D EvalScalarField2DSample(int, const cell &) {
Exit("Not implemented")
}
virtual ScalarField2D EvalScalarField2DSample(double, const cell &) {
Exit("Not implemented")
}
};
class DummyGenerator : public SampleGenerator {
class DummyGenerator : public SampleGenerator<Scalar> {
public:
DummyGenerator(Meshes &meshes) : SampleGenerator(meshes) {}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment