16 #ifndef QGSPHONGMATERIALSETTINGS_H 
   17 #define QGSPHONGMATERIALSETTINGS_H 
   53     QString 
type() 
const override;
 
   68     QColor ambient()
 const { 
return mAmbient; }
 
   70     QColor 
diffuse()
 const { 
return mDiffuse; }
 
   79     void setAmbient( 
const QColor &ambient ) { mAmbient = ambient; }
 
   81     void setDiffuse( 
const QColor &diffuse ) { mDiffuse = diffuse; }
 
   83     void setSpecular( 
const QColor &specular ) { mSpecular = specular; }
 
  101       return mAmbient == other.mAmbient &&
 
  102              mDiffuse == other.mDiffuse &&
 
  103              mSpecular == other.mSpecular &&
 
  104              mShininess == other.mShininess;
 
  108     QColor mAmbient{ QColor::fromRgbF( 0.1f, 0.1f, 0.1f, 1.0f ) };
 
  109     QColor mDiffuse{ QColor::fromRgbF( 0.7f, 0.7f, 0.7f, 1.0f ) };
 
  110     QColor mSpecular{ QColor::fromRgbF( 1.0f, 1.0f, 1.0f, 1.0f ) };
 
  111     float mShininess = 0.0f;
 
  114     Qt3DRender::QMaterial *dataDefinedMaterial() 
const;
 
virtual void writeXml(QDomElement &element, const QgsReadWriteContext &) const
Writes settings to a DOM element.
virtual QByteArray dataDefinedVertexColorsAsByte(const QgsExpressionContext &expressionContext) const
Returns byte array corresponding to the data defined colors depending of the expressionContext,...
virtual void readXml(const QDomElement &element, const QgsReadWriteContext &)
Reads settings from a DOM element.
virtual int dataDefinedByteStride() const
Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for...
virtual Qt3DRender::QMaterial * toMaterial(QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const =0
Creates a new QMaterial object representing the material settings.
virtual QString type() const =0
Returns the unique type name for the material.
virtual QMap< QString, QString > toExportParameters() const =0
Returns the parameters to be exported to .mtl file.
virtual void addParametersToEffect(Qt3DRender::QEffect *effect) const =0
Adds parameters from the material to a destination effect.
virtual void applyDataDefinedToGeometry(Qt3DRender::QGeometry *geometry, int vertexCount, const QByteArray &dataDefinedBytes) const
Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
bool operator==(const QgsPhongMaterialSettings &other) const
void setDiffuse(const QColor &diffuse)
Sets diffuse color component.
QColor diffuse() const
Returns diffuse color component.
QColor specular() const
Returns specular color component.
void setAmbient(const QColor &ambient)
Sets ambient color component.
float shininess() const
Returns shininess of the surface.
QgsPhongMaterialSettings()=default
Constructor for QgsPhongMaterialSettings.
void setShininess(float shininess)
Sets shininess of the surface.
void setSpecular(const QColor &specular)
Sets specular color component.
The class is used as a container of context for various read/write operations on other objects.
QgsMaterialSettingsRenderingTechnique
Material rendering techniques 3.