38           &QgsRendererMeshPropertiesWidget::syncToLayerPrivate );
 
   40  mMeshRendererActiveDatasetWidget->setLayer( mMeshLayer );
 
   41  mMeshRendererScalarSettingsWidget->setLayer( mMeshLayer );
 
   42  mNativeMeshSettingsWidget->setLayer( mMeshLayer, QgsMeshRendererMeshSettingsWidget::MeshType::Native );
 
   43  mTriangularMeshSettingsWidget->setLayer( mMeshLayer, QgsMeshRendererMeshSettingsWidget::MeshType::Triangular );
 
   44  mEdgeMeshSettingsWidget->setLayer( mMeshLayer, QgsMeshRendererMeshSettingsWidget::MeshType::Edge );
 
   45  mMeshRendererVectorSettingsWidget->setLayer( mMeshLayer );
 
   46  m3dAveragingSettingsWidget->setLayer( mMeshLayer );
 
   51  mBlendModeComboBox->setBlendMode( mMeshLayer->
blendMode() );
 
   52  connect( mBlendModeComboBox, 
static_cast<void ( QComboBox::* )( 
int )
>( &QComboBox::currentIndexChanged ), 
this, &
QgsPanelWidget::widgetChanged );
 
   54  mOpacityWidget->setOpacity( mMeshLayer->
opacity() );
 
   58           this, &QgsRendererMeshPropertiesWidget::onActiveScalarGroupChanged );
 
   60           this, &QgsRendererMeshPropertiesWidget::onActiveVectorGroupChanged );
 
   85  const bool edgeMeshRenderingIsEnabled = mEdgeMeshGroup->isChecked();
 
   87  edgeMeshSettings.
setEnabled( edgeMeshRenderingIsEnabled );
 
   90  const bool nativeMeshRenderingIsEnabled = mNativeMeshGroup->isChecked();
 
   92  nativeMeshSettings.
setEnabled( nativeMeshRenderingIsEnabled );
 
   95  const bool triangularMeshRenderingIsEnabled = mTriangularMeshGroup->isChecked();
 
   97  triangularMeshSettings.
setEnabled( triangularMeshRenderingIsEnabled );
 
  100  int activeScalarDatasetGroupIndex = mMeshRendererActiveDatasetWidget->activeScalarDatasetGroup();
 
  101  if ( !mContoursGroupBox->isChecked() )
 
  102    activeScalarDatasetGroupIndex = -1;
 
  105  int activeVectorDatasetGroupIndex = mMeshRendererActiveDatasetWidget->activeVectorDatasetGroup();
 
  106  if ( !mVectorsGroupBox->isChecked() )
 
  107    activeVectorDatasetGroupIndex = -1;
 
  115  if ( activeScalarDatasetGroupIndex > -1 )
 
  116    settings.
setScalarSettings( activeScalarDatasetGroupIndex, mMeshRendererScalarSettingsWidget->settings() );
 
  119  if ( activeVectorDatasetGroupIndex > -1 )
 
  120    settings.
setVectorSettings( activeVectorDatasetGroupIndex, mMeshRendererVectorSettingsWidget->settings() );
 
  128  mMeshLayer->
setBlendMode( mBlendModeComboBox->blendMode() );
 
  131  const std::unique_ptr<QgsMesh3dAveragingMethod> averagingMethod( m3dAveragingSettingsWidget->averagingMethod() );
 
  137  windowsSettings.
setValue( QStringLiteral( 
"/Windows/RendererMeshProperties/tab" ), mStyleOptionsTab->currentIndex() );
 
  142  QgsMeshLayer *ml = qobject_cast<QgsMeshLayer *>( mapLayer );
 
  146    mMeshRendererActiveDatasetWidget->setLayer( ml );
 
  150    m3dAveragingSettingsWidget->setLayer( ml );
 
  155  syncToLayerPrivate();
 
  158void QgsRendererMeshPropertiesWidget::syncToLayerPrivate()
 
  160  mMeshRendererActiveDatasetWidget->syncToLayer();
 
  161  mNativeMeshSettingsWidget->syncToLayer();
 
  162  mTriangularMeshSettingsWidget->syncToLayer();
 
  163  mEdgeMeshSettingsWidget->syncToLayer();
 
  164  m3dAveragingSettingsWidget->syncToLayer();
 
  173  const bool hasFaces = ( mMeshLayer->
contains( QgsMesh::ElementType::Face ) );
 
  174  mFaceMeshGroupBox->setVisible( hasFaces || !mMeshLayer->
isValid() );
 
  176  const bool hasEdges = ( mMeshLayer->
contains( QgsMesh::ElementType::Edge ) );
 
  177  mEdgeMeshGroupBox->setVisible( hasEdges || !mMeshLayer->
isValid() );
 
  180  if ( !settings.
contains( QStringLiteral( 
"/Windows/RendererMeshProperties/tab" ) ) )
 
  181    settings.
setValue( QStringLiteral( 
"/Windows/RendererMeshProperties/tab" ), 0 );
 
  183    mStyleOptionsTab->setCurrentIndex( settings.
value( QStringLiteral( 
"/Windows/RendererMeshProperties/tab" ) ).toInt() );
 
  186void QgsRendererMeshPropertiesWidget::onActiveScalarGroupChanged( 
int groupIndex )
 
  188  mMeshRendererScalarSettingsWidget->setActiveDatasetGroup( groupIndex );
 
  189  mMeshRendererScalarSettingsWidget->syncToLayer();
 
  190  mContoursGroupBox->setChecked( groupIndex >= 0 );
 
  191  mContoursGroupBox->setEnabled( groupIndex >= 0 );
 
  194void QgsRendererMeshPropertiesWidget::onActiveVectorGroupChanged( 
int groupIndex )
 
  198  mMeshRendererVectorSettingsWidget->setActiveDatasetGroup( groupIndex );
 
  199  mMeshRendererVectorSettingsWidget->syncToLayer();
 
  200  mVectorsGroupBox->setChecked( groupIndex >= 0 );
 
  201  mVectorsGroupBox->setEnabled( groupIndex >= 0 );
 
Map canvas is a class for displaying all GIS data types on a canvas.
 
Base class for all map layer types.
 
void setBlendMode(QPainter::CompositionMode blendMode)
Set the blending mode used for rendering a layer.
 
void triggerRepaint(bool deferredUpdate=false)
Will advise the map canvas (and any other interested party) that this layer requires to be repainted.
 
QPainter::CompositionMode blendMode() const
Returns the current blending mode for a layer.
 
virtual void setOpacity(double opacity)
Sets the opacity for the layer, where opacity is a value between 0 (totally transparent) and 1....
 
void dataChanged()
Data of layer changed.
 
QgsMeshDatasetIndex is index that identifies the dataset group (e.g.
 
int dataset() const
Returns a dataset index within group()
 
Represents a mesh layer supporting display of data on structured or unstructured meshes.
 
void setStaticVectorDatasetIndex(const QgsMeshDatasetIndex &staticVectorDatasetIndex)
Sets the static vector dataset index that is rendered if the temporal properties is not active.
 
void setStaticScalarDatasetIndex(const QgsMeshDatasetIndex &staticScalarDatasetIndex)
Sets the static scalar dataset index that is rendered if the temporal properties is not active.
 
bool contains(const QgsMesh::ElementType &type) const
Returns whether the mesh contains at mesh elements of given type.
 
QgsMeshRendererSettings rendererSettings() const
Returns renderer settings.
 
QgsMeshDatasetIndex staticVectorDatasetIndex() const
Returns the static vector dataset index that is rendered if the temporal properties is not active.
 
QgsMeshDatasetIndex staticScalarDatasetIndex() const
Returns the static scalar dataset index that is rendered if the temporal properties is not active.
 
void setRendererSettings(const QgsMeshRendererSettings &settings)
Sets new renderer settings.
 
QgsMeshDatasetGroupMetadata datasetGroupMetadata(const QgsMeshDatasetIndex &index) const
Returns the dataset groups metadata.
 
Represents a mesh renderer settings for mesh object.
 
void setEnabled(bool enabled)
Sets whether mesh structure rendering is enabled.
 
bool isEnabled() const
Returns whether mesh structure rendering is enabled.
 
Represents all mesh renderer settings.
 
void setActiveVectorDatasetGroup(int activeVectorDatasetGroup)
Sets the active vector dataset group.
 
int activeVectorDatasetGroup() const
Returns the active vector dataset group.
 
void setEdgeMeshSettings(const QgsMeshRendererMeshSettings &settings)
Sets new edge mesh renderer settings.
 
int activeScalarDatasetGroup() const
Returns the active scalar dataset group.
 
void setActiveScalarDatasetGroup(int activeScalarDatasetGroup)
Sets the active scalar dataset group.
 
void setVectorSettings(int groupIndex, const QgsMeshRendererVectorSettings &settings)
Sets new renderer settings.
 
void setTriangularMeshSettings(const QgsMeshRendererMeshSettings &settings)
Sets new triangular mesh renderer settings.
 
QgsMeshRendererMeshSettings edgeMeshSettings() const
Returns edge mesh renderer settings.
 
void setAveragingMethod(QgsMesh3dAveragingMethod *method)
Sets averaging method for conversion of 3d stacked mesh data to 2d data.
 
QgsMeshRendererMeshSettings nativeMeshSettings() const
Returns native mesh renderer settings.
 
void setScalarSettings(int groupIndex, const QgsMeshRendererScalarSettings &settings)
Sets new renderer settings.
 
QgsMeshRendererMeshSettings triangularMeshSettings() const
Returns triangular mesh renderer settings.
 
void setNativeMeshSettings(const QgsMeshRendererMeshSettings &settings)
Sets new native mesh renderer settings, triggers repaint.
 
static bool layerIsContainedInGroupLayer(QgsProject *project, QgsMapLayer *layer)
Returns true if the specified layer is a child layer from any QgsGroupLayer in the given project.
 
static QgsProject * instance()
Returns the QgsProject singleton instance.
 
This class is a composition of two QSettings instances:
 
QVariant value(const QString &key, const QVariant &defaultValue=QVariant(), Section section=NoSection) const
Returns the value for setting key.
 
bool contains(const QString &key, QgsSettings::Section section=QgsSettings::NoSection) const
Returns true if there exists a setting called key; returns false otherwise.
 
void setValue(const QString &key, const QVariant &value, QgsSettings::Section section=QgsSettings::NoSection)
Sets the value of setting key to value.