SWMMVis  6.0.0-alpha.4
Qt6/C++ GIS-based graphical user interface for the SWMMVis engine (6.0.0-alpha.4)
Loading...
Searching...
No Matches
scalarfillmaterial.h
Go to the documentation of this file.
1
24#ifndef OPENSWMM_MAP_SCALARFILLMATERIAL_H
25#define OPENSWMM_MAP_SCALARFILLMATERIAL_H
26
27#include <QSGGeometry>
28#include <QSGMaterial>
29
30class QSGTexture;
31
34{
35 float x = 0.0f;
36 float y = 0.0f;
37 float value = 0.0f;
38};
39
42const QSGGeometry::AttributeSet &scalarFillAttributes();
43
44class ScalarFillMaterial : public QSGMaterial
45{
46public:
48 ~ScalarFillMaterial() override; // destroyed on the render thread with
49 // its node — deleting the texture here
50 // is safe.
51
52 [[nodiscard]] QSGMaterialType *type() const override;
53 [[nodiscard]] int compare(const QSGMaterial *other) const override;
54 [[nodiscard]] QSGMaterialShader *
55 createShader(QSGRendererInterface::RenderMode) const override;
56
59 void setRampTexture(QSGTexture *texture);
60 [[nodiscard]] QSGTexture *rampTexture() const { return m_texture; }
61
64 void setRange(float vMin, float vMax);
65 [[nodiscard]] float vMin() const { return m_vMin; }
66 [[nodiscard]] float invRange() const { return m_invRange; }
67
68private:
69 QSGTexture *m_texture = nullptr;
70 float m_vMin = 0.0f;
71 float m_invRange = 1.0f;
72};
73
74#endif // OPENSWMM_MAP_SCALARFILLMATERIAL_H
Definition scalarfillmaterial.h:45
float vMin() const
Definition scalarfillmaterial.h:65
QSGMaterialType * type() const override
Definition scalarfillmaterial.cpp:96
void setRange(float vMin, float vMax)
Definition scalarfillmaterial.cpp:127
void setRampTexture(QSGTexture *texture)
Definition scalarfillmaterial.cpp:120
ScalarFillMaterial()
Definition scalarfillmaterial.cpp:86
~ScalarFillMaterial() override
Definition scalarfillmaterial.cpp:91
QSGTexture * rampTexture() const
Definition scalarfillmaterial.h:60
int compare(const QSGMaterial *other) const override
Definition scalarfillmaterial.cpp:102
QSGMaterialShader * createShader(QSGRendererInterface::RenderMode) const override
Definition scalarfillmaterial.cpp:115
float invRange() const
Definition scalarfillmaterial.h:66
const QSGGeometry::AttributeSet & scalarFillAttributes()
Definition scalarfillmaterial.cpp:17
Definition scalarfillmaterial.h:34
float x
Definition scalarfillmaterial.h:35
float value
Definition scalarfillmaterial.h:37
float y
Definition scalarfillmaterial.h:36