QGIS API Documentation 3.41.0-Master (3440c17df1d)
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
QgsPhongMaterialSettings Class Reference

3 More...

#include <qgsphongmaterialsettings.h>

Inheritance diagram for QgsPhongMaterialSettings:
Inheritance graph
[legend]

Public Member Functions

 QgsPhongMaterialSettings ()=default
 
void addParametersToEffect (Qt3DRender::QEffect *effect, const QgsMaterialContext &materialContext) const override
 Adds parameters from the material to a destination effect.
 
QColor ambient () const
 Returns ambient color component.
 
double ambientCoefficient () const
 Returns the coefficient for the ambient color contribution (ie strength factor of the ambient color).
 
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.
 
QgsPhongMaterialSettingsclone () const override
 Clones the material settings.
 
int dataDefinedByteStride () const override
 Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering.
 
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.
 
QColor diffuse () const
 Returns diffuse color component.
 
double diffuseCoefficient () const
 Returns the coefficient for the diffuse color contribution (ie strength factor of the diffuse color).
 
double opacity () const
 Returns the opacity of the surface.
 
bool operator== (const QgsPhongMaterialSettings &other) const
 
void readXml (const QDomElement &elem, const QgsReadWriteContext &context) override
 Reads settings from a DOM element.
 
void setAmbient (const QColor &ambient)
 Sets ambient color component.
 
void setAmbientCoefficient (double coefficient)
 Sets the coefficient for the ambient color contribution (ie strength factor of the ambient color).
 
void setDiffuse (const QColor &diffuse)
 Sets diffuse color component.
 
void setDiffuseCoefficient (double coefficient)
 Sets the coefficient for the diffuse color contribution (ie strength factor of the diffuse color).
 
void setOpacity (double opacity)
 Sets opacity of the surface.
 
void setShininess (double shininess)
 Sets shininess of the surface.
 
void setSpecular (const QColor &specular)
 Sets specular color component.
 
void setSpecularCoefficient (double coefficient)
 Sets the coefficient for the specular color contribution (ie strength factor of the specular color).
 
double shininess () const
 Returns shininess of the surface.
 
QColor specular () const
 Returns specular color component.
 
double specularCoefficient () const
 Returns the coefficient for the specular color contribution (ie strength factor of the specular color).
 
QMap< QString, QString > toExportParameters () const override
 Returns the parameters to be exported to .mtl file.
 
QgsMaterialtoMaterial (QgsMaterialSettingsRenderingTechnique technique, const QgsMaterialContext &context) const override
 Creates a new QgsMaterial object representing the material settings.
 
QString type () const override
 Returns the unique type name for the material.
 
void writeXml (QDomElement &elem, const QgsReadWriteContext &context) const override
 Writes settings to a DOM element.
 
- Public Member Functions inherited from QgsAbstractMaterialSettings
virtual ~QgsAbstractMaterialSettings ()=default
 
QgsPropertyCollection dataDefinedProperties () const
 Returns the symbol material property collection, used for data defined overrides.
 
const QgsPropertiesDefinitionpropertyDefinitions () const
 Returns a reference to the material properties definition, used for data defined overrides.
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the material property collection, used for data defined overrides.
 

Static Public Member Functions

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

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.

Definition at line 36 of file qgsphongmaterialsettings.h.

Constructor & Destructor Documentation

◆ QgsPhongMaterialSettings()

QgsPhongMaterialSettings::QgsPhongMaterialSettings ( )
default

Member Function Documentation

◆ addParametersToEffect()

void QgsPhongMaterialSettings::addParametersToEffect ( Qt3DRender::QEffect *  effect,
const QgsMaterialContext materialContext 
) const
overridevirtual

Adds parameters from the material to a destination effect.

Implements QgsAbstractMaterialSettings.

Definition at line 136 of file qgsphongmaterialsettings.cpp.

◆ ambient()

QColor QgsPhongMaterialSettings::ambient ( ) const
inline

Returns ambient color component.

Definition at line 57 of file qgsphongmaterialsettings.h.

◆ ambientCoefficient()

double QgsPhongMaterialSettings::ambientCoefficient ( ) const
inline

Returns the coefficient for the ambient color contribution (ie strength factor of the ambient color).

See also
setAmbientCoefficient()
diffuseCoefficient()
specularCoefficient()
Since
QGIS 3.36

Definition at line 80 of file qgsphongmaterialsettings.h.

◆ applyDataDefinedToGeometry()

void QgsPhongMaterialSettings::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 212 of file qgsphongmaterialsettings.cpp.

◆ clone()

QgsPhongMaterialSettings * QgsPhongMaterialSettings::clone ( ) const
overridevirtual

Clones the material settings.

Caller takes ownership of the returned object.

Implements QgsAbstractMaterialSettings.

Definition at line 72 of file qgsphongmaterialsettings.cpp.

◆ create()

QgsAbstractMaterialSettings * QgsPhongMaterialSettings::create ( )
static

Returns a new instance of QgsPhongMaterialSettings.

Definition at line 67 of file qgsphongmaterialsettings.cpp.

◆ dataDefinedByteStride()

int QgsPhongMaterialSettings::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 210 of file qgsphongmaterialsettings.cpp.

◆ dataDefinedVertexColorsAsByte()

QByteArray QgsPhongMaterialSettings::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 163 of file qgsphongmaterialsettings.cpp.

◆ diffuse()

QColor QgsPhongMaterialSettings::diffuse ( ) const
inline

Returns diffuse color component.

Definition at line 59 of file qgsphongmaterialsettings.h.

◆ diffuseCoefficient()

double QgsPhongMaterialSettings::diffuseCoefficient ( ) const
inline

Returns the coefficient for the diffuse color contribution (ie strength factor of the diffuse color).

See also
setDiffuseCoefficient()
ambientCoefficient()
specularCoefficient()
Since
QGIS 3.36

Definition at line 91 of file qgsphongmaterialsettings.h.

◆ opacity()

double QgsPhongMaterialSettings::opacity ( ) const
inline

Returns the opacity of the surface.

Since
QGIS 3.26

Definition at line 69 of file qgsphongmaterialsettings.h.

◆ operator==()

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

Definition at line 171 of file qgsphongmaterialsettings.h.

◆ readXml()

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

Reads settings from a DOM element.

Reimplemented from QgsAbstractMaterialSettings.

Definition at line 77 of file qgsphongmaterialsettings.cpp.

◆ setAmbient()

void QgsPhongMaterialSettings::setAmbient ( const QColor &  ambient)
inline

Sets ambient color component.

Definition at line 107 of file qgsphongmaterialsettings.h.

◆ setAmbientCoefficient()

void QgsPhongMaterialSettings::setAmbientCoefficient ( double  coefficient)
inline

Sets the coefficient for the ambient color contribution (ie strength factor of the ambient color).

See also
ambientCoefficient()
setDiffuseCoefficient()
setSpecularCoefficient()
Since
QGIS 3.36

Definition at line 130 of file qgsphongmaterialsettings.h.

◆ setDiffuse()

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

Sets diffuse color component.

Definition at line 109 of file qgsphongmaterialsettings.h.

◆ setDiffuseCoefficient()

void QgsPhongMaterialSettings::setDiffuseCoefficient ( double  coefficient)
inline

Sets the coefficient for the diffuse color contribution (ie strength factor of the diffuse color).

See also
diffuseCoefficient()
setAmbientCoefficient()
setSpecularCoefficient()
Since
QGIS 3.36

Definition at line 141 of file qgsphongmaterialsettings.h.

◆ setOpacity()

void QgsPhongMaterialSettings::setOpacity ( double  opacity)
inline

Sets opacity of the surface.

Since
QGIS 3.26

Definition at line 119 of file qgsphongmaterialsettings.h.

◆ setShininess()

void QgsPhongMaterialSettings::setShininess ( double  shininess)
inline

Sets shininess of the surface.

Definition at line 113 of file qgsphongmaterialsettings.h.

◆ setSpecular()

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

Sets specular color component.

Definition at line 111 of file qgsphongmaterialsettings.h.

◆ setSpecularCoefficient()

void QgsPhongMaterialSettings::setSpecularCoefficient ( double  coefficient)
inline

Sets the coefficient for the specular color contribution (ie strength factor of the specular color).

See also
specularCoefficient()
setDiffuseCoefficient()
setAmbientCoefficient()
Since
QGIS 3.36

Definition at line 152 of file qgsphongmaterialsettings.h.

◆ shininess()

double QgsPhongMaterialSettings::shininess ( ) const
inline

Returns shininess of the surface.

Definition at line 63 of file qgsphongmaterialsettings.h.

◆ specular()

QColor QgsPhongMaterialSettings::specular ( ) const
inline

Returns specular color component.

Definition at line 61 of file qgsphongmaterialsettings.h.

◆ specularCoefficient()

double QgsPhongMaterialSettings::specularCoefficient ( ) const
inline

Returns the coefficient for the specular color contribution (ie strength factor of the specular color).

See also
setSpecularCoefficient()
diffuseCoefficient()
ambientCoefficient()
Since
QGIS 3.36

Definition at line 102 of file qgsphongmaterialsettings.h.

◆ supportsTechnique()

bool QgsPhongMaterialSettings::supportsTechnique ( QgsMaterialSettingsRenderingTechnique  technique)
static

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

Definition at line 49 of file qgsphongmaterialsettings.cpp.

◆ toExportParameters()

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

Returns the parameters to be exported to .mtl file.

Implements QgsAbstractMaterialSettings.

Definition at line 126 of file qgsphongmaterialsettings.cpp.

◆ toMaterial()

QgsMaterial * QgsPhongMaterialSettings::toMaterial ( QgsMaterialSettingsRenderingTechnique  technique,
const QgsMaterialContext context 
) const
overridevirtual

Creates a new QgsMaterial 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 106 of file qgsphongmaterialsettings.cpp.

◆ type()

QString QgsPhongMaterialSettings::type ( ) const
overridevirtual

Returns the unique type name for the material.

Implements QgsAbstractMaterialSettings.

Definition at line 44 of file qgsphongmaterialsettings.cpp.

◆ writeXml()

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

Writes settings to a DOM element.

Reimplemented from QgsAbstractMaterialSettings.

Definition at line 91 of file qgsphongmaterialsettings.cpp.


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