16#ifndef QGSMETALROUGHMATERIALSETTINGS_H
17#define QGSMETALROUGHMATERIALSETTINGS_H
40 QString
type()
const override;
287 return mBaseColor == other.mBaseColor
288 && mEmissiveColor == other.mEmissiveColor
293 &&
qgsDoubleNear( mAnisotropyRotation, other.mAnisotropyRotation )
297 &&
qgsDoubleNear( mClearCoatRoughness, other.mClearCoatRoughness )
302 QColor mBaseColor { QColor::fromRgbF( 0.5f, 0.5f, 0.5f, 1.0f ) };
303 QColor mEmissiveColor;
304 double mMetalness = 0.0;
305 double mRoughness = 0.5;
306 double mReflectance = 0.5;
307 double mAnisotropy = 0.0;
308 double mAnisotropyRotation = 0.0;
309 double mEmissionFactor = 1.0;
310 double mClearCoatFactor = 0.0;
311 double mClearCoatRoughness = 0.0;
312 double mOpacity = 1.0;
MaterialRenderingTechnique
Material rendering techniques.
Abstract base class for material settings.
virtual void writeXml(QDomElement &element, const QgsReadWriteContext &) const
Writes settings to a DOM element.
virtual void readXml(const QDomElement &element, const QgsReadWriteContext &)
Reads settings from a DOM element.
virtual QColor averageColor() const =0
Returns an approximate color representing the blended material color.
virtual QString type() const =0
Returns the unique type name for the material.
virtual void setColorsFromBase(const QColor &baseColor)=0
Decomposes a base color into the material's color components, and sets the material's colors accordin...
QgsPropertyCollection dataDefinedProperties() const
Returns the symbol material property collection, used for data defined overrides.
A container for the context for various read/write operations on objects.
bool qgsDoubleNear(double a, double b, double epsilon=4 *std::numeric_limits< double >::epsilon())
Compare two doubles (but allow some difference).