Skip to content

Class QAccelPlot::BandEdgeMaterial

ClassList > QAccelPlot > BandEdgeMaterial

Line material for the lower or upper edge line of a band, reading (x, low, high) data points.More...

  • #include <BandEdgeMaterial.hpp>

Inherits the following classes: QAccelPlot::LineMaterial

Inheritance diagram

flowchart TB
  classQAccelPlot_1_1BandEdgeMaterial["QAccelPlot::BandEdgeMaterial"]

  classQAccelPlot_1_1LineMaterial["QAccelPlot::LineMaterial"]
  classQAccelPlot_1_1LineMaterial --> classQAccelPlot_1_1BandEdgeMaterial
  click classQAccelPlot_1_1LineMaterial "../classQAccelPlot_1_1LineMaterial/" "Open QAccelPlot::LineMaterial"

  classQAccelPlot_1_1DataTextureMaterial["QAccelPlot::DataTextureMaterial"]
  classQAccelPlot_1_1DataTextureMaterial --> classQAccelPlot_1_1LineMaterial
  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

Public Types

Type Name
enum Edge
Which value of each data point the edge line draws.

Public Attributes inherited from QAccelPlot::LineMaterial

See QAccelPlot::LineMaterial

Type Name
float antialiasingEnabled = {1.0f}
1.0 when GPU anti-aliasing is active.
float antialiasingFeather = {1.0f}
Anti-aliasing feather width in pixels.
float dashOffset = {0.0f}
Phase offset into the dash pattern.
float dashPattern = {}
Alternating dash/gap lengths (up to 8 entries).
int dashPatternSize = {0}
Number of valid entries in dashPattern .
float dashPeriod = {0.0f}
Total dash+gap cycle length in pixels.
float lineWidth = {1.0f}
Rendered line width in pixels.
float pointCount = {0.0f}
Number of data points (used to index the data texture).
float stepMode = {0.0f}
StepMode of the line, as a float (std140 offset 180 in the UBO).

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
BandEdgeMaterial (Edge edge)
Constructs a material for the edge line.
QSGMaterialShader * createShader (QSGRendererInterface::RenderMode) override const
Creates and returns the edge line shader program.
Edge edge () const
Returns the edge line this material draws.
QSGMaterialType * type () override const
Returns the material type of this edge; the two edges use different shaders.

Public Functions inherited from QAccelPlot::LineMaterial

See QAccelPlot::LineMaterial

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

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 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 inherited from QAccelPlot::LineMaterial

See QAccelPlot::LineMaterial

Type Name
virtual int compareExtra (const QSGMaterial * other) override const
Compares line-specific uniform fields 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.

Protected Static Functions inherited from QAccelPlot::LineMaterial

See QAccelPlot::LineMaterial

Type Name
QSGMaterialShader * createLineShader (const QString & vertexShaderFileName)
Returns the line shader program with vertex stage vertexShaderFileName and the line fragment stage.

Detailed Description

Uses the line uniforms and fragment stage; only the vertex stage reads three floats per data point.

Public Types Documentation

enum Edge

Which value of each data point the edge line draws.

enum QAccelPlot::BandEdgeMaterial::Edge {
    Lower,
    Upper
};


Public Functions Documentation

function BandEdgeMaterial

Constructs a material for the edge line.

explicit QAccelPlot::BandEdgeMaterial::BandEdgeMaterial (
    Edge edge
) 


function createShader

Creates and returns the edge line shader program.

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


function edge

Returns the edge line this material draws.

Edge QAccelPlot::BandEdgeMaterial::edge () const


function type

Returns the material type of this edge; the two edges use different shaders.

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



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