1// Copyright (C) 2024 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3#ifndef QTGRAPHS_QSPLINE3DSERIES_H
4#define QTGRAPHS_QSPLINE3DSERIES_H
5
6#include <QtGraphs/qscatter3dseries.h>
7QT_BEGIN_NAMESPACE
8
9class QSpline3DSeriesPrivate;
10
11class Q_GRAPHS_EXPORT QSpline3DSeries : public QScatter3DSeries
12{
13 Q_OBJECT
14 Q_DECLARE_PRIVATE(QSpline3DSeries)
15 Q_PROPERTY(bool splineVisible READ isSplineVisible WRITE setSplineVisible NOTIFY
16 splineVisibilityChanged FINAL)
17 Q_PROPERTY(qreal splineTension READ splineTension WRITE setSplineTension NOTIFY
18 splineTensionChanged FINAL)
19 Q_PROPERTY(qreal splineKnotting READ splineKnotting WRITE setSplineKnotting NOTIFY
20 splineKnottingChanged FINAL)
21 Q_PROPERTY(bool splineLooping READ isSplineLooping WRITE setSplineLooping NOTIFY
22 splineLoopingChanged FINAL)
23 Q_PROPERTY(
24 QColor splineColor READ splineColor WRITE setSplineColor NOTIFY splineColorChanged FINAL)
25 Q_PROPERTY(int splineResolution READ splineResolution WRITE setSplineResolution NOTIFY
26 splineResolutionChanged FINAL)
27 QML_ADDED_IN_VERSION(6, 9)
28 QML_ELEMENT
29 QML_UNCREATABLE("Trying to create uncreatable: QSpline3DSeries, use Spline3DSeries instead.")
30public:
31 explicit QSpline3DSeries(QObject *parent = nullptr);
32 explicit QSpline3DSeries(QScatterDataProxy *dataProxy, QObject *parent = nullptr);
33 ~QSpline3DSeries() override;
34
35 void setSplineVisible(bool draw);
36 bool isSplineVisible() const;
37
38 void setSplineTension(qreal tension);
39 qreal splineTension() const;
40
41 void setSplineKnotting(qreal knotting);
42 qreal splineKnotting() const;
43
44 void setSplineLooping(bool looping);
45 bool isSplineLooping() const;
46
47 void setSplineColor(QColor color);
48 QColor splineColor() const;
49
50 void setSplineResolution(int resolution);
51 int splineResolution() const;
52
53Q_SIGNALS:
54 void splineVisibilityChanged(bool visible);
55 void splineTensionChanged(qreal tension);
56 void splineKnottingChanged(qreal knotting);
57 void splineLoopingChanged(bool looping);
58 void splineColorChanged(QColor color);
59 void splineResolutionChanged(int resolution);
60
61protected:
62 explicit QSpline3DSeries(QSpline3DSeriesPrivate &d, QObject *parent = nullptr);
63
64private:
65 Q_DISABLE_COPY_MOVE(QSpline3DSeries)
66
67 friend class QQuickGraphsScatter;
68};
69
70QT_END_NAMESPACE
71
72#endif // QTGRAPHS_QSPLINE3DSERIES_H
73

source code of qtgraphs/src/graphs3d/data/qspline3dseries.h