Skip to content

Class QAccelPlot::BandMaterial

ClassList > QAccelPlot > BandMaterial

QSGMaterial that fills a band between the low and high values of (x, low, high) data points.More...

  • #include <BandMaterial.hpp>

Inherits the following classes: QAccelPlot::DataTextureMaterial

Inheritance diagram

flowchart TB
  classQAccelPlot_1_1BandMaterial["QAccelPlot::BandMaterial"]

  classQAccelPlot_1_1DataTextureMaterial["QAccelPlot::DataTextureMaterial"]
  classQAccelPlot_1_1DataTextureMaterial --> classQAccelPlot_1_1BandMaterial
  click classQAccelPlot_1_1DataTextureMaterial "../classQAccelPlot_1_1DataTextureMaterial/" "Open QAccelPlot::DataTextureMaterial"

  external_base_classQAccelPlot_1_1DataTextureMaterial_1["QSGMaterial"]
  external_base_classQAccelPlot_1_1DataTextureMaterial_1 --> classQAccelPlot_1_1DataTextureMaterial

Classes

Type Name
struct Vertex
Vertex layout of the band triangle strip: two vertices per data point.

Public Attributes

Type Name
float dataPointCount = {0.0f}
Number of data points in the data texture (used to clamp neighbor lookups).

Public Attributes inherited from QAccelPlot::DataTextureMaterial

See QAccelPlot::DataTextureMaterial

Type Name
QColor color = {Qt::blue}
Line/fill color uniform.
std::shared_ptr< DataTexture > dataTexture
Data texture sampled by the shader. Materials drawing the same samples may share one.
QVector2D domainMax = {1.0f, 1.0f}
Maximum data-space coordinate.
QVector2D domainMin = {0.0f, 0.0f}
Minimum data-space coordinate.
float logScaleX = {0.0f}
1.0 when the X axis uses log scale (float for std140 UBO compatibility).
float logScaleY = {0.0f}
1.0 when the Y axis uses log scale (float for std140 UBO compatibility).
float useVertexColor = {0.0f}
1.0 when per-vertex color overrides color (float for std140 UBO compatibility).
QVector2D viewportSize = {800.0f, 600.0f}
Viewport size in pixels.

Public Functions

Type Name
BandMaterial ()
Constructs a BandMaterial with default uniform values.
QSGMaterialShader * createShader (QSGRendererInterface::RenderMode) override const
Creates and returns the band shader program.
QSGMaterialType * type () override const
Returns the unique material type identifier for this class.

Public Functions inherited from QAccelPlot::DataTextureMaterial

See QAccelPlot::DataTextureMaterial

Type Name
DataTextureMaterial ()
Constructs an empty DataTextureMaterial .
int compare (const QSGMaterial * other) override const
Compares shared uniform fields; delegates type-specific fields to compareExtra() .
QSGTexture * sampledTexture () const
Returns the texture the shader samples, or nullptr beforedataTexture holds an upload.
void uploadTexture (QQuickWindow * window, const float * data, int floatCount)
Uploads floatCount raw floats from__data intodataTexture , creating it when it isnullptr .
~DataTextureMaterial () override

Public Static Functions

Type Name
const QSGGeometry::AttributeSet & vertexAttributes ()
Returns the vertex attribute set matching Vertex : __{float id, float edge} (8 bytes).

Public Static Functions inherited from QAccelPlot::DataTextureMaterial

See QAccelPlot::DataTextureMaterial

Type Name
const QSGGeometry::AttributeSet & attributeSet ()
Returns the shared vertex attribute set: {float id, float param, uchar4 color} (12 bytes).
void commitTexture (QSGMaterialShader::RenderState & state, int binding, QSGTexture ** texture, const DataTexture * data)
Commits the texture of data to sampler__binding (call fromupdateSampledImage ). Does nothing before an upload.
const QSGGeometry::AttributeSet & vertexIndexAttributeSet ()
Returns the attribute set of marker quads: one ignored uchar4 placeholder (4 bytes).
bool writeCommonUniforms (char * buf, int bufSize, const QMatrix4x4 & matrix, const DataTextureMaterial * mat)
Writes the shared UBO prefix (transform + color + domain + flags) into buf .

Protected Functions

Type Name
virtual int compareExtra (const QSGMaterial * other) override const
Compares the band-specific uniforms after the base-class comparison succeeds.

Protected Functions inherited from QAccelPlot::DataTextureMaterial

See QAccelPlot::DataTextureMaterial

Type Name
virtual int compareExtra (const QSGMaterial * other) const
Subclass hook for compare() — called after the shared fields compare equal.

Detailed Description

The data texture holds three floats per data point. Vertices carry only a data point index and an edge selector, so panning and zooming change uniforms only.

Public Attributes Documentation

variable dataPointCount

Number of data points in the data texture (used to clamp neighbor lookups).

float QAccelPlot::BandMaterial::dataPointCount;


Public Functions Documentation

function BandMaterial

Constructs a BandMaterial with default uniform values.

QAccelPlot::BandMaterial::BandMaterial () 


function createShader

Creates and returns the band shader program.

QSGMaterialShader * QAccelPlot::BandMaterial::createShader (
    QSGRendererInterface::RenderMode
) override const


function type

Returns the unique material type identifier for this class.

QSGMaterialType * QAccelPlot::BandMaterial::type () override const


Public Static Functions Documentation

function vertexAttributes

Returns the vertex attribute set matching Vertex : __{float id, float edge} (8 bytes).

static const QSGGeometry::AttributeSet & QAccelPlot::BandMaterial::vertexAttributes () 


Protected Functions Documentation

function compareExtra

Compares the band-specific uniforms after the base-class comparison succeeds.

virtual int QAccelPlot::BandMaterial::compareExtra (
    const QSGMaterial * other
) override const

Implements QAccelPlot::DataTextureMaterial::compareExtra



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