1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
3
4//
5// W A R N I N G
6// -------------
7//
8// This file is not part of the QtGraphs API. It exists purely as an
9// implementation detail. This header file may change from version to
10// version without notice, or even be removed.
11//
12// We mean it.
13
14#ifndef QSURFACEDATAPROXY_P_H
15#define QSURFACEDATAPROXY_P_H
16
17#include "qsurfacedataproxy.h"
18#include "qabstractdataproxy_p.h"
19
20QT_BEGIN_NAMESPACE
21
22class QAbstract3DAxis;
23
24class QSurfaceDataProxyPrivate : public QAbstractDataProxyPrivate
25{
26 Q_DECLARE_PUBLIC(QSurfaceDataProxy)
27
28public:
29 QSurfaceDataProxyPrivate(QSurfaceDataProxy *q);
30 virtual ~QSurfaceDataProxyPrivate();
31
32 void resetArray(QSurfaceDataArray *newArray);
33 void setRow(int rowIndex, QSurfaceDataRow *row);
34 void setRows(int rowIndex, const QSurfaceDataArray &rows);
35 void setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item);
36 int addRow(QSurfaceDataRow *row);
37 int addRows(const QSurfaceDataArray &rows);
38 void insertRow(int rowIndex, QSurfaceDataRow *row);
39 void insertRows(int rowIndex, const QSurfaceDataArray &rows);
40 void removeRows(int rowIndex, int removeCount);
41 void limitValues(QVector3D &minValues, QVector3D &maxValues, QAbstract3DAxis *axisX,
42 QAbstract3DAxis *axisY, QAbstract3DAxis *axisZ) const;
43 bool isValidValue(float value, QAbstract3DAxis *axis) const;
44
45 void setSeries(QAbstract3DSeries *series) override;
46
47protected:
48 QSurfaceDataArray *m_dataArray;
49
50private:
51 void clearRow(int rowIndex);
52 void clearArray();
53};
54
55QT_END_NAMESPACE
56
57#endif
58

source code of qtgraphs/src/graphs/data/qsurfacedataproxy_p.h