QGIS API Documentation 4.1.0-Master (9af12b5a203)
Loading...
Searching...
No Matches
Qgs3D Class Reference

A singleton class containing various registries and other global members related to 3D classes. More...

#include <qgs3d.h>

Public Member Functions

 Qgs3D (const Qgs3D &other)=delete
 ~Qgs3D ()
Qgs3Doperator= (const Qgs3D &other)=delete

Static Public Member Functions

static void addMaterialParametersToEffect (Qt3DRender::QEffect *effect, const QgsAbstractMaterialSettings *settings, const QgsMaterialContext &materialContext)
 Adds parameters from the material settings to a destination effect.
static void applyMaterialDataDefinedToGeometry (const QgsAbstractMaterialSettings *settings, Qt3DCore::QGeometry *geometry, int vertexCount, const QByteArray &dataDefinedBytes)
 Applies the data defined bytes, dataDefinedBytes, on the geometry by filling a specific vertex buffer that will be used by the shader.
static const QgsAbstractMaterial3DHandlerhandlerForMaterialSettings (const QgsAbstractMaterialSettings *settings)
 Returns the handler to use for a material settings.
static void initialize ()
 Initializes the 3D framework.
static Qgs3Dinstance ()
 Returns a pointer to the singleton instance.
static int materialDataDefinedByteStride (const QgsAbstractMaterialSettings *settings)
 Returns byte stride of the data defined colors,used to fill the vertex colors data defined buffer for rendering.
static QByteArray materialDataDefinedVertexColorsAsByte (const QgsAbstractMaterialSettings *settings, const QgsExpressionContext &expressionContext)
 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.
static QgsMaterialRegistrymaterialRegistry ()
 Returns the material registry, used for managing 3D materials.
static Qgs3DTerrainRegistryterrainRegistry ()
 Returns the terrain registry, used for managing 3D terrains.
static QgsMaterialtoMaterial (const QgsAbstractMaterialSettings *settings, Qgis::MaterialRenderingTechnique technique, const QgsMaterialContext &context)
 Creates a new QgsMaterial object representing the material settings.
static QMap< QString, QString > toMaterialExportParameters (const QgsAbstractMaterialSettings *settings)
 Returns the parameters to be exported to .mtl file.

Static Public Attributes

static constexpr int NUM_SHADOW_CASCADES = 4
 Number of shadow map cascades.
static const QgsSettingsEntryBoolsettingMsaaEnabled = new QgsSettingsEntryBool( u"msaa-enabled"_s, QgsSettingsTree::sTree3DMap, true, u"Whether MSAA is enabled for 3D map rendering"_s )
static const QgsSettingsEntryEnumFlag< Qgis::ShadowQuality > * settingShadowQuality = new QgsSettingsEntryEnumFlag<Qgis::ShadowQuality>( u"shadow-quality"_s, QgsSettingsTree::sTree3DMap, Qgis::ShadowQuality::High, u"Shadow rendering quality"_s )
static const QgsSettingsEntryEnumFlag< Qgis::TextureFilterQuality > * settingTextureFilterQuality = new QgsSettingsEntryEnumFlag<Qgis::TextureFilterQuality>( u"texture-filter"_s, QgsSettingsTree::sTree3DMap, Qgis::TextureFilterQuality::Anisotropic16x, u"Texture filter quality"_s )

Detailed Description

A singleton class containing various registries and other global members related to 3D classes.

Since
QGIS 3.16

Definition at line 55 of file qgs3d.h.

Constructor & Destructor Documentation

◆ Qgs3D()

Qgs3D::Qgs3D ( const Qgs3D & other)
delete

◆ ~Qgs3D()

Qgs3D::~Qgs3D ( )

Definition at line 66 of file qgs3d.cpp.

Member Function Documentation

◆ addMaterialParametersToEffect()

void Qgs3D::addMaterialParametersToEffect ( Qt3DRender::QEffect * effect,
const QgsAbstractMaterialSettings * settings,
const QgsMaterialContext & materialContext )
static

Adds parameters from the material settings to a destination effect.

Since
QGIS 4.2

Definition at line 170 of file qgs3d.cpp.

◆ applyMaterialDataDefinedToGeometry()

void Qgs3D::applyMaterialDataDefinedToGeometry ( const QgsAbstractMaterialSettings * settings,
Qt3DCore::QGeometry * geometry,
int vertexCount,
const QByteArray & dataDefinedBytes )
static

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

Since
QGIS 4.2

Definition at line 178 of file qgs3d.cpp.

◆ handlerForMaterialSettings()

const QgsAbstractMaterial3DHandler * Qgs3D::handlerForMaterialSettings ( const QgsAbstractMaterialSettings * settings)
static

Returns the handler to use for a material settings.

Definition at line 135 of file qgs3d.cpp.

◆ initialize()

void Qgs3D::initialize ( )
static

Initializes the 3D framework.

Definition at line 77 of file qgs3d.cpp.

◆ instance()

Qgs3D * Qgs3D::instance ( )
static

Returns a pointer to the singleton instance.

Definition at line 60 of file qgs3d.cpp.

◆ materialDataDefinedByteStride()

int Qgs3D::materialDataDefinedByteStride ( const QgsAbstractMaterialSettings * settings)
static

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

Since
QGIS 4.2

Definition at line 195 of file qgs3d.cpp.

◆ materialDataDefinedVertexColorsAsByte()

QByteArray Qgs3D::materialDataDefinedVertexColorsAsByte ( const QgsAbstractMaterialSettings * settings,
const QgsExpressionContext & expressionContext )
static

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.

Since
QGIS 4.2

Definition at line 186 of file qgs3d.cpp.

◆ materialRegistry()

QgsMaterialRegistry * Qgs3D::materialRegistry ( )
static

Returns the material registry, used for managing 3D materials.

Definition at line 125 of file qgs3d.cpp.

◆ operator=()

Qgs3D & Qgs3D::operator= ( const Qgs3D & other)
delete

◆ terrainRegistry()

Qgs3DTerrainRegistry * Qgs3D::terrainRegistry ( )
static

Returns the terrain registry, used for managing 3D terrains.

Definition at line 130 of file qgs3d.cpp.

◆ toMaterial()

QgsMaterial * Qgs3D::toMaterial ( const QgsAbstractMaterialSettings * settings,
Qgis::MaterialRenderingTechnique technique,
const QgsMaterialContext & context )
static

Creates a new QgsMaterial object representing the material settings.

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

Since
QGIS 4.2

Definition at line 152 of file qgs3d.cpp.

◆ toMaterialExportParameters()

QMap< QString, QString > Qgs3D::toMaterialExportParameters ( const QgsAbstractMaterialSettings * settings)
static

Returns the parameters to be exported to .mtl file.

Since
QGIS 4.2

Definition at line 161 of file qgs3d.cpp.

Member Data Documentation

◆ NUM_SHADOW_CASCADES

int Qgs3D::NUM_SHADOW_CASCADES = 4
staticconstexpr

Number of shadow map cascades.

Definition at line 135 of file qgs3d.h.

◆ settingMsaaEnabled

const QgsSettingsEntryBool * Qgs3D::settingMsaaEnabled = new QgsSettingsEntryBool( u"msaa-enabled"_s, QgsSettingsTree::sTree3DMap, true, u"Whether MSAA is enabled for 3D map rendering"_s )
static

Definition at line 58 of file qgs3d.h.

◆ settingShadowQuality

const QgsSettingsEntryEnumFlag< Qgis::ShadowQuality > * Qgs3D::settingShadowQuality = new QgsSettingsEntryEnumFlag<Qgis::ShadowQuality>( u"shadow-quality"_s, QgsSettingsTree::sTree3DMap, Qgis::ShadowQuality::High, u"Shadow rendering quality"_s )
static

Definition at line 60 of file qgs3d.h.

◆ settingTextureFilterQuality

const QgsSettingsEntryEnumFlag< Qgis::TextureFilterQuality > * Qgs3D::settingTextureFilterQuality = new QgsSettingsEntryEnumFlag<Qgis::TextureFilterQuality>( u"texture-filter"_s, QgsSettingsTree::sTree3DMap, Qgis::TextureFilterQuality::Anisotropic16x, u"Texture filter quality"_s )
static

Definition at line 59 of file qgs3d.h.


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