16 #ifndef QGSPHONGTEXTUREDMATERIALSETTINGS_H 
   17 #define QGSPHONGTEXTUREDMATERIALSETTINGS_H 
   44     QString 
type() 
const override;
 
   59     QColor ambient()
 const { 
return mAmbient; }
 
   90     float textureRotation() 
const;
 
   93     void setAmbient( 
const QColor &ambient ) { mAmbient = ambient; }
 
   96     void setSpecular( 
const QColor &specular ) { mSpecular = specular; }
 
  125       return mAmbient == other.mAmbient &&
 
  126              mSpecular == other.mSpecular &&
 
  127              mShininess == other.mShininess &&
 
  128              mDiffuseTexturePath == other.mDiffuseTexturePath &&
 
  129              mTextureScale == other.mTextureScale &&
 
  130              mTextureRotation == other.mTextureRotation;
 
  134     QColor mAmbient{ QColor::fromRgbF( 0.1f, 0.1f, 0.1f, 1.0f ) };
 
  135     QColor mSpecular{ QColor::fromRgbF( 1.0f, 1.0f, 1.0f, 1.0f ) };
 
  136     float mShininess = 0.0f;
 
  137     QString mDiffuseTexturePath;
 
  138     float mTextureScale{ 1.0f };
 
  139     float mTextureRotation{ 0.0f };
 
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 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.
QgsPhongTexturedMaterialSettings()=default
Constructor for QgsPhongTexturedMaterialSettings.
bool requiresTextureCoordinates() const
Returns true if the material requires texture coordinates to be generated during triangulation....
void setTextureScale(float scale)
Sets the texture scale The texture scale changes the size of the displayed texture in the 3D scene If...
void setSpecular(const QColor &specular)
Sets specular color component.
float textureScale() const
Returns the texture scale The texture scale changes the size of the displayed texture in the 3D scene...
float shininess() const
Returns shininess of the surface.
void setDiffuseTexturePath(const QString &path)
Sets the path of the diffuse texture.
QString diffuseTexturePath() const
Returns the diffuse texture path.
QColor specular() const
Returns specular color component.
void setShininess(float shininess)
Sets shininess of the surface.
void setAmbient(const QColor &ambient)
Sets ambient color component.
void setTextureRotation(float rotation)
Sets the texture rotation in degrees.
bool operator==(const QgsPhongTexturedMaterialSettings &other) const
The class is used as a container of context for various read/write operations on other objects.
QgsMaterialSettingsRenderingTechnique
Material rendering techniques 3.