Skip to content

Class QAccelPlot::PointCloud

ClassList > QAccelPlot > PointCloud

A hardware-accelerated QML item that renders large sets of unconnected 2D points as markers. More...

  • #include <PointCloud.hpp>

Inherits the following classes: QAccelPlot::ColormappedSeries

Inheritance diagram

flowchart TB
  classQAccelPlot_1_1PointCloud["QAccelPlot::PointCloud"]

  classQAccelPlot_1_1ColormappedSeries["QAccelPlot::ColormappedSeries"]
  classQAccelPlot_1_1ColormappedSeries --> classQAccelPlot_1_1PointCloud
  click classQAccelPlot_1_1ColormappedSeries "../classQAccelPlot_1_1ColormappedSeries/" "Open QAccelPlot::ColormappedSeries"

  classQAccelPlot_1_1PlotSeries["QAccelPlot::PlotSeries"]
  classQAccelPlot_1_1PlotSeries --> classQAccelPlot_1_1ColormappedSeries
  click classQAccelPlot_1_1PlotSeries "../classQAccelPlot_1_1PlotSeries/" "Open QAccelPlot::PlotSeries"

  external_base_classQAccelPlot_1_1PlotSeries_1["QQuickItem"]
  external_base_classQAccelPlot_1_1PlotSeries_1 --> classQAccelPlot_1_1PlotSeries

Public Types inherited from QAccelPlot::PlotSeries

See QAccelPlot::PlotSeries

Type Name
enum LegendSymbol
Supported default legend symbols.

Public Properties

Type Name
property qreal antialiasingFeather
Antialiasing feather width in pixels, clamped to [0, 10]. Has effect only when the inherited antialiasing istrue . Default: 1.
property QColor color
Uniform marker color, also used by the legend. Default: Colors.dark.seriesPrimary .
property qreal hoverRadius
Pick distance in pixels from a point's center; 0 disables hover. Default: 6.
property int hoveredIndex
Read-only: index of the valid point nearest the pointer within hoverRadius , or -1 when none.
property SeriesMarker * marker
Grouped marker settings, e.g. marker.shape andmarker.size .marker.shape defaults toCircle and does not acceptNone , because a cloud always draws markers;marker.size defaults to 3.
property DataTransition * transition
Optional data transition animation applied when new data arrives.

Public Properties inherited from QAccelPlot::ColormappedSeries

See QAccelPlot::ColormappedSeries

Type Name
property Colormap * colormap
Maps values to colors. What a series draws without one is described by the series.
property qreal dataValueMax
Read-only: upper bound of the value range, taken from Colormap::max when it is set and from the data otherwise.
property qreal dataValueMin
Read-only: lower bound of the value range, taken from Colormap::min when it is set and from the data otherwise.ColorBar labels its ticks from this anddataValueMax .

Public Properties inherited from QAccelPlot::PlotSeries

See QAccelPlot::PlotSeries

Type Name
property int count
Read-only: number of records stored, including invalid ones.
property quint64 dataRevision
Revision incremented by every accepted change of the series' records.
property bool hoverEnabled
Whether the series reacts to the mouse cursor. Default: true .
property bool hovered
Read-only: true while the mouse cursor is over the series.
property SeriesInspection * inspection
Read-only constant: data queries for this series.
property LegendSymbol legendSymbol
Symbol style requested from the default legend.
property QString name
Identifying name used by the default legend.
property QRectF plotRect
Plot area in parent-item coordinates, assigned by PlotView .
property Axis * xAxis
Horizontal axis used for data-to-pixel coordinate mapping.
property Axis * yAxis
Vertical axis used for data-to-pixel coordinate mapping.

Public Signals

Type Name
signal void antialiasingFeatherChanged
Emitted when the antialiasingFeather property changes.
signal void colorChanged
Emitted when the color property changes.
signal void hoverRadiusChanged
Emitted when the hoverRadius property changes.
signal void hoveredIndexChanged
Emitted when the hovered point changes.
signal void transitionChanged
Emitted when the transition property changes.

Public Signals inherited from QAccelPlot::ColormappedSeries

See QAccelPlot::ColormappedSeries

Type Name
signal void colormapChanged
Emitted when the colormap property changes.
signal void valueRangeChanged
Emitted when dataValueMin ordataValueMax changes.

Public Signals inherited from QAccelPlot::PlotSeries

See QAccelPlot::PlotSeries

Type Name
signal void countChanged
Emitted when the number of records changes.
signal void dataRevisionChanged
Emitted when the dataRevision property changes.
signal void hoverEnabledChanged
Emitted when the hoverEnabled property changes.
signal void hoveredChanged
Emitted when the hovered property changes.
signal void legendEntryChanged
Emitted when the result of legendEntry() orlegendEntries() changes.
signal void legendSymbolChanged
signal void nameChanged
signal void plotRectChanged
signal void xAxisChanged
signal void yAxisChanged

Public Functions

Type Name
PointCloud (QQuickItem * parent=nullptr)
Constructs a PointCloud with the given__parent .
qreal antialiasingFeather () const
Returns the antialiasing feather width in pixels.
virtual Q_INVOKABLE void clearData () override
Removes all points and values.
QColor color () const
Returns the uniform marker color.
bool contains (const QPointF & point) override const
Returns true when a valid point lies withinhoverRadius of item position__point .
qreal hoverRadius () const
Returns the hover pick distance in pixels.
int hoveredIndex () const
Returns the index of the hovered point, or -1.
virtual std::optional< LegendEntry > legendEntry () override const
Returns the legend entry: the symbol, color, and marker of the points.
SeriesMarker * marker () const
Returns the grouped marker settings. The object is owned by the cloud.
Q_INVOKABLE QPointF pointAt (int index) const
Returns point index , or a NaN point when__index is out of range.
int pointIndexAt (const QPointF & position) const
Returns the index of the valid point within hoverRadius of item position__position , or -1.
void postData (std::vector< double > && xyInterleaved, std::vector< float > && values, int pointCount)
Thread-safe: queues setData _(_xyInterleaved _,_values _,_pointCount ) to the item's thread.
void postData (std::vector< float > && xyInterleaved, std::vector< float > && values, int pointCount)
Thread-safe: queues setDataF _(_xyInterleaved _,_values _,_pointCount ) to the item's thread.
void postData (std::vector< double > && data, int count)
Queues a moved double buffer for assignment on the series' thread.
void postData (std::vector< float > && data, int count)
Queues a moved float buffer for assignment on the series' thread.
void setAntialiasingFeather (qreal feather)
Sets the antialiasing feather width to feather pixels, clamped to [0, 10].
void setColor (const QColor & color)
Sets the uniform marker color to color .
Q_INVOKABLE void setData (const QList< QPointF > & points)
Replaces all points with points and clears per-point values.
void setData (std::vector< double > && xyInterleaved, std::vector< float > && values, int pointCount)
Sets double-precision positions and per-point values (empty, or exactly__pointCount floats).
void setData (const double * data, int count)
Replaces the series data with count data points copied from an interleaved double array.
void setData (std::vector< double > && data, int count)
Replaces the series data by moving an interleaved double buffer.
void setData (const double * data, int count, const DataBounds & bounds)
Like setData _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setData (std::vector< double > && data, int count, const DataBounds & bounds)
Like setData _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setDataF (std::vector< float > && xyInterleaved, std::vector< float > && values, int pointCount)
Sets positions and per-point values (empty, or exactly__pointCount floats).
void setDataF (const float * data, int count)
Replaces the series data with count data points copied from an interleaved float array.
void setDataF (std::vector< float > && data, int count)
Replaces the series data by moving an interleaved float buffer.
void setDataF (const float * data, int count, const DataBounds & bounds)
Like setDataF _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setDataF (std::vector< float > && data, int count, const DataBounds & bounds)
Like setDataF _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setHoverRadius (qreal radius)
Sets the hover pick distance to radius pixels. Negative values are clamped to 0.
void setTransition (DataTransition * transition)
Sets the data transition to transition .
Q_INVOKABLE void setValues (const QList< qreal > & values)
Sets one value per point. An empty list clears values; any other size must equal count .
DataTransition * transition () const
Returns the active data transition, or nullptr if none.
Q_INVOKABLE qreal valueAt (int index) const
Returns the value of point index , or NaN when out of range or no values are stored.
~PointCloud () override
Destroys the point cloud, ending its animation on the assigned transition.

Public Functions inherited from QAccelPlot::ColormappedSeries

See QAccelPlot::ColormappedSeries

Type Name
Colormap * colormap () const
Returns the colormap, or nullptr when none is assigned.
qreal dataValueMax () const
Returns the resolved upper bound of the value range.
qreal dataValueMin () const
Returns the resolved lower bound of the value range.
void setColormap (Colormap * colormap)
Sets the colormap to colormap .

Public Functions inherited from QAccelPlot::PlotSeries

See QAccelPlot::PlotSeries

Type Name
PlotSeries (QQuickItem * parent=nullptr)
virtual void clearData ()
Removes all data points from the series.
virtual int count () const
Returns the number of records stored. The default is the number of stored data points.
quint64 dataRevision () const
Returns the current data revision.
bool hoverEnabled () const
Returns whether the series reacts to the mouse cursor.
bool hovered () const
Returns whether the mouse cursor is over the series.
SeriesInspection * inspection () const
Returns the data queries for this series; created on first use and owned by the series.
virtual QList< LegendEntry > legendEntries () const
Returns the legend rows of the series. Default: the legendEntry() , if any.
virtual std::optional< LegendEntry > legendEntry () const
Returns how a legend draws the series, or std::nullopt for no legend entry. Default: no entry.
LegendSymbol legendSymbol () const
QString name () const
QRectF plotRect () const
void postData (std::vector< double > && data, int count)
Queues a moved double buffer for assignment on the series' thread.
void postData (std::vector< float > && data, int count)
Queues a moved float buffer for assignment on the series' thread.
void setData (const double * data, int count)
Replaces the series data with count data points copied from an interleaved double array.
void setData (std::vector< double > && data, int count)
Replaces the series data by moving an interleaved double buffer.
void setData (const double * data, int count, const DataBounds & bounds)
Like setData _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setData (std::vector< double > && data, int count, const DataBounds & bounds)
Like setData _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setDataF (const float * data, int count)
Replaces the series data with count data points copied from an interleaved float array.
void setDataF (std::vector< float > && data, int count)
Replaces the series data by moving an interleaved float buffer.
void setDataF (const float * data, int count, const DataBounds & bounds)
Like setDataF _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setDataF (std::vector< float > && data, int count, const DataBounds & bounds)
Like setDataF _(_data _,_count ), with the data extents given as__bounds instead of scanned for.
void setHoverEnabled (bool enabled)
Sets whether the series reacts to the mouse cursor to enabled .
void setLegendSymbol (LegendSymbol symbol)
void setName (const QString & name)
void setPlotRect (const QRectF & rect)
Updates the series geometry to exactly cover rect .
void setXAxis (Axis * axis)
void setYAxis (Axis * axis)
Axis * xAxis () const
std::optional< DataExtent > xDataRange () const
Returns the extent this series reports to its horizontal axis, or std::nullopt when it has none.
Axis * yAxis () const
std::optional< DataExtent > yDataRange () const
Returns the extent this series reports to its vertical axis, or std::nullopt when it has none.
~PlotSeries () override

Protected Types inherited from QAccelPlot::PlotSeries

See QAccelPlot::PlotSeries

Type Name
enum CapacityOverflow
What a series draws when its records outgrow its GPU capacity.
enum DataChange
How the records changed in a data update.

Protected Attributes inherited from QAccelPlot::PlotSeries

See QAccelPlot::PlotSeries

Type Name
bool overRenderCapacity_ = {false}
Whether the record count of the last updateRenderCapacity() exceededrenderCapacity_ .
int renderCapacity_ = {std::numeric\_limits&lt;int&gt;::max()}
Records the GPU buffers hold, as of the last updateRenderCapacity() ; the largestint before the first.

Protected Functions

Type Name
virtual void applyDataPoints (DataPointInput && input) override
Applies new points without values, animating to them when a transition is enabled.
virtual void onAxisScaleChanged () override
Rebuilds the hover index, because log dimensions map points differently.
virtual void onDataPointsChanged (DataChange change, int previousCount) override
Refreshes the hover index, the value range, and the count after the points changed.
virtual std::optional< ValueSpan > scanValueRange () override const
Returns the span of the finite point values.

Protected Functions inherited from QAccelPlot::ColormappedSeries

See QAccelPlot::ColormappedSeries

Type Name
ColormappedSeries (DataPointStore::Layout layout, DataPointWording wording, QQuickItem * parent)
Creates a series whose data points have layout _;_wording names them in warnings.
const std::vector< GradientStopData > & colorStops () const
Returns the ramp stops of the colormap, empty without one.
virtual std::optional< ValueSpan > scanValueRange () const
Returns the span of the finite values, or std::nullopt when there is none. Default: none.
void updateValueRange ()
Resolves the value range again. Call after every change of the values.

Protected Functions inherited from QAccelPlot::PlotSeries

See QAccelPlot::PlotSeries

Type Name
PlotSeries (DataPointStore::Layout layout, DataPointWording wording, QQuickItem * parent)
Creates a series whose data points have layout _;_wording names them in warnings.
void appendDataPoint (const double * coordinates)
Appends one double data point and widens the data ranges by its valid coordinates.
virtual void applyDataPoints (DataPointInput && input)
Applies data points passed to setData() orsetDataF() .
virtual DataRanges computeDataRanges () const
Scans the records for their extents. The default implementation scans the data points.
virtual int dataPointValueCount () const
Returns the number of values per data point that setData() andsetDataF() take.
DataPointStore & dataPoints ()
Returns the data points of the series.
const DataPointStore & dataPoints () const
Returns the data points of the series.
bool event (QEvent * event) override
Withholds hover events from a series beneath another series under the cursor.
void extendXDataRange (qreal x)
Widens the X extent to include x and notifies the bound axes.
void extendYDataRange (qreal y)
Widens the Y extent to include y . A non-finite__y leaves the extent unchanged.
virtual bool inspectionAvailable () const
Returns false while the records are ambiguous, such as during a data transition. Default: true.
void inspectionDataChanged (DataChange change=DataChange::Replaced)
Advances the data revision and refreshes the data queries. Call after every accepted record change.
virtual InspectionDataPoint inspectionDataPointAt (const QPointF & position) const
Returns the record drawn at the series-local position as a data point. Default: unsupported.
virtual InspectionRecord inspectionRecord (int index) const
Returns the native record at index for series that are not plain XY series. Default: unsupported.
virtual InspectionRecord inspectionRecordAt (const QPointF & position) const
Returns the native record drawn at the series-local position . Default: unsupported.
virtual Internal::InspectionSource inspectionSource () const
Returns a view of the XY records that data point queries search. The default has none.
void invalidateDataRanges ()
Discards the cached extents and notifies the bound axes.
void invalidateInspection ()
Refreshes the data queries after record validity changed without a data change, such as an axis scale switch.
bool logScaleX () const
Returns whether the horizontal axis is logarithmic; false without an axis.
bool logScaleY () const
Returns whether the vertical axis is logarithmic; false without an axis.
void notifyDataPointsChanged (DataChange change, int previousCount)
Finishes a change of the data points: data ranges, onDataPointsChanged() ,countChanged() , data queries, and a repaint.
virtual void onAxisRangeChanged ()
Called when the viewport of a bound axis changes. The default implementation schedules a repaint.
virtual void onAxisScaleChanged ()
Called when a bound axis switches between linear and logarithmic scale, or a different axis is bound.
virtual void onDataPointsChanged (DataChange change, int previousCount)
Called after the data points changed, before the data queries are refreshed. The default does nothing.
virtual bool positionInspectionSupported () const
Returns whether inspectionDataPointAt() matches records drawn as areas, such as heatmap cells. Default: false.
virtual bool recordInspectionSupported () const
Returns whether inspectionRecord() andinspectionRecordAt() answer for this series. Default: false.
QRectF resolvePlotRect () const
Returns the plot area to render into: plotRect when set, otherwise the item's current size.
void setHovered (bool hovered)
Sets the hovered property to hovered . Called by the hover handling of a series.
void storeDataPoints (DataPointInput && input)
Stores input as the data points and finishes the change.
void supportHover ()
Makes the series accept hover events while hoverEnabled istrue .
void updateRenderCapacity (int capacity, int recordCount, CapacityOverflow overflow=CapacityOverflow::DropsExcess)
Stores capacity , the number of records the GPU buffers hold, and warns when__recordCount newly exceeds it.
bool validateDataSize (std::size_t valueCount, int count, bool floatData, int valuesPerDataPoint=0) const
Returns whether valueCount values hold__count data points; warns otherwise.
bool validateRawDataArguments (const void * data, int count) const
Returns whether data and__count are valid arguments for copying data points; warns otherwise.

Detailed Description

Every point is drawn as a GPU billboard with one of the marker shapes shared with LineCurve. Points are colored uniformly with color, or by a per-point scalar value mapped through colormap. Points are colored uniformly while colormap is null or no values are stored.

Positions and values are uploaded as a single data texture; the vertex buffer depends only on the point count, so updating a cloud of constant size is one texture upload per frame. Methods whose names end in F take interleaved float XY pairs [x0, y0, x1, y1, …] and an optional value vector with one float per point. postData() may be called from any thread.

** **

Non-finite coordinates, and non-positive coordinates on a logarithmic axis, are kept in storage so indices stay stable, but they are not drawn, not hit-tested, and do not contribute to data ranges. A point with a non-finite value is drawn with the uniform color.

** **

Assign a MorphTransition or DrawTransition to transition to animate data updates. With MorphTransition, points move to their new position, and their values, when the old and the new points both have them, change with them. New points appear, and removed points disappear, at once. count, pointAt(), valueAt(), the data and value ranges, and inspection use the new data from the start of the animation, while hover picks the points as drawn. While a transition is enabled, setValues() animates as well and the setDataF() overloads store doubles. clearData(), and replacing, clearing, or cancelling transition, skip to the new data.

** **

Coordinates are single precision. The number of renderable points is bounded by the GPU's maximum texture size: about 22 million points with values, or 33 million without, for an 8192-pixel limit, and twice that for 16384. Points beyond it are not drawn or hovered, and a warning is logged once.

See also: LineCurve, Axis, ColormappedSeries, ColorBar, MorphTransition, DrawTransition

Public Properties Documentation

property antialiasingFeather

Antialiasing feather width in pixels, clamped to [0, 10]. Has effect only when the inherited antialiasing istrue . Default: 1.

qreal QAccelPlot::PointCloud::antialiasingFeather;


property color

Uniform marker color, also used by the legend. Default: Colors.dark.seriesPrimary .

QColor QAccelPlot::PointCloud::color;


property hoverRadius

Pick distance in pixels from a point's center; 0 disables hover. Default: 6.

qreal QAccelPlot::PointCloud::hoverRadius;


property hoveredIndex

Read-only: index of the valid point nearest the pointer within hoverRadius , or -1 when none.

int QAccelPlot::PointCloud::hoveredIndex;


property marker

Grouped marker settings, e.g. marker.shape andmarker.size .marker.shape defaults toCircle and does not acceptNone , because a cloud always draws markers;marker.size defaults to 3.

SeriesMarker* QAccelPlot::PointCloud::marker;


property transition

Optional data transition animation applied when new data arrives.

DataTransition* QAccelPlot::PointCloud::transition;


Public Signals Documentation

signal antialiasingFeatherChanged

Emitted when the antialiasingFeather property changes.

void QAccelPlot::PointCloud::antialiasingFeatherChanged;


signal colorChanged

Emitted when the color property changes.

void QAccelPlot::PointCloud::colorChanged;


signal hoverRadiusChanged

Emitted when the hoverRadius property changes.

void QAccelPlot::PointCloud::hoverRadiusChanged;


signal hoveredIndexChanged

Emitted when the hovered point changes.

void QAccelPlot::PointCloud::hoveredIndexChanged;


signal transitionChanged

Emitted when the transition property changes.

void QAccelPlot::PointCloud::transitionChanged;


Public Functions Documentation

function PointCloud

Constructs a PointCloud with the given__parent .

explicit QAccelPlot::PointCloud::PointCloud (
    QQuickItem * parent=nullptr
) 


function antialiasingFeather

Returns the antialiasing feather width in pixels.

qreal QAccelPlot::PointCloud::antialiasingFeather () const


function clearData

Removes all points and values.

virtual Q_INVOKABLE void QAccelPlot::PointCloud::clearData () override

Implements QAccelPlot::PlotSeries::clearData


function color

Returns the uniform marker color.

QColor QAccelPlot::PointCloud::color () const


function contains

Returns true when a valid point lies withinhoverRadius of item position__point .

bool QAccelPlot::PointCloud::contains (
    const QPointF & point
) override const

Hover delivery uses this test, so stacked series underneath still receive hover events away from this cloud's points.


function hoverRadius

Returns the hover pick distance in pixels.

qreal QAccelPlot::PointCloud::hoverRadius () const


function hoveredIndex

Returns the index of the hovered point, or -1.

int QAccelPlot::PointCloud::hoveredIndex () const


function legendEntry

Returns the legend entry: the symbol, color, and marker of the points.

virtual std::optional< LegendEntry > QAccelPlot::PointCloud::legendEntry () override const

Implements QAccelPlot::PlotSeries::legendEntry


function marker

Returns the grouped marker settings. The object is owned by the cloud.

SeriesMarker * QAccelPlot::PointCloud::marker () const


function pointAt

Returns point index , or a NaN point when__index is out of range.

Q_INVOKABLE QPointF QAccelPlot::PointCloud::pointAt (
    int index
) const


function pointIndexAt

Returns the index of the valid point within hoverRadius of item position__position , or -1.

int QAccelPlot::PointCloud::pointIndexAt (
    const QPointF & position
) const


function postData

Thread-safe: queues setData _(_xyInterleaved _,_values _,_pointCount ) to the item's thread.

void QAccelPlot::PointCloud::postData (
    std::vector< double > && xyInterleaved,
    std::vector< float > && values,
    int pointCount
) 


function postData

Thread-safe: queues setDataF _(_xyInterleaved _,_values _,_pointCount ) to the item's thread.

void QAccelPlot::PointCloud::postData (
    std::vector< float > && xyInterleaved,
    std::vector< float > && values,
    int pointCount
) 


function postData

Queues a moved double buffer for assignment on the series' thread.

void QAccelPlot::PointCloud::postData (
    std::vector< double > && data,
    int count
) 


function postData

Queues a moved float buffer for assignment on the series' thread.

void QAccelPlot::PointCloud::postData (
    std::vector< float > && data,
    int count
) 


function setAntialiasingFeather

Sets the antialiasing feather width to feather pixels, clamped to [0, 10].

void QAccelPlot::PointCloud::setAntialiasingFeather (
    qreal feather
) 


function setColor

Sets the uniform marker color to color .

void QAccelPlot::PointCloud::setColor (
    const QColor & color
) 


function setData

Replaces all points with points and clears per-point values.

Q_INVOKABLE void QAccelPlot::PointCloud::setData (
    const QList< QPointF > & points
) 


function setData

Sets double-precision positions and per-point values (empty, or exactly__pointCount floats).

void QAccelPlot::PointCloud::setData (
    std::vector< double > && xyInterleaved,
    std::vector< float > && values,
    int pointCount
) 


function setData

Replaces the series data with count data points copied from an interleaved double array.

void QAccelPlot::PointCloud::setData (
    const double * data,
    int count
) 

See the class description for the data point layout of each series.


function setData

Replaces the series data by moving an interleaved double buffer.

void QAccelPlot::PointCloud::setData (
    std::vector< double > && data,
    int count
) 


function setData

Like setData _(_data _,_count ), with the data extents given as__bounds instead of scanned for.

void QAccelPlot::PointCloud::setData (
    const double * data,
    int count,
    const DataBounds & bounds
) 


function setData

Like setData _(_data _,_count ), with the data extents given as__bounds instead of scanned for.

void QAccelPlot::PointCloud::setData (
    std::vector< double > && data,
    int count,
    const DataBounds & bounds
) 


function setDataF

Sets positions and per-point values (empty, or exactly__pointCount floats).

void QAccelPlot::PointCloud::setDataF (
    std::vector< float > && xyInterleaved,
    std::vector< float > && values,
    int pointCount
) 


function setDataF

Replaces the series data with count data points copied from an interleaved float array.

void QAccelPlot::PointCloud::setDataF (
    const float * data,
    int count
) 


function setDataF

Replaces the series data by moving an interleaved float buffer.

void QAccelPlot::PointCloud::setDataF (
    std::vector< float > && data,
    int count
) 


function setDataF

Like setDataF _(_data _,_count ), with the data extents given as__bounds instead of scanned for.

void QAccelPlot::PointCloud::setDataF (
    const float * data,
    int count,
    const DataBounds & bounds
) 


function setDataF

Like setDataF _(_data _,_count ), with the data extents given as__bounds instead of scanned for.

void QAccelPlot::PointCloud::setDataF (
    std::vector< float > && data,
    int count,
    const DataBounds & bounds
) 


function setHoverRadius

Sets the hover pick distance to radius pixels. Negative values are clamped to 0.

void QAccelPlot::PointCloud::setHoverRadius (
    qreal radius
) 


function setTransition

Sets the data transition to transition .

void QAccelPlot::PointCloud::setTransition (
    DataTransition * transition
) 


function setValues

Sets one value per point. An empty list clears values; any other size must equal count .

Q_INVOKABLE void QAccelPlot::PointCloud::setValues (
    const QList< qreal > & values
) 


function transition

Returns the active data transition, or nullptr if none.

DataTransition * QAccelPlot::PointCloud::transition () const


function valueAt

Returns the value of point index , or NaN when out of range or no values are stored.

Q_INVOKABLE qreal QAccelPlot::PointCloud::valueAt (
    int index
) const


function ~PointCloud

Destroys the point cloud, ending its animation on the assigned transition.

QAccelPlot::PointCloud::~PointCloud () override


Protected Functions Documentation

function applyDataPoints

Applies new points without values, animating to them when a transition is enabled.

virtual void QAccelPlot::PointCloud::applyDataPoints (
    DataPointInput && input
) override

Implements QAccelPlot::PlotSeries::applyDataPoints


function onAxisScaleChanged

Rebuilds the hover index, because log dimensions map points differently.

virtual void QAccelPlot::PointCloud::onAxisScaleChanged () override

Implements QAccelPlot::PlotSeries::onAxisScaleChanged


function onDataPointsChanged

Refreshes the hover index, the value range, and the count after the points changed.

virtual void QAccelPlot::PointCloud::onDataPointsChanged (
    DataChange change,
    int previousCount
) override

Implements QAccelPlot::PlotSeries::onDataPointsChanged


function scanValueRange

Returns the span of the finite point values.

virtual std::optional< ValueSpan > QAccelPlot::PointCloud::scanValueRange () override const

Implements QAccelPlot::ColormappedSeries::scanValueRange



The documentation for this class was generated from the following file QAccelPlot/src/QAccelPlot/series/PointCloud.hpp