QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Member Functions | Static Public Member Functions | List of all members
QgsGoochMaterialSettings Class Reference

3 More...

#include <qgsgoochmaterialsettings.h>

Inheritance diagram for QgsGoochMaterialSettings:
Inheritance graph
[legend]

Public Member Functions

 QgsGoochMaterialSettings ()=default
 Constructor for QgsGoochMaterialSettings. More...
 
void addParametersToEffect (Qt3DRender::QEffect *effect) const override
 Adds parameters from the material to a destination effect. More...
 
float alpha () const
 Returns the alpha value. More...
 
void applyDataDefinedToGeometry (Qt3DCore::QGeometry *geometry, int vertexCount, const QByteArray &data) const override
 Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer that will be used by the shader. More...
 
float beta () const
 Returns the beta value. More...
 
QgsGoochMaterialSettingsclone () const override
 Clones the material settings. More...
 
QColor cool () const
 Returns cool color component. More...
 
int dataDefinedByteStride () const override
 Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering. More...
 
QByteArray dataDefinedVertexColorsAsByte (const QgsExpressionContext &expressionContext) const override
 Returns byte array corresponding to the data defined colors depending of the expressionContext, used to fill the specific vertex buffer used for rendering the geometry. More...
 
QColor diffuse () const
 Returns diffuse color component. More...
 
bool operator== (const QgsGoochMaterialSettings &other) const
 
void readXml (const QDomElement &elem, const QgsReadWriteContext &context) override
 Reads settings from a DOM element. More...
 
void setAlpha (float alpha)
 Sets alpha value. More...
 
void setBeta (float beta)
 Sets beta value. More...
 
void setCool (const QColor &cool)
 Sets cool color component. More...
 
void setDiffuse (const QColor &diffuse)
 Sets diffuse color component. More...
 
void setShininess (float shininess)
 Sets shininess of the surface. More...
 
void setSpecular (const QColor &specular)
 Sets specular color component. More...
 
void setWarm (const QColor &warm)
 Sets warm color component. More...
 
float shininess () const
 Returns shininess of the surface. More...
 
QColor specular () const
 Returns specular color component. More...
 
QMap< QString, QString > toExportParameters () const override
 Returns the parameters to be exported to .mtl file. More...
 
Qt3DRender::QMaterial * toMaterial (QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const override
 Creates a new QMaterial object representing the material settings. More...
 
QString type () const override
 Returns the unique type name for the material. More...
 
QColor warm () const
 Returns warm color component. More...
 
void writeXml (QDomElement &elem, const QgsReadWriteContext &context) const override
 Writes settings to a DOM element. More...
 
- Public Member Functions inherited from QgsAbstractMaterialSettings
virtual ~QgsAbstractMaterialSettings ()=default
 
virtual void addParametersToEffect (Qt3DRender::QEffect *effect) const =0
 Adds parameters from the material to a destination effect. More...
 
virtual void applyDataDefinedToGeometry (Qt3DCore::QGeometry *geometry, int vertexCount, const QByteArray &dataDefinedBytes) const
 Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer that will be used by the shader. More...
 
virtual QgsAbstractMaterialSettingsclone () const =0
 Clones the material settings. More...
 
virtual int dataDefinedByteStride () const
 Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering. More...
 
QgsPropertyCollection dataDefinedProperties () const
 Returns the symbol material property collection, used for data defined overrides. More...
 
virtual QByteArray dataDefinedVertexColorsAsByte (const QgsExpressionContext &expressionContext) const
 Returns byte array corresponding to the data defined colors depending of the expressionContext, used to fill the specific vertex buffer used for rendering the geometry. More...
 
const QgsPropertiesDefinitionpropertyDefinitions () const
 Returns a reference to the material properties definition, used for data defined overrides. More...
 
virtual void readXml (const QDomElement &element, const QgsReadWriteContext &)
 Reads settings from a DOM element. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the material property collection, used for data defined overrides. More...
 
virtual QMap< QString, QString > toExportParameters () const =0
 Returns the parameters to be exported to .mtl file. More...
 
virtual Qt3DRender::QMaterial * toMaterial (QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const =0
 Creates a new QMaterial object representing the material settings. More...
 
virtual QString type () const =0
 Returns the unique type name for the material. More...
 
virtual void writeXml (QDomElement &element, const QgsReadWriteContext &) const
 Writes settings to a DOM element. More...
 

Static Public Member Functions

static QgsAbstractMaterialSettingscreate ()
 Returns a new instance of QgsGoochMaterialSettings. More...
 
static bool supportsTechnique (QgsMaterialSettingsRenderingTechnique technique)
 Returns true if the specified technique is supported by the Gooch material. More...
 

Additional Inherited Members

- Public Types inherited from QgsAbstractMaterialSettings
enum class  Property : int {
  Diffuse , Ambient , Warm , Cool ,
  Specular
}
 Data definable properties. More...
 

Detailed Description

3

Basic shading material used for rendering based on the Phong shading model with three color components: ambient, diffuse and specular.

Warning
This is not considered stable API, and may change in future QGIS releases. It is exposed to the Python bindings as a tech preview only.
Since
QGIS 3.16

Definition at line 36 of file qgsgoochmaterialsettings.h.

Constructor & Destructor Documentation

◆ QgsGoochMaterialSettings()

QgsGoochMaterialSettings::QgsGoochMaterialSettings ( )
default

Constructor for QgsGoochMaterialSettings.

Member Function Documentation

◆ addParametersToEffect()

void QgsGoochMaterialSettings::addParametersToEffect ( Qt3DRender::QEffect *  effect) const
overridevirtual

Adds parameters from the material to a destination effect.

Implements QgsAbstractMaterialSettings.

Definition at line 144 of file qgsgoochmaterialsettings.cpp.

◆ alpha()

float QgsGoochMaterialSettings::alpha ( ) const
inline

Returns the alpha value.

Definition at line 73 of file qgsgoochmaterialsettings.h.

◆ applyDataDefinedToGeometry()

void QgsGoochMaterialSettings::applyDataDefinedToGeometry ( Qt3DCore::QGeometry *  geometry,
int  vertexCount,
const QByteArray &  dataDefinedBytes 
) const
overridevirtual

Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer that will be used by the shader.

Since
QGIS 3.18

Reimplemented from QgsAbstractMaterialSettings.

Definition at line 185 of file qgsgoochmaterialsettings.cpp.

◆ beta()

float QgsGoochMaterialSettings::beta ( ) const
inline

Returns the beta value.

Definition at line 76 of file qgsgoochmaterialsettings.h.

◆ clone()

QgsGoochMaterialSettings * QgsGoochMaterialSettings::clone ( ) const
overridevirtual

Clones the material settings.

Caller takes ownership of the returned object.

Implements QgsAbstractMaterialSettings.

Definition at line 71 of file qgsgoochmaterialsettings.cpp.

◆ cool()

QColor QgsGoochMaterialSettings::cool ( ) const
inline

Returns cool color component.

Definition at line 63 of file qgsgoochmaterialsettings.h.

◆ create()

QgsAbstractMaterialSettings * QgsGoochMaterialSettings::create ( )
static

Returns a new instance of QgsGoochMaterialSettings.

Definition at line 48 of file qgsgoochmaterialsettings.cpp.

◆ dataDefinedByteStride()

int QgsGoochMaterialSettings::dataDefinedByteStride ( ) const
overridevirtual

Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering.

Since
QGIS 3.18

Reimplemented from QgsAbstractMaterialSettings.

Definition at line 180 of file qgsgoochmaterialsettings.cpp.

◆ dataDefinedVertexColorsAsByte()

QByteArray QgsGoochMaterialSettings::dataDefinedVertexColorsAsByte ( const QgsExpressionContext expressionContext) const
overridevirtual

Returns byte array corresponding to the data defined colors depending of the expressionContext, used to fill the specific vertex buffer used for rendering the geometry.

See also
applyDataDefinedToGeometry()
Since
QGIS 3.18

Reimplemented from QgsAbstractMaterialSettings.

Definition at line 148 of file qgsgoochmaterialsettings.cpp.

◆ diffuse()

QColor QgsGoochMaterialSettings::diffuse ( ) const
inline

Returns diffuse color component.

Definition at line 66 of file qgsgoochmaterialsettings.h.

◆ operator==()

bool QgsGoochMaterialSettings::operator== ( const QgsGoochMaterialSettings other) const
inline

Definition at line 116 of file qgsgoochmaterialsettings.h.

◆ readXml()

void QgsGoochMaterialSettings::readXml ( const QDomElement &  element,
const QgsReadWriteContext  
)
overridevirtual

Reads settings from a DOM element.

Reimplemented from QgsAbstractMaterialSettings.

Definition at line 76 of file qgsgoochmaterialsettings.cpp.

◆ setAlpha()

void QgsGoochMaterialSettings::setAlpha ( float  alpha)
inline

Sets alpha value.

Definition at line 92 of file qgsgoochmaterialsettings.h.

◆ setBeta()

void QgsGoochMaterialSettings::setBeta ( float  beta)
inline

Sets beta value.

Definition at line 95 of file qgsgoochmaterialsettings.h.

◆ setCool()

void QgsGoochMaterialSettings::setCool ( const QColor &  cool)
inline

Sets cool color component.

Definition at line 82 of file qgsgoochmaterialsettings.h.

◆ setDiffuse()

void QgsGoochMaterialSettings::setDiffuse ( const QColor &  diffuse)
inline

Sets diffuse color component.

Definition at line 85 of file qgsgoochmaterialsettings.h.

◆ setShininess()

void QgsGoochMaterialSettings::setShininess ( float  shininess)
inline

Sets shininess of the surface.

Definition at line 89 of file qgsgoochmaterialsettings.h.

◆ setSpecular()

void QgsGoochMaterialSettings::setSpecular ( const QColor &  specular)
inline

Sets specular color component.

Definition at line 87 of file qgsgoochmaterialsettings.h.

◆ setWarm()

void QgsGoochMaterialSettings::setWarm ( const QColor &  warm)
inline

Sets warm color component.

Definition at line 79 of file qgsgoochmaterialsettings.h.

◆ shininess()

float QgsGoochMaterialSettings::shininess ( ) const
inline

Returns shininess of the surface.

Definition at line 70 of file qgsgoochmaterialsettings.h.

◆ specular()

QColor QgsGoochMaterialSettings::specular ( ) const
inline

Returns specular color component.

Definition at line 68 of file qgsgoochmaterialsettings.h.

◆ supportsTechnique()

bool QgsGoochMaterialSettings::supportsTechnique ( QgsMaterialSettingsRenderingTechnique  technique)
static

Returns true if the specified technique is supported by the Gooch material.

Definition at line 53 of file qgsgoochmaterialsettings.cpp.

◆ toExportParameters()

QMap< QString, QString > QgsGoochMaterialSettings::toExportParameters ( ) const
overridevirtual

Returns the parameters to be exported to .mtl file.

Implements QgsAbstractMaterialSettings.

Definition at line 102 of file qgsgoochmaterialsettings.cpp.

◆ toMaterial()

Qt3DRender::QMaterial * QgsGoochMaterialSettings::toMaterial ( QgsMaterialSettingsRenderingTechnique  technique,
const QgsMaterialContext context 
) const
overridevirtual

Creates a new QMaterial object representing the material settings.

The technique argument specifies the rendering technique which will be used with the returned material.

Implements QgsAbstractMaterialSettings.

Definition at line 107 of file qgsgoochmaterialsettings.cpp.

◆ type()

QString QgsGoochMaterialSettings::type ( ) const
overridevirtual

Returns the unique type name for the material.

Implements QgsAbstractMaterialSettings.

Definition at line 43 of file qgsgoochmaterialsettings.cpp.

◆ warm()

QColor QgsGoochMaterialSettings::warm ( ) const
inline

Returns warm color component.

Definition at line 60 of file qgsgoochmaterialsettings.h.

◆ writeXml()

void QgsGoochMaterialSettings::writeXml ( QDomElement &  element,
const QgsReadWriteContext  
) const
overridevirtual

Writes settings to a DOM element.

Reimplemented from QgsAbstractMaterialSettings.

Definition at line 89 of file qgsgoochmaterialsettings.cpp.


The documentation for this class was generated from the following files: