2#include <Curve/Segment/CurveSegmentModel.hpp>
11CURVE_SEGMENT_METADATA(
12 SCORE_PLUGIN_CURVE_EXPORT, Curve::LinearSegment,
13 "a8bd14e2-d7e4-47cd-b76a-6a88fa11f0d2",
"Linear",
"Linear",
"")
17struct SCORE_PLUGIN_CURVE_EXPORT LinearSegmentData
19 bool operator==(
const LinearSegmentData&)
const noexcept =
default;
22class SCORE_PLUGIN_CURVE_EXPORT LinearSegment final :
public SegmentModel
24 MODEL_METADATA_IMPL(LinearSegment)
26 using data_type = LinearSegmentData;
27 using SegmentModel::SegmentModel;
29 LinearSegment(
const LinearSegment& other,
const id_type&
id, QObject* parent);
32 : SegmentModel{vis, parent}
38 : SegmentModel{vis, parent}
43 void on_startChanged()
override;
44 void on_endChanged()
override;
46 void updateData(
int numInterp)
const override;
47 double valueAt(
double x)
const override;
49 QVariant toSegmentSpecificData()
const override;
51 ossia::curve_segment<double> makeDoubleFunction()
const override;
52 ossia::curve_segment<float> makeFloatFunction()
const override;
53 ossia::curve_segment<int> makeIntFunction()
const override;
57SCORE_SERIALIZE_DATASTREAM_DECLARE(SCORE_PLUGIN_CURVE_EXPORT, Curve::LinearSegmentData)
58Q_DECLARE_METATYPE(Curve::LinearSegmentData)
59W_REGISTER_ARGTYPE(Curve::LinearSegmentData)
Definition DataStreamVisitor.hpp:202
Definition JSONVisitor.hpp:423
Utilities and base classes for 1D curves.
Definition FocusDispatcher.hpp:12