QGIS/python/PyQt6/3d/auto_generated/materials/qgsphongmaterialsettings.sip.in
Jean Felder 8dab246707
[3D] Use QGIS material for the terrain (#58134)
* terrain: Use PhongMaterialSettings material for the non texture case

There is no functional change. With this change, the terrain uses a
material defined by QGIS instead of a default Qt3D. This will make it
easier to customize the shader in the future.

* qgsphongmaterialsettings: Fix setShininess signature

`mShininess` is a double.

* qgsphongtexturedmaterialsettings: Use a double to store shininess

This is already waht QgsPhongTexturedMaterialSettings does. The reason
for this change is to avoid the user-set values changing for them when
saving/restoring projects.

* qgsphongtexturedmaterialsettings: Use a double to store opacity

This is already waht QgsPhongTexturedMaterialSettings does. The reason
for this change is to avoid the user-set values changing for them when
saving/restoring projects.

* qgsphongtexturedmaterialsettings: Do proper opacity cast in toMaterial

* qgsphongtexturedmaterialsettings: Factor out material creation

This introduces a new class `QgsPhongTexturedMaterial` which is
similar to Qt3D `QDiffuseSpecularMaterial`.
`QgsPhongTexturedMaterial::toMaterial()` now calls
`QgsPhongTexturedMaterial` to create the material. This has no
functional change.

This will make it possible to directly use `QgsPhongTexturedMaterial`
for the terrain in the next commit. Indeed, the texture case needs to
use a `QTexture2D` which cannot be stored in a settings class. This
issue is avoided by directly creating the material instead of using
`QgsPhongTexturedMaterial::toMaterial()`.

* qgsterraintileloader: Fix typo

* terrain: Use QgsPhongTexturedMaterial for shading texture

There is no functional change. With this change, the terrain uses a
material defined by QGIS instead of a default Qt3D. This will make it
easier to customize the shader in the future.

* 3d/material: Introduce QgsTextureMaterial

This is the same material as the qt3d one:
`Qt3DExtras::QTextureMaterial`. It will also be used in the following
commit by the terrain.

* terrain: Use QgsTextureMaterial for non shading texture

There is no functional change. With this change, the terrain uses a
material defined by QGIS instead of a default Qt3D. This will make it
easier to customize the shader in the future.
2024-08-19 23:01:06 +02:00

195 lines
5.0 KiB
Plaintext

/************************************************************************
* This file has been generated automatically from *
* *
* src/3d/materials/qgsphongmaterialsettings.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/
class QgsPhongMaterialSettings : QgsAbstractMaterialSettings
{
%Docstring(signature="appended")
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.
%End
%TypeHeaderCode
#include "qgsphongmaterialsettings.h"
%End
public:
QgsPhongMaterialSettings();
virtual QString type() const;
static bool supportsTechnique( QgsMaterialSettingsRenderingTechnique technique );
%Docstring
Returns ``True`` if the specified ``technique`` is supported by the Phong material.
%End
static QgsAbstractMaterialSettings *create() /Factory/;
%Docstring
Returns a new instance of QgsPhongMaterialSettings.
%End
virtual QgsPhongMaterialSettings *clone() const /Factory/;
QColor ambient() const;
%Docstring
Returns ambient color component
%End
QColor diffuse() const;
%Docstring
Returns diffuse color component
%End
QColor specular() const;
%Docstring
Returns specular color component
%End
double shininess() const;
%Docstring
Returns shininess of the surface
%End
double opacity() const;
%Docstring
Returns the opacity of the surface
.. versionadded:: 3.26
%End
double ambientCoefficient() const;
%Docstring
Returns the coefficient for the ambient color contribution (ie strength factor of the ambient color).
.. seealso:: :py:func:`setAmbientCoefficient`
.. seealso:: :py:func:`diffuseCoefficient`
.. seealso:: :py:func:`specularCoefficient`
.. versionadded:: 3.36
%End
double diffuseCoefficient() const;
%Docstring
Returns the coefficient for the diffuse color contribution (ie strength factor of the diffuse color).
.. seealso:: :py:func:`setDiffuseCoefficient`
.. seealso:: :py:func:`ambientCoefficient`
.. seealso:: :py:func:`specularCoefficient`
.. versionadded:: 3.36
%End
double specularCoefficient() const;
%Docstring
Returns the coefficient for the specular color contribution (ie strength factor of the specular color).
.. seealso:: :py:func:`setSpecularCoefficient`
.. seealso:: :py:func:`diffuseCoefficient`
.. seealso:: :py:func:`ambientCoefficient`
.. versionadded:: 3.36
%End
virtual QMap<QString, QString> toExportParameters() const;
void setAmbient( const QColor &ambient );
%Docstring
Sets ambient color component
%End
void setDiffuse( const QColor &diffuse );
%Docstring
Sets diffuse color component
%End
void setSpecular( const QColor &specular );
%Docstring
Sets specular color component
%End
void setShininess( double shininess );
%Docstring
Sets shininess of the surface
%End
void setOpacity( double opacity );
%Docstring
Sets opacity of the surface
.. versionadded:: 3.26
%End
void setAmbientCoefficient( double coefficient );
%Docstring
Sets the ``coefficient`` for the ambient color contribution (ie strength factor of the ambient color).
.. seealso:: :py:func:`ambientCoefficient`
.. seealso:: :py:func:`setDiffuseCoefficient`
.. seealso:: :py:func:`setSpecularCoefficient`
.. versionadded:: 3.36
%End
void setDiffuseCoefficient( double coefficient );
%Docstring
Sets the ``coefficient`` for the diffuse color contribution (ie strength factor of the diffuse color).
.. seealso:: :py:func:`diffuseCoefficient`
.. seealso:: :py:func:`setAmbientCoefficient`
.. seealso:: :py:func:`setSpecularCoefficient`
.. versionadded:: 3.36
%End
void setSpecularCoefficient( double coefficient );
%Docstring
Sets the ``coefficient`` for the specular color contribution (ie strength factor of the specular color).
.. seealso:: :py:func:`specularCoefficient`
.. seealso:: :py:func:`setDiffuseCoefficient`
.. seealso:: :py:func:`setAmbientCoefficient`
.. versionadded:: 3.36
%End
virtual void readXml( const QDomElement &elem, const QgsReadWriteContext &context );
virtual void writeXml( QDomElement &elem, const QgsReadWriteContext &context ) const;
bool operator==( const QgsPhongMaterialSettings &other ) const;
};
/************************************************************************
* This file has been generated automatically from *
* *
* src/3d/materials/qgsphongmaterialsettings.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.py again *
************************************************************************/