Skip to content

Class QAccelPlot::RectMaterial

ClassList > QAccelPlot > RectMaterial

QSGMaterial for rectangle series rendering, extending DataTextureMaterial with a rect-count uniform.

  • #include <RectMaterial.hpp>

Inherits the following classes: QAccelPlot::DataTextureMaterial

Inherited by the following classes: QAccelPlot::BarMaterial

Inheritance diagram

flowchart TB
  classQAccelPlot_1_1RectMaterial["QAccelPlot::RectMaterial"]

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

  classQAccelPlot_1_1BarMaterial["QAccelPlot::BarMaterial"]
  classQAccelPlot_1_1RectMaterial --> classQAccelPlot_1_1BarMaterial
  click classQAccelPlot_1_1BarMaterial "../classQAccelPlot_1_1BarMaterial/" "Open QAccelPlot::BarMaterial"

Public Attributes

Type Name
float antialiasing = {0.0f}
1.0 to smooth the rectangle and outline edges.
QColor borderColor = {Qt::black}
Outline color.
float borderWidth = {0.0f}
Outline width in pixels, drawn inside each rectangle.
QColor hoverColor = {Qt::transparent}
Fill color of the highlighted rectangle.
float hoveredIndex = {-1.0f}
Index of the highlighted rectangle, or -1 for none.
QVector2D minimumSize = {0.0f, 0.0f}
Minimum drawn rectangle width and height in pixels.
float rectCount = {0.0f}
Number of rectangles in the data texture (used to index the sampler).

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
RectMaterial ()
Constructs a RectMaterial with default uniform values.
QSGMaterialShader * createShader (QSGRendererInterface::RenderMode) override const
Creates and returns the rectangle 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 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 rectangle-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.

Public Attributes Documentation

variable antialiasing

1.0 to smooth the rectangle and outline edges.

float QAccelPlot::RectMaterial::antialiasing;


variable borderColor

Outline color.

QColor QAccelPlot::RectMaterial::borderColor;


variable borderWidth

Outline width in pixels, drawn inside each rectangle.

float QAccelPlot::RectMaterial::borderWidth;


variable hoverColor

Fill color of the highlighted rectangle.

QColor QAccelPlot::RectMaterial::hoverColor;


variable hoveredIndex

Index of the highlighted rectangle, or -1 for none.

float QAccelPlot::RectMaterial::hoveredIndex;


variable minimumSize

Minimum drawn rectangle width and height in pixels.

QVector2D QAccelPlot::RectMaterial::minimumSize;


variable rectCount

Number of rectangles in the data texture (used to index the sampler).

float QAccelPlot::RectMaterial::rectCount;


Public Functions Documentation

function RectMaterial

Constructs a RectMaterial with default uniform values.

QAccelPlot::RectMaterial::RectMaterial () 


function createShader

Creates and returns the rectangle shader program.

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


function type

Returns the unique material type identifier for this class.

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


Protected Functions Documentation

function compareExtra

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

virtual int QAccelPlot::RectMaterial::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/RectMaterial.hpp