1 #ifndef CTL_ABSTRACTDATAMODEL2D_H 2 #define CTL_ABSTRACTDATAMODEL2D_H 15 typedef Range<float> SamplingRange;
51 public:virtual
float valueAt(
float x,
float y) const = 0;
58 void setParameter(const QString& name, const QVariant& value);
64 QString name()
const {
return _name; }
65 void setName(
const QString& name) { _name = name; }
67 Chunk2D<float>
sampleChunk(
const SamplingRange& xRange,
const SamplingRange& yRange,
68 uint nbSamplesX,
uint nbSamplesY)
const;
70 ~AbstractDataModel2D()
override =
default;
76 AbstractDataModel2D() =
default;
77 AbstractDataModel2D(
const AbstractDataModel2D&) =
default;
78 AbstractDataModel2D(AbstractDataModel2D&&) =
default;
79 AbstractDataModel2D& operator=(
const AbstractDataModel2D&) =
default;
80 AbstractDataModel2D& operator=(AbstractDataModel2D&&) =
default;
84 std::shared_ptr<AbstractDataModel2D> operator+(std::shared_ptr<AbstractDataModel2D> lhs,
85 std::shared_ptr<AbstractDataModel2D> rhs);
86 std::shared_ptr<AbstractDataModel2D> operator-(std::shared_ptr<AbstractDataModel2D> lhs,
87 std::shared_ptr<AbstractDataModel2D> rhs);
88 std::shared_ptr<AbstractDataModel2D> operator*(std::shared_ptr<AbstractDataModel2D> lhs,
89 std::shared_ptr<AbstractDataModel2D> rhs);
90 std::shared_ptr<AbstractDataModel2D> operator/(std::shared_ptr<AbstractDataModel2D> lhs,
91 std::shared_ptr<AbstractDataModel2D> rhs);
92 std::shared_ptr<AbstractDataModel2D>& operator+=(std::shared_ptr<AbstractDataModel2D>& lhs,
93 const std::shared_ptr<AbstractDataModel2D>& rhs);
94 std::shared_ptr<AbstractDataModel2D>& operator-=(std::shared_ptr<AbstractDataModel2D>& lhs,
95 const std::shared_ptr<AbstractDataModel2D>& rhs);
96 std::shared_ptr<AbstractDataModel2D>& operator*=(std::shared_ptr<AbstractDataModel2D>& lhs,
97 const std::shared_ptr<AbstractDataModel2D>& rhs);
98 std::shared_ptr<AbstractDataModel2D>& operator/=(std::shared_ptr<AbstractDataModel2D>& lhs,
99 const std::shared_ptr<AbstractDataModel2D>& rhs);
208 #endif // CTL_ABSTRACT2DDATAMODEL2D_H void fromVariant(const QVariant &variant) override
Definition: abstractdatamodel2d.cpp:55
The AbstractDataModel2D class is the base class for two-dimensional data models.
Definition: abstractdatamodel2d.h:47
virtual void setParameter(const QVariant ¶meter)
Definition: abstractdatamodel2d.cpp:32
virtual QVariant parameter() const
Definition: abstractdatamodel2d.cpp:19
Specify an interface for de-/serialization from/to QVariants.
Definition: serializationinterface.h:17
QVariant toVariant() const override
Definition: abstractdatamodel2d.cpp:70
#define CTL_TYPE_ID(newIndex)
Definition: serializationinterface.h:189
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
Chunk2D< float > sampleChunk(const SamplingRange &xRange, const SamplingRange &yRange, uint nbSamplesX, uint nbSamplesY) const
Definition: abstractdatamodel2d.cpp:88