mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
Don't show texture controls in terrain shading widget
This commit is contained in:
parent
ce13ca2007
commit
7c08046a47
@ -9,5 +9,7 @@ QgsAbstractMaterialSettings.InstancedPoints = QgsMaterialSettingsRenderingTechni
|
||||
QgsAbstractMaterialSettings.InstancedPoints.__doc__ = "Instanced based rendering, requiring triangles and point data"
|
||||
QgsAbstractMaterialSettings.Points = QgsMaterialSettingsRenderingTechnique.Points
|
||||
QgsAbstractMaterialSettings.Points.__doc__ = "Point based rendering, requires point data"
|
||||
QgsMaterialSettingsRenderingTechnique.__doc__ = 'Material rendering techniques\n\n.. versionadded:: 3.16\n\n' + '* ``Triangles``: ' + QgsMaterialSettingsRenderingTechnique.Triangles.__doc__ + '\n' + '* ``Lines``: ' + QgsMaterialSettingsRenderingTechnique.Lines.__doc__ + '\n' + '* ``InstancedPoints``: ' + QgsMaterialSettingsRenderingTechnique.InstancedPoints.__doc__ + '\n' + '* ``Points``: ' + QgsMaterialSettingsRenderingTechnique.Points.__doc__
|
||||
QgsAbstractMaterialSettings.Terrain = QgsMaterialSettingsRenderingTechnique.Terrain
|
||||
QgsAbstractMaterialSettings.Terrain.__doc__ = "Terrain rendering"
|
||||
QgsMaterialSettingsRenderingTechnique.__doc__ = 'Material rendering techniques\n\n.. versionadded:: 3.16\n\n' + '* ``Triangles``: ' + QgsMaterialSettingsRenderingTechnique.Triangles.__doc__ + '\n' + '* ``Lines``: ' + QgsMaterialSettingsRenderingTechnique.Lines.__doc__ + '\n' + '* ``InstancedPoints``: ' + QgsMaterialSettingsRenderingTechnique.InstancedPoints.__doc__ + '\n' + '* ``Points``: ' + QgsMaterialSettingsRenderingTechnique.Points.__doc__ + '\n' + '* ``Terrain``: ' + QgsMaterialSettingsRenderingTechnique.Terrain.__doc__
|
||||
# --
|
||||
|
@ -17,6 +17,7 @@ enum class QgsMaterialSettingsRenderingTechnique
|
||||
Lines,
|
||||
InstancedPoints,
|
||||
Points,
|
||||
Terrain,
|
||||
};
|
||||
|
||||
|
||||
|
@ -38,6 +38,7 @@ enum class QgsMaterialSettingsRenderingTechnique SIP_MONKEYPATCH_SCOPEENUM_UNNES
|
||||
Lines, //!< Line based rendering, requires line data
|
||||
InstancedPoints, //!< Instanced based rendering, requiring triangles and point data
|
||||
Points, //!< Point based rendering, requires point data
|
||||
Terrain, //!< Terrain rendering
|
||||
};
|
||||
|
||||
|
||||
|
@ -34,6 +34,7 @@ bool QgsGoochMaterialSettings::supportsTechnique( QgsMaterialSettingsRenderingTe
|
||||
switch ( technique )
|
||||
{
|
||||
case QgsMaterialSettingsRenderingTechnique::Triangles:
|
||||
case QgsMaterialSettingsRenderingTechnique::Terrain:
|
||||
return true;
|
||||
|
||||
case QgsMaterialSettingsRenderingTechnique::Lines:
|
||||
@ -81,6 +82,7 @@ Qt3DRender::QMaterial *QgsGoochMaterialSettings::toMaterial( QgsMaterialSettings
|
||||
switch ( technique )
|
||||
{
|
||||
case QgsMaterialSettingsRenderingTechnique::Triangles:
|
||||
case QgsMaterialSettingsRenderingTechnique::Terrain:
|
||||
{
|
||||
Qt3DExtras::QGoochMaterial *material = new Qt3DExtras::QGoochMaterial;
|
||||
material->setDiffuse( mDiffuse );
|
||||
|
@ -41,6 +41,7 @@ bool QgsPhongMaterialSettings::supportsTechnique( QgsMaterialSettingsRenderingTe
|
||||
case QgsMaterialSettingsRenderingTechnique::Lines:
|
||||
case QgsMaterialSettingsRenderingTechnique::InstancedPoints:
|
||||
case QgsMaterialSettingsRenderingTechnique::Points:
|
||||
case QgsMaterialSettingsRenderingTechnique::Terrain:
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@ -120,8 +121,8 @@ Qt3DRender::QMaterial *QgsPhongMaterialSettings::toMaterial( QgsMaterialSettings
|
||||
case QgsMaterialSettingsRenderingTechnique::Triangles:
|
||||
case QgsMaterialSettingsRenderingTechnique::InstancedPoints:
|
||||
case QgsMaterialSettingsRenderingTechnique::Points:
|
||||
case QgsMaterialSettingsRenderingTechnique::Terrain:
|
||||
{
|
||||
|
||||
bool fitsInCache = false;
|
||||
QImage textureSourceImage;
|
||||
|
||||
|
@ -105,7 +105,7 @@ Qgs3DMapConfigWidget::Qgs3DMapConfigWidget( Qgs3DMapSettings *map, QgsMapCanvas
|
||||
chkShowLightSourceOrigins->setChecked( mMap->showLightSourceOrigins() );
|
||||
|
||||
groupTerrainShading->setChecked( mMap->isTerrainShadingEnabled() );
|
||||
widgetTerrainMaterial->setDiffuseVisible( false );
|
||||
widgetTerrainMaterial->setTechnique( QgsMaterialSettingsRenderingTechnique::Terrain );
|
||||
QgsPhongMaterialSettings terrainShadingMaterial = mMap->terrainShadingMaterial();
|
||||
widgetTerrainMaterial->setSettings( &terrainShadingMaterial, nullptr );
|
||||
|
||||
|
@ -64,6 +64,21 @@ void QgsPhongMaterialWidget::setTechnique( QgsMaterialSettingsRenderingTechnique
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsMaterialSettingsRenderingTechnique::Terrain:
|
||||
{
|
||||
lblAmbient->setVisible( true );
|
||||
btnAmbient->setVisible( true );
|
||||
lblDiffuse->setVisible( false );
|
||||
btnDiffuse->setVisible( false );
|
||||
lblSpecular->setVisible( true );
|
||||
btnSpecular->setVisible( true );
|
||||
lblShininess->setVisible( true );
|
||||
spinShininess->setVisible( true );
|
||||
|
||||
activateTexturingUI( false );
|
||||
break;
|
||||
}
|
||||
|
||||
case QgsMaterialSettingsRenderingTechnique::Lines:
|
||||
{
|
||||
lblAmbient->setVisible( true );
|
||||
@ -97,17 +112,6 @@ void QgsPhongMaterialWidget::setTechnique( QgsMaterialSettingsRenderingTechnique
|
||||
}
|
||||
}
|
||||
|
||||
void QgsPhongMaterialWidget::setDiffuseVisible( bool visible )
|
||||
{
|
||||
lblDiffuse->setVisible( visible );
|
||||
btnDiffuse->setVisible( visible );
|
||||
}
|
||||
|
||||
bool QgsPhongMaterialWidget::isDiffuseVisible() const
|
||||
{
|
||||
return btnDiffuse->isVisible();
|
||||
}
|
||||
|
||||
void QgsPhongMaterialWidget::setSettings( const QgsAbstractMaterialSettings *settings, QgsVectorLayer * )
|
||||
{
|
||||
const QgsPhongMaterialSettings *phongMaterial = dynamic_cast< const QgsPhongMaterialSettings * >( settings );
|
||||
|
@ -34,13 +34,11 @@ class QgsPhongMaterialWidget : public QgsMaterialSettingsWidget, private Ui::Pho
|
||||
static QgsMaterialSettingsWidget *create();
|
||||
|
||||
void setTechnique( QgsMaterialSettingsRenderingTechnique technique ) override;
|
||||
|
||||
void setDiffuseVisible( bool visible );
|
||||
bool isDiffuseVisible() const;
|
||||
|
||||
void setSettings( const QgsAbstractMaterialSettings *settings, QgsVectorLayer *layer ) override;
|
||||
QgsAbstractMaterialSettings *settings() override;
|
||||
|
||||
private:
|
||||
|
||||
//! activates the texturing UI (to make sure texturing UI isn't visible when the user doesn't need it like in the 3D configuration window)
|
||||
void activateTexturingUI( bool activated );
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user