| abstractitemmodelhandler.cpp |
|
8417 |
- |
| abstractitemmodelhandler_p.h |
|
2790 |
- |
| baritemmodelhandler.cpp |
|
14253 |
- |
| baritemmodelhandler_p.h |
|
1412 |
- |
| qabstract3dseries.cpp |
!
\class QAbstract3DSeries
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QAbstract3DSeries class is a base class for all 3D data series.
There are inherited classes for each supported series type: QBar3DSeries,
QScatter3DSeries, and QSurface3DSeries.
For more information, see \l{Qt Graphs Data Handling with 3D}.
|
31500 |
- |
| qabstract3dseries.h |
|
6266 |
- |
| qabstract3dseries_p.h |
|
5105 |
- |
| qabstractdataproxy.cpp |
!
\class QAbstractDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QAbstractDataProxy class is a base class for all 3D graph proxies.
The following graphs type specific inherited classes are used instead
of the base class: QBarDataProxy, QScatterDataProxy, and QSurfaceDataProxy.
For more information, see \l{Qt Graphs Data Handling with 3D}.
|
2374 |
- |
| qabstractdataproxy.h |
|
1205 |
- |
| qabstractdataproxy_p.h |
|
1037 |
- |
| qbar3dseries.cpp |
!
\class QBar3DSeries
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QBar3DSeries class represents a data series in a 3D bar graph.
This class manages the series specific visual elements, as well as the series
data (via a data proxy).
Regarding the proxy-series relationship, it is crucial to highlight
a couple of key points. In this context, data is stored in series and
users can access the dataset through the series. This series is controlled
or represented by a proxy object. Thus, the proxy can be used to manage various
operations on the data and update the actual dataset. However, it is necessary
to create a series associated with this proxy to edit the dataset.
If no data proxy is set explicitly for the series, the series creates a
default proxy. Setting another proxy will destroy the existing proxy and all
data added to the series.
QBar3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():
\table
\row
\li @rowTitle \li Title from row axis
\row
\li @colTitle \li Title from column axis
\row
\li @valueTitle \li Title from value axis
\row
\li @rowIdx \li Visible row index. Localized using the graph locale.
\row
\li @colIdx \li Visible column index. Localized using the graph locale.
\row
\li @rowLabel \li Label from row axis
\row
\li @colLabel \li Label from column axis
\row
\li @valueLabel \li Item value formatted using the format of the value
axis attached to the graph. For more information,
see \l{QValue3DAxis::labelFormat}.
\row
\li @seriesName \li Name of the series
\row
\li %<format spec> \li Item value in the specified format. Formatted
using the same rules as \l{QValue3DAxis::labelFormat}.
\endtable
For example:
\snippet doc_src_qtgraphs.cpp labelformat
\sa {Qt Graphs Data Handling with 3D}, Q3DGraphsWidgetItem::locale
|
30866 |
- |
| qbar3dseries.h |
|
4923 |
- |
| qbar3dseries_p.h |
|
2339 |
- |
| qbardataitem.cpp |
!
\class QBarDataItem
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QBarDataItem class provides a container for resolved data to be
added to bar graphs.
A bar data item holds the data for a single rendered bar in a graph.
Bar data proxies parse data into QBarDataItem instances for bar graphs.
\sa QBarDataProxy, {Qt Graphs C++ Classes for 3D}
|
1379 |
- |
| qbardataitem.h |
|
939 |
- |
| qbardataproxy.cpp |
!
\class QBarDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QBarDataProxy class is the data proxy for a 3D bars graph.
A bar data proxy handles adding, inserting, changing, and removing rows of
data.
The data array is a list of vectors (rows) of QBarDataItem instances.
Each row can contain a different number of items or even be null.
QBarDataProxy takes ownership of all QtGraphs::QBarDataRow objects
passed to it, whether directly or in a QtGraphs::QBarDataArray container.
If bar data row pointers are used to directly modify data after adding the
array to the proxy, the appropriate signal must be emitted to update the
graph.
QBarDataProxy optionally keeps track of row and column labels, which
QCategory3DAxis can utilize to show axis labels.
The row and column labels are stored in a separate array from the data in the
series rather. Row processing methods are available in the proxy and provide
alternative versions that do not affect row labels. This enables
the option of having row labels that relate to the position of the data in
the array rather than the data itself. Since the series holds the data and
row and column labels, it is necessary to create a series associated with the
proxy before using these functions for them.
\sa {Qt Graphs Data Handling with 3D}
|
23413 |
- |
| qbardataproxy.h |
|
3292 |
- |
| qbardataproxy_p.h |
|
1751 |
- |
| qcustom3ditem.cpp |
!
\class QCustom3DItem
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QCustom3DItem class adds a custom item to a graph.
A custom item has a custom mesh, position, scaling, rotation, and an optional
texture.
\sa Q3DGraphsWidgetItem::addCustomItem()
|
20923 |
- |
| qcustom3ditem.h |
|
3863 |
- |
| qcustom3ditem_p.h |
|
1959 |
- |
| qcustom3dlabel.cpp |
!
\class QCustom3DLabel
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QCustom3DLabel class adds a custom label to a graph.
The text, font, position, scaling, rotation, and colors of a custom label can
be set. In addition, the visibility of the borders and background of the
label can be toggled. Colors, borders, and background are determined by the
active theme unless set explicitly.
\note In scaling, the z-coordinate has no effect. Setting the same x- and
y-coordinates retains the original font dimensions.
\sa Q3DGraphsWidgetItem::addCustomItem()
|
10371 |
- |
| qcustom3dlabel.h |
|
2724 |
- |
| qcustom3dlabel_p.h |
|
1236 |
- |
| qcustom3dvolume.cpp |
!
\class QCustom3DVolume
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QCustom3DVolume class adds a volume rendered object to a graph.
A volume rendered
object is a box with a 3D texture. Three slice planes are supported for the
volume, one along each main axis of the volume.
Rendering volume objects is very performance intensive, especially when the
volume is largely transparent, as the contents of the volume are ray-traced.
The performance scales nearly linearly with the amount of pixels that the
volume occupies on the screen, so showing the volume in a smaller view or
limiting the zoom level of the graph are easy ways to improve performance.
Similarly, the volume texture dimensions have a large impact on performance.
If the frame rate is more important than pixel-perfect rendering of the
volume contents, consider turning the high definition shader off by setting
the useHighDefShader property to \c{false}.
\note Volumetric objects utilize 3D textures, which are not supported in
OpenGL ES2 environments.
\note Only two formats are supported:
QImage::Format_Indexed8 and QImage::Format_ARGB32. If an indexed format is
specified, colorTable must also be set. Defaults to QImage::Format_ARGB32.
\sa Q3DGraphsWidgetItem::addCustomItem(), useHighDefShader
|
51156 |
- |
| qcustom3dvolume.h |
|
6071 |
- |
| qcustom3dvolume_p.h |
|
2451 |
- |
| qheightmapsurfacedataproxy.cpp |
!
\class QHeightMapSurfaceDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief Base proxy class for Q3DSurfaceWidgetItem.
QHeightMapSurfaceDataProxy takes care of the processing of height map data
related to surfaces. It provides the visualization of a height map as a
surface plot.
Since height maps do not contain values for X or Z axes, those values need to
be given separately using the minXValue, maxXValue, minZValue, and maxZValue
properties. The X-value corresponds to image horizontal direction and the Z-value
to the vertical. Setting any of these properties triggers an asynchronous
re-resolution of any existing height map.
\sa QSurfaceDataProxy, {Qt Graphs Data Handling with 3D}
|
28692 |
- |
| qheightmapsurfacedataproxy.h |
|
3165 |
- |
| qheightmapsurfacedataproxy_p.h |
|
1465 |
- |
| qitemmodelbardataproxy.cpp |
!
\class QItemModelBarDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief Proxy class for presenting data in item models with Q3DBarsWidgetItem.
QItemModelBarDataProxy allows you to use QAbstractItemModel derived models as
a data source for Q3DBarsWidgetItem. It uses the defined mappings to map data from the
model to rows, columns, and values of Q3DBarsWidgetItem graph.
The data is resolved asynchronously whenever mappings or the model changes.
QBarDataProxy::arrayReset() is emitted when the data has been resolved.
However, when useModelCategories property is set to true, single item changes
are resolved synchronously, unless the same frame also contains a change that
causes the whole model to be resolved.
Mappings can be used in the following ways:
\list
\li If useModelCategories property is set to true, this proxy will map rows and
columns of QAbstractItemModel directly to rows and columns of Q3DBarsWidgetItem, and uses the value
returned for Qt::DisplayRole as bar value by default.
The value role to be used can be redefined if Qt::DisplayRole is not suitable.
\li For models that do not have data already neatly sorted into rows and columns, such as
QAbstractListModel based models, you can define a role from the model to map for each of the
row, column and value.
\li If you do not want to include all data contained in the model, or the autogenerated rows and
columns are not ordered as you wish, you can specify which rows and columns should be included
and in which order by defining an explicit list of categories for either or both of rows and
columns.
\endlist
For example, assume that you have a custom QAbstractItemModel for storing various monthly values
related to a business.
Each item in the model has the roles "year", "month", "income", and "expenses".
You could do the following to display the data in a bar graph:
\snippet doc_src_qtgraphs.cpp barmodelproxy
If the fields of the model do not contain the data in the exact format you
need, you can specify a search pattern regular expression and a replace rule
for each role to get the value in a format you need. For more information on how
the replacement using regular expressions works, see QString::replace(const
QRegularExpression &rx, const QString &after) function documentation. Note
that using regular expressions has an impact on the performance, so it's more
efficient to utilize item models where doing search and replace is not
necessary to get the desired values.
For example about using the search patterns in conjunction with the roles,
see \l{Simple Bar Graph}.
\sa {Qt Graphs Data Handling with 3D}
|
42269 |
- |
| qitemmodelbardataproxy.h |
|
9035 |
- |
| qitemmodelbardataproxy_p.h |
|
1730 |
- |
| qitemmodelscatterdataproxy.cpp |
!
\class QItemModelScatterDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief Proxy class for presenting data in item models with Q3DScatterWidgetItem.
QItemModelScatterDataProxy allows you to use QAbstractItemModel derived
models as a data source for Q3DScatterWidgetItem. It maps roles of QAbstractItemModel
to the XYZ-values of Q3DScatterWidgetItem points.
The data is resolved asynchronously whenever the mapping or the model
changes. QScatterDataProxy::arrayReset() is emitted when the data has been
resolved. However, inserts, removes, and single data item changes after the
model initialization are resolved synchronously, unless the same frame also
contains a change that causes the whole model to be resolved.
Mapping ignores rows and columns of the QAbstractItemModel and treats
all items equally. It requires the model to provide roles for the data items
that can be mapped to X, Y, and Z-values for the scatter points.
For example, assume that you have a custom QAbstractItemModel for storing
various measurements done on material samples, providing data for roles such
as "density", "hardness", and "conductivity". You could visualize these
properties on a scatter graph using this proxy:
\snippet doc_src_qtgraphs.cpp scattermodelproxy
If the fields of the model do not contain the data in the exact format you
need, you can specify a search pattern regular expression and a replace rule
for each role to get the value in a format you need. For more information on
how the replacement using regular expressions works, see the
QString::replace(const QRegularExpression &rx, const QString &after)
function documentation. Note that using regular expressions has an impact on
performance, so it's more efficient to utilize item models where doing search
and replace is not necessary to get the desired values.
For example about using the search patterns in conjunction with the roles,
see ItemModelBarDataProxy usage in \l{Simple Bar Graph}.
\sa {Qt Graphs Data Handling with 3D}
|
32698 |
- |
| qitemmodelscatterdataproxy.h |
|
6739 |
- |
| qitemmodelscatterdataproxy_p.h |
|
1497 |
- |
| qitemmodelsurfacedataproxy.cpp |
!
\class QItemModelSurfaceDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief Proxy class for presenting data in item models with Q3DSurfaceWidgetItem.
QItemModelSurfaceDataProxy allows you to use QAbstractItemModel derived
models as a data source for Q3DSurfaceWidgetItem. It uses the defined mappings to map
data from the model to rows, columns, and surface points of Q3DSurfaceWidgetItem graph.
Data is resolved asynchronously whenever the mapping or the model changes.
QSurfaceDataProxy::arrayReset() is emitted when the data has been resolved.
However, when useModelCategories property is set to \c true, single item
changes are resolved synchronously, unless the same frame also contains a
change that causes the whole model to be resolved.
Mappings can be used in the following ways:
\list
\li If useModelCategories property is set to \c true, this proxy will map rows and
columns of QAbstractItemModel to rows and columns of Q3DSurfaceWidgetItem, and uses the value returned for
Qt::DisplayRole as Y-position by default. Row and column headers are used for Z-position and
X-position by default, if they can be converted to floats. Otherwise row and column indices
are used.
The Y-position role to be used can be redefined if Qt::DisplayRole is not suitable.
The Z-position and X-position roles to be used can be redefined if the headers or indices
are not suitable.
\li For models that do not have data already neatly sorted into rows and columns, such as
QAbstractListModel based models, you can define a role from the model to map for each of the
row, column and Y-position.
\li If you do not want to include all data contained in the model, or the autogenerated rows and
columns are not ordered as you wish, you can specify which rows and columns should be included
and in which order by defining an explicit list of categories for either or both of rows and
columns.
\endlist
For example, assume that you have a custom QAbstractItemModel storing surface topography data.
Each item in the model has the roles "longitude", "latitude", and "height".
The item model already contains the data properly sorted so that longitudes and latitudes are
first encountered in correct order, which enables us to utilize the row and column category
autogeneration.
You could do the following to display the data in a surface graph:
\snippet doc_src_qtgraphs.cpp surfacemodelproxy
If the fields of the model do not contain the data in the exact format you
need, you can specify a search pattern regular expression and a replace rule
for each role to get the value in a format you need. For more information on how
the replacement using regular expressions works, see QString::replace(const
QRegularExpression &rx, const QString &after) function documentation. Note
that using regular expressions has an impact on the performance, so it's more
efficient to utilize item models where doing search and replace is not
necessary to get the desired values.
For example about using the search patterns in conjunction with the roles,
see ItemModelBarDataProxy usage in \l{Simple Bar Graph}.
\sa {Qt Graphs Data Handling with 3D}
|
50263 |
- |
| qitemmodelsurfacedataproxy.h |
|
10116 |
- |
| qitemmodelsurfacedataproxy_p.h |
|
1868 |
- |
| qscatter3dseries.cpp |
!
\class QScatter3DSeries
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QScatter3DSeries class represents a data series in a 3D scatter
graph.
This class manages the series-specific visual elements, as well as the series
data (via a data proxy).
Regarding the proxy-series relationship, it is crucial to highlight
a couple of key points. In this context, data is stored in series and
users can access the dataset through the series. This series is controlled
or represented by a proxy object. Thus, the proxy can be used to manage various
operations on the data and update the actual dataset. However, it is necessary
to create a series associated with this proxy to edit the dataset.
If no data proxy is set explicitly for the series, the series creates a
default proxy. Setting another proxy will destroy the existing proxy and all
data added to the series.
QScatter3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():
\table
\row
\li @xTitle \li Title from x-axis
\row
\li @yTitle \li Title from y-axis
\row
\li @zTitle \li Title from z-axis
\row
\li @xLabel \li Item value formatted using the format of the x-axis.
For more information, see
\l{QValue3DAxis::labelFormat}.
\row
\li @yLabel \li Item value formatted using the format of the y-axis.
For more information, see
\l{QValue3DAxis::labelFormat}.
\row
\li @zLabel \li Item value formatted using the format of the z-axis.
For more information, see
\l{QValue3DAxis::labelFormat}.
\row
\li @seriesName \li Name of the series
\endtable
For example:
\snippet doc_src_qtgraphs.cpp labelformat-scatter
\sa {Qt Graphs Data Handling with 3D}
|
21044 |
- |
| qscatter3dseries.h |
|
3396 |
- |
| qscatter3dseries_p.h |
|
1659 |
- |
| qscatterdataitem.cpp |
!
\class QScatterDataItem
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QScatterDataItem class provides a container for resolved data to
be added to scatter graphs.
A scatter data item holds the data for a single rendered item in a scatter
graph. Scatter data proxies parse data into QScatterDataItem instances for
scatter graphs.
\sa QScatterDataProxy, {Qt Graphs C++ Classes for 3D}
|
2914 |
- |
| qscatterdataitem.h |
|
1541 |
- |
| qscatterdataproxy.cpp |
!
\class QScatterDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QScatterDataProxy class is the data proxy for 3D scatter graphs.
A scatter data proxy handles adding, inserting, changing, and removing data
items. Since data is stored in series, it is necessary
to create a series associated with the proxy before using these functions for
the dataset.
QScatterDataProxy takes ownership of all
QtGraphs::QScatterDataArray and QScatterDataItem objects passed to
it.
\sa {Qt Graphs Data Handling with 3D}
|
15265 |
- |
| qscatterdataproxy.h |
|
2326 |
- |
| qscatterdataproxy_p.h |
|
1718 |
- |
| qspline3dseries.cpp |
!
\class QSpline3DSeries
\inmodule QtGraphs
\ingroup graphs_3D
\since 6.9
\brief The QSpline3DSeries class represents a data series as a spline.
Spline graphs are used to show information as a series of data points connected
by a curved or straight Catmull-Rom spline.
This class manages the spline specific visual elements.
Spline3DSeries extends the Scatter3DSeries API.
|
9384 |
- |
| qspline3dseries.h |
|
2551 |
- |
| qspline3dseries_p.h |
|
1000 |
- |
| qsurface3dseries.cpp |
!
\class QSurface3DSeries
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QSurface3DSeries class represents a data series in a 3D surface
graph.
This class manages the series-specific visual elements, as well as the series
data (via a data proxy).
Regarding the proxy-series relationship, it is crucial to highlight
a couple of key points. In this context, data is stored in series and
users can access the dataset through the series. This series is controlled
or represented by a proxy object. Thus, the proxy can be used to manage various
operations on the data and update the actual dataset. However, it is necessary
to create a series associated with this proxy to edit the dataset.
If no data proxy is set explicitly for the series, the series creates a
default proxy. Setting another proxy will destroy the existing proxy and all
data added to the series.
The object mesh set via the QAbstract3DSeries::mesh property defines the
selection pointer shape in a surface series.
QSurface3DSeries supports the following format tags for QAbstract3DSeries::setItemLabelFormat():
\table
\row
\li @xTitle \li Title from x-axis
\row
\li @yTitle \li Title from y-axis
\row
\li @zTitle \li Title from z-axis
\row
\li @xLabel \li Item value formatted using the format of the x-axis.
For more information, see
\l{QValue3DAxis::labelFormat}.
\row
\li @yLabel \li Item value formatted using the format of the y-axis.
For more information, see
\l{QValue3DAxis::labelFormat}.
\row
\li @zLabel \li Item value formatted using the format of the z-axis.
For more information, see
\l{QValue3DAxis::labelFormat}.
\row
\li @seriesName \li Name of the series
\endtable
For example:
\snippet doc_src_qtgraphs.cpp labelformat
\sa {Qt Graphs Data Handling with 3D}
|
28865 |
- |
| qsurface3dseries.h |
|
5101 |
- |
| qsurface3dseries_p.h |
|
1934 |
- |
| qsurfacedataitem.cpp |
!
\class QSurfaceDataItem
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QSurfaceDataItem class provides a container for resolved data to
be added to surface graphs.
A surface data item holds the data for a single vertex in a surface graph.
Surface data proxies parse data into QSurfaceDataItem instances for
surface graphs.
\sa QSurfaceDataProxy, {Qt Graphs C++ Classes for 3D}
|
1966 |
- |
| qsurfacedataitem.h |
|
1269 |
- |
| qsurfacedataproxy.cpp |
!
\class QSurfaceDataProxy
\inmodule QtGraphs
\ingroup graphs_3D
\brief The QSurfaceDataProxy class is the data proxy for a 3D surface graph.
A surface data proxy handles surface related data in rows. For this it
provides two auxiliary type aliases: QtGraphs::QSurfaceDataArray and
QtGraphs::QSurfaceDataRow. \c QSurfaceDataArray is a QList that
controls the rows. \c QSurfaceDataRow is a QList that contains
QSurfaceDataItem objects. For more information about how to feed the data to
the proxy, see the sample code in the Q3DSurfaceWidgetItem documentation. Since data is
stored in series, it is necessary to create a series associated with the
proxy before using these functions for the dataset.
All rows must have the same number of items.
QSurfaceDataProxy takes ownership of all \c QSurfaceDataRow objects passed to
it, whether directly or in a \c QSurfaceDataArray container.
To use surface data row pointers to directly modify data after adding the
array to the proxy, the appropriate signal must be emitted to update the
graph.
To make a sensible surface, the x-value of each successive item in all rows
must be either ascending or descending throughout the row. Similarly, the
z-value of each successive item in all columns must be either ascending or
descending throughout the column.
\note Currently only surfaces with straight rows and columns are fully
supported. Any row with items that do not have the exact same z-value or any
column with items that do not have the exact same x-value may get clipped
incorrectly if the whole surface does not completely fit within the visible
x-axis or z-axis ranges.
\note Surfaces with less than two rows or columns are rendered as lines.
\note On some environments, surfaces with a lot of visible vertices may not
render, because they exceed the per-draw vertex count supported by the
graphics driver. This is mostly an issue on 32-bit and OpenGL ES2 platforms.
\sa {Qt Graphs Data Handling with 3D}
|
22821 |
- |
| qsurfacedataproxy.h |
|
2599 |
- |
| qsurfacedataproxy_p.h |
|
1701 |
- |
| scatteritemmodelhandler.cpp |
|
11270 |
- |
| scatteritemmodelhandler_p.h |
|
2122 |
- |
| surfaceitemmodelhandler.cpp |
|
14749 |
- |
| surfaceitemmodelhandler_p.h |
|
1512 |
- |